Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
aaedaaa
update eso to 2.10.0 (#1461)
markxnelson Sep 3, 2026
f2efefe
Update versions (#1462)
andytael Sep 3, 2026
a2a39bf
2.1.2 docs (#1463)
andytael Sep 3, 2026
0d0c910
2.1.2 updates and version fix (#1465)
andytael Sep 8, 2026
0f4f617
Version updates (#1467)
andytael Sep 9, 2026
daab858
Update docs for VPSAT (#1469)
andytael Sep 9, 2026
9766fae
KSM update (#1470)
andytael Sep 9, 2026
2cb6bc7
Fix typo
andytael Sep 10, 2026
d7223e1
Strimzi 1.2.0 (#1475)
anders-swanson Sep 11, 2026
445384d
OraOper (#1476)
gotsysdba Sep 14, 2026
aae1341
Kafka 4.3.1 (#1480)
anders-swanson Sep 14, 2026
c5fd196
Signoz Upgrade (#1482)
anders-swanson Sep 14, 2026
a984332
signoz upgrade dashboard cleanup (#1483)
anders-swanson Sep 14, 2026
67e80f0
Curl version update (#1484)
andytael Sep 14, 2026
4b4f125
Coherence Operator update (#1485)
andytael Sep 14, 2026
8838130
Document HTML tables in docs (#1486)
anders-swanson Sep 14, 2026
1150ee2
Update Envoy (#1488)
andytael Sep 15, 2026
4f657e4
Fix duplicate signoz key in values-kafka.yaml example
andytael Sep 15, 2026
ef8ac35
Add missing database.persistence defaults
andytael Sep 15, 2026
598550f
Comment out stale stage1 SigNoz upgrade test superseded by destructiv…
andytael Sep 15, 2026
56d28cb
Fix stale two-stage SigNoz upgrade docs to match destructive-replace …
andytael Sep 15, 2026
31857c3
Bump otel collector contrib versions (#1489)
anders-swanson Sep 16, 2026
5b92d96
Update dangling refs to old otel image (#1493)
anders-swanson Sep 17, 2026
07cdff2
Option for Coherence (#1492)
gotsysdba Sep 17, 2026
1ba8888
Update Tests for IaC (#1491)
gotsysdba Sep 17, 2026
98faa80
Merge branch 'main' into 2.1.2-dev
andytael Sep 17, 2026
76e196a
Merge branch 'main' into 2.1.2-dev
andytael Sep 17, 2026
e05320d
Merge branch 'main' into 2.1.2-dev
andytael Sep 17, 2026
3913154
Update MicroTX vertsion (#1522)
andytael Sep 17, 2026
70d02db
update cert-manager (#1523)
markxnelson Sep 17, 2026
f0150bf
Update the images version file (#1524)
andytael Sep 17, 2026
6596870
Merge remote-tracking branch 'origin/main' into 2.1.2-dev
andytael Sep 18, 2026
5302e62
Merge remote-tracking branch 'origin/2.1.2-dev' into 2.1.2-dev
andytael Sep 18, 2026
2a73d5b
Signoz 0.142.1 (#1527)
anders-swanson Sep 18, 2026
0454def
signoz/zookeeper 3.8.4 (#1529)
anders-swanson Sep 18, 2026
c60ee68
Merge branch 'main' into 2.1.2-dev
andytael Sep 18, 2026
b9abd63
Update OKE terraform version (#1531)
andytael Sep 18, 2026
175eff9
Default tracing (#1550)
anders-swanson Sep 24, 2026
53024cb
Merge branch 'main' into 2.1.2-dev
andytael Sep 25, 2026
655b606
Merge branch 'main' into 2.1.2-dev
andytael Sep 25, 2026
0b0e8dc
Merge branch 'main' into 2.1.2-dev
andytael Sep 26, 2026
d1d52b8
Update sqlcl to latest version
andytael Sep 28, 2026
361143b
Merge branch 'main' into 2.1.2-dev
andytael Sep 29, 2026
d692e4d
Version updates
andytael Oct 2, 2026
e0b423b
Merge branch 'main' into 2.1.2-dev
andytael Oct 5, 2026
9874696
Merge branch 'main' into 2.1.2-dev
andytael Oct 6, 2026
29454fc
Merge branch 'main' into 2.1.2-dev
andytael Oct 6, 2026
49f202f
Merge branch 'main' into 2.1.2-dev
andytael Oct 7, 2026
f6247fa
k8s newer version, IMDSV2 enabled
andytael Oct 8, 2026
1446cd4
Fix CBv5 tests and agent docu
andytael Oct 8, 2026
6cc601b
CBv5 version updates
andytael Oct 8, 2026
09a8d59
Signoz custom dashboards documentation (#1572)
anders-swanson Oct 14, 2026
f26cbab
Signoz Custom dashboards (#1571)
anders-swanson Oct 14, 2026
678ec9f
Update OTMM EE upgrade docu
andytael Oct 14, 2026
c8dd6fb
Fix liniting
andytael Oct 14, 2026
cdb2693
Upgrade to 2.1.2 and mictrotx ee (#1573)
anders-swanson Oct 14, 2026
11c1043
Add OCI build script for ORM (#1574)
andytael Oct 15, 2026
3801b40
image tag updates during 2.1.2 final testing (#1575)
markxnelson Oct 19, 2026
93a551e
version dashboard chart to match obaas release (#1578)
markxnelson Oct 19, 2026
793549c
Signoz SQLSTORE (#1581)
anders-swanson Oct 22, 2026
95f9a29
Signoz sizing (#1582)
anders-swanson Oct 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 29 additions & 0 deletions .github/actions/setup-helm/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Setup Helm
description: Install a SHA-pinned Helm release via the upstream get-helm-3 script

inputs:
version:
description: Helm CLI release tag (e.g. v4.1.4)
required: false
default: v4.1.4
sha256:
description: Expected SHA-256 of the upstream get-helm-3 script for the pinned version
required: false
default: 38b65f882d9cae3891755bdb03becc6a01ae6f9cb24826c191f219ddfee70a5d

runs:
using: composite
steps:
- name: Install Helm (${{ inputs.version }})
shell: bash
run: |
set -euo pipefail
script=$(mktemp)
curl -fsSL -o "$script" "https://raw.githubusercontent.com/helm/helm/${{ inputs.version }}/scripts/get-helm-3"
actual=$(sha256sum "$script" | cut -d' ' -f1)
if [ "$actual" != "${{ inputs.sha256 }}" ]; then
echo "::error::helm install script hash mismatch (expected ${{ inputs.sha256 }}, got $actual)"
exit 1
fi
bash "$script" --version "${{ inputs.version }}"
helm version --short
12 changes: 12 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Workflows

## dependency-checks

Validates PRs touching `docs-source/site/` or `data-refactoring-advisor/`, including
Dependabot updates. Each project runs only when its files change; changes to the
workflow itself and manual runs validate both projects.

The docs job uses Node 22 for a locked install, typecheck, and production build.
The advisor job uses Python 3.12 to install requirements, check dependency
compatibility, compile source, and run unit tests covering SQL parsing, community
detection, configuration loading, and the Streamlit landing page. Database and
LLM integration require separate testing with live services.

## obaas-base-image

This workflow takes the GraalVM image from Oracle Container Registry, scans for vulnerabilities, applies the latest OS patches, and stages the new image in ghcr.io for use with the OBaaS Platform.
Expand Down
181 changes: 181 additions & 0 deletions .github/workflows/helm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
# Workflow for validating the Helm chart and its contract tests
# spell-checker: disable
name: Helm Tests

on:
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
paths:
- "helm/**"
- ".github/actions/setup-helm/**"
- ".github/workflows/helm.yml"

# Allows running this workflow manually
workflow_dispatch:

concurrency:
group: helm-${{ github.ref }}
cancel-in-progress: true

jobs:
check-helm:
if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
runs-on: ubuntu-latest
permissions:
contents: read
env:
CHART_DIR: helm/infra-charts/obaas
PREREQS_CHART_DIR: helm/infra-charts/obaas-prereqs
HELM_KUBE_VERSION: "1.36.0"

steps:
- name: Checkout Code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- name: Install Python tooling
run: pip install yamllint pytest pyyaml requests

- uses: ./.github/actions/setup-helm

- name: Run yamllint
run: yamllint helm/

# Cache the packaged subchart tarballs in both infrastructure charts.
# Key on Chart.lock so the cache is invalidated exactly when the
# locked dependency version changes (the only time we want a miss).
- name: Cache helm subcharts
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
helm/infra-charts/obaas/charts
helm/infra-charts/obaas-prereqs/charts
key: helm-charts-${{ hashFiles('helm/infra-charts/obaas/Chart.lock', 'helm/infra-charts/obaas-prereqs/Chart.lock') }}

- name: Build chart dependencies
# Pulls subchart tarballs into each chart's charts/ directory. The repo-add is
# required because `helm dependency build` resolves by repository
# URL via `helm repo list`, not by fetching the URL directly.
run: |
helm repo add --force-update ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo add --force-update signoz https://charts.signoz.io
helm repo add --force-update apisix https://apache.github.io/apisix-helm-chart
helm repo add --force-update ai-optimizer https://oracle.github.io/ai-optimizer/helm
helm repo add --force-update external-secrets https://charts.external-secrets.io
helm repo add --force-update metrics-server https://kubernetes-sigs.github.io/metrics-server/
helm repo add --force-update prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add --force-update strimzi https://strimzi.io/charts/
helm repo add --force-update coherence https://oracle.github.io/coherence-operator/charts
helm repo add --force-update opentelemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm dependency build "$CHART_DIR"
operator_archive="$PREREQS_CHART_DIR/charts/oracle-database-operator-0.2.0.tgz"
if [ ! -f "$operator_archive" ]; then
echo "::error::oracle-database-operator chart archive is missing"
exit 1
fi
rm -rf "$PREREQS_CHART_DIR/charts/oracle-database-operator"
tar -xzf "$operator_archive" -C "$PREREQS_CHART_DIR/charts"
helm dependency build "$PREREQS_CHART_DIR"

- name: Run Helm Lint (strict, with required values)
run: >-
helm lint --strict "$CHART_DIR"
--kube-version "$HELM_KUBE_VERSION"
--set global.api.apiKey=test-api-key
--set client.cookieSecret=test-cookie-32-char-test-key-padding

- name: Run Helm Lint for prerequisites
run: helm lint --strict "$PREREQS_CHART_DIR" --kube-version "$HELM_KUBE_VERSION"

- name: Run Helm Package (validate chart builds)
run: |
helm package "$CHART_DIR" --destination "$RUNNER_TEMP/helm-package"
helm package "$PREREQS_CHART_DIR" --destination "$RUNNER_TEMP/helm-package"
env:
RUNNER_TEMP: ${{ runner.temp }}

# Render every example values file. CI overrides make examples that
# document external secrets self-contained for Helm's offline renderer.
- name: helm template against examples
run: |
shopt -s nullglob
failed=0
for f in "$CHART_DIR"/examples/*.yaml; do
ci_overrides=()
case "$f" in
*values-ai-optimizer.yaml)
ci_overrides=(
--set "ai-optimizer.global.api.secretName="
--set "ai-optimizer.global.api.secretKey="
--set "database.type=SIDB-FREE"
--set "database.privAuthN.secretName="
--set "database.privAuthN.secretNamespace="
--set "ai-optimizer.server.database.type=SIDB-FREE"
--set "ai-optimizer.server.database.adb.useExisting=false"
--set "ai-optimizer.server.database.privAuthN.secretName="
)
;;
*values-byodb.yaml)
ci_overrides=(
--set "database.type=SIDB-FREE"
--set "database.privAuthN.secretName="
--set "database.privAuthN.secretNamespace="
)
;;
*values-existing-adb.yaml)
ci_overrides=(
--set "database.type=SIDB-FREE"
--set "database.privAuthN.secretName="
--set "database.privAuthN.secretNamespace="
--set "database.image.repository=container-registry.oracle.com/database/free"
--set "database.image.tag=23.26.3.0"
)
;;
esac
echo "::group::$f"
if ! helm template ci "$CHART_DIR" \
--kube-version "$HELM_KUBE_VERSION" \
--values "$f" \
--set global.api.apiKey=ci-test \
--set client.cookieSecret=ci-cookie-32-char-test-key-padding \
--set server.database.adb.skipCrdCheck=true \
"${ci_overrides[@]}" >/dev/null; then
failed=1
fi
echo "::endgroup::"
done
exit "$failed"

# Render at the supported Kubernetes minimum.
- name: helm template at minimum kubeVersion
run: >-
helm template ci "$CHART_DIR" --kube-version "$HELM_KUBE_VERSION"
--set global.api.apiKey=ci-test
--set client.cookieSecret=ci-cookie-32-char-test-key-padding

- name: helm template prerequisites at minimum kubeVersion
run: helm template ci "$PREREQS_CHART_DIR" --namespace ci --kube-version "$HELM_KUBE_VERSION"

# Negative test: the schema must reject an invalid enum value.
# Inverts the exit code so the step passes only when helm fails.
- name: values.schema.json rejects invalid enum
run: |
if helm template ci "$CHART_DIR" \
--kube-version "$HELM_KUBE_VERSION" \
--set signozUpgrade.stage=invalid \
--set global.api.apiKey=ci-test \
--set client.cookieSecret=ci-cookie-32-char-test-key-padding \
>/dev/null 2>&1; then
echo "::error::values.schema.json no longer rejects signozUpgrade.stage=invalid"
exit 1
fi

- name: Run Helm contract tests
run: pytest helm/tests/ -v
129 changes: 129 additions & 0 deletions .github/workflows/opentofu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Workflow for validating Infrastructure as Code
#
# This workflow validates syntax, formatting, schema, and security.
# It does NOT validate infrastructure logic or resource creation.
# Manual testing with real OCI credentials is REQUIRED before merging.
# See opentofu/README.md for instructions.

name: Validate Infrastructure as Code

on:
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
paths:
- "opentofu/tests/**"
- "opentofu/**"
- ".github/workflows/opentofu.yml"

workflow_dispatch:

# Optimize: Cache terraform providers across all jobs
env:
TF_PLUGIN_CACHE_DIR: ${{ github.workspace }}/.terraform.d/plugin-cache

jobs:
# Job 1: Static analysis (validation, formatting, schema)
verify-iac-static:
name: Static Analysis
if: github.event.pull_request.draft == false || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
container:
image: ghcr.io/opentofu/opentofu:1.12.6
permissions:
contents: read

steps:
- name: Checkout Code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Verify app_version is 0.0.0
working-directory: ./opentofu
run: |
if ! grep -qE '^\s*app_version\s*=\s*"0\.0\.0"\s*$' versions.tf; then
echo "::error file=opentofu/versions.tf::app_version must be \"0.0.0\" outside of the release workflow"
grep -nE '^\s*app_version\s*=' versions.tf || true
exit 1
fi

# Terraform validation steps
- name: Install Cache Dependencies
run: apk add --no-cache tar zstd

- name: Cache Terraform Providers
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ${{ env.TF_PLUGIN_CACHE_DIR }}
key: ${{ runner.os }}-terraform-${{ hashFiles('opentofu/provider.tf', 'opentofu/.terraform.lock.hcl') }}
restore-keys: |
${{ runner.os }}-terraform-

- name: Create Plugin Cache Directory
run: mkdir -p ${{ env.TF_PLUGIN_CACHE_DIR }}

- name: Initialize Infrastructure as Code
working-directory: ./opentofu
run: tofu init -backend=false

- name: Validate Infrastructure as Code
working-directory: ./opentofu
run: tofu validate

- name: Check Terraform Formatting
working-directory: ./opentofu
run: tofu fmt -recursive -check

# Schema validation
- name: Install Python and Dependencies
run: |
apk add --no-cache python3 py3-pip
pip3 install --break-system-packages pyyaml jsonschema referencing

- name: Validate Oracle Resource Manager Schema
working-directory: ./opentofu/tests
run: python3 validate_omr_schema.py OMRMetaSchema.yaml ../schema.yaml

# Job 2: Security scanning (runs on host for Docker access)
verify-iac-security:
name: Security Scan
if: github.event.pull_request.draft == false || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- name: Checkout Code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Set up Trivy
uses: aquasecurity/setup-trivy@81e514348e19b6112ce2a7e3ecbafe19c1e1f567 # v0.3.1
with:
cache: true

- name: Run Trivy Security Scan for IaC
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
with:
scan-type: config
scan-ref: opentofu
format: sarif
output: trivy-results.sarif
exit-code: '0'
cache: false
skip-setup-trivy: true

verify-iac-summary:
name: Validation Summary
if: github.event.pull_request.draft == false || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions: {}
needs: [verify-iac-static, verify-iac-security]

steps:
- name: All Validations Passed
run: |
echo "✅ Syntax, formatting, schema, security validated"
echo "⚠️ Does NOT validate infrastructure logic"
echo "📖 See opentofu/README.md for manual testing requirements"
Loading
Loading