From e10f94152799575a67ac1b9870d05c149aad39e0 Mon Sep 17 00:00:00 2001 From: Larry Chen Date: Wed, 3 Jun 2026 16:21:06 +0800 Subject: [PATCH 1/3] chore(helm): move REST charts to helm/rest, keep standalone publishing --- .github/workflows/ci.yaml | 1 + .github/workflows/rest-ci.yml | 1 + .github/workflows/rest-helm-workflows.yml | 8 ++++---- helm/.helmignore | 3 +++ {rest-api/helm => helm/rest}/README.md | 12 ++++++------ .../rest}/nico-rest-site-agent/Chart.yaml | 0 .../nico-rest-site-agent/templates/_helpers.tpl | 0 .../nico-rest-site-agent/templates/bootstrap.yaml | 0 .../nico-rest-site-agent/templates/certificate.yaml | 0 .../nico-rest-site-agent/templates/configmap.yaml | 0 .../rest}/nico-rest-site-agent/templates/rbac.yaml | 0 .../nico-rest-site-agent/templates/service.yaml | 0 .../nico-rest-site-agent/templates/statefulset.yaml | 0 .../templates/temporal-certs-secret.yaml | 0 .../nico-rest-site-agent/tests/certificate_test.yaml | 0 .../rest}/nico-rest-site-agent/values.yaml | 0 .../helm/charts => helm/rest}/nico-rest/.helmignore | 0 .../helm/charts => helm/rest}/nico-rest/Chart.lock | 0 .../helm/charts => helm/rest}/nico-rest/Chart.yaml | 0 .../rest}/nico-rest/charts/nico-rest-api/Chart.yaml | 0 .../charts/nico-rest-api/templates/_helpers.tpl | 0 .../charts/nico-rest-api/templates/configmap.yaml | 0 .../charts/nico-rest-api/templates/deployment.yaml | 0 .../charts/nico-rest-api/templates/service.yaml | 0 .../rest}/nico-rest/charts/nico-rest-api/values.yaml | 0 .../charts/nico-rest-cert-manager/Chart.yaml | 0 .../nico-rest-cert-manager/templates/_helpers.tpl | 0 .../nico-rest-cert-manager/templates/deployment.yaml | 0 .../nico-rest-cert-manager/templates/rbac.yaml | 0 .../nico-rest-cert-manager/templates/service.yaml | 0 .../charts/nico-rest-cert-manager/values.yaml | 0 .../nico-rest/charts/nico-rest-common/Chart.yaml | 0 .../charts/nico-rest-common/templates/_helpers.tpl | 0 .../nico-rest-common/templates/certificate.yaml | 0 .../charts/nico-rest-common/templates/secrets.yaml | 0 .../nico-rest-common/tests/certificate_test.yaml | 0 .../nico-rest/charts/nico-rest-common/values.yaml | 0 .../rest}/nico-rest/charts/nico-rest-db/Chart.yaml | 0 .../charts/nico-rest-db/templates/_helpers.tpl | 0 .../charts/nico-rest-db/templates/migration-job.yaml | 0 .../rest}/nico-rest/charts/nico-rest-db/values.yaml | 0 .../charts/nico-rest-site-manager/Chart.yaml | 0 .../charts/nico-rest-site-manager/crds/site.yaml | 0 .../nico-rest-site-manager/templates/_helpers.tpl | 0 .../templates/certificate.yaml | 0 .../nico-rest-site-manager/templates/deployment.yaml | 0 .../nico-rest-site-manager/templates/rbac.yaml | 0 .../nico-rest-site-manager/templates/service.yaml | 0 .../tests/certificate_test.yaml | 0 .../charts/nico-rest-site-manager/values.yaml | 0 .../nico-rest/charts/nico-rest-workflow/Chart.yaml | 0 .../charts/nico-rest-workflow/templates/_helpers.tpl | 0 .../nico-rest-workflow/templates/configmap.yaml | 0 .../templates/deployment-cloud-worker.yaml | 0 .../templates/deployment-site-worker.yaml | 0 .../nico-rest/charts/nico-rest-workflow/values.yaml | 0 .../rest}/nico-rest/templates/NOTES.txt | 0 .../helm/charts => helm/rest}/nico-rest/values.yaml | 0 58 files changed, 15 insertions(+), 10 deletions(-) rename {rest-api/helm => helm/rest}/README.md (90%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/Chart.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/templates/_helpers.tpl (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/templates/bootstrap.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/templates/certificate.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/templates/configmap.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/templates/rbac.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/templates/service.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/templates/statefulset.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/templates/temporal-certs-secret.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/tests/certificate_test.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest-site-agent/values.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/.helmignore (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/Chart.lock (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/Chart.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-api/Chart.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-api/templates/_helpers.tpl (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-api/templates/configmap.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-api/templates/deployment.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-api/templates/service.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-api/values.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-cert-manager/Chart.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-cert-manager/templates/_helpers.tpl (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-cert-manager/templates/deployment.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-cert-manager/templates/rbac.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-cert-manager/templates/service.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-cert-manager/values.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-common/Chart.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-common/templates/_helpers.tpl (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-common/templates/certificate.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-common/templates/secrets.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-common/tests/certificate_test.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-common/values.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-db/Chart.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-db/templates/_helpers.tpl (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-db/templates/migration-job.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-db/values.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/Chart.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/crds/site.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/templates/_helpers.tpl (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/templates/certificate.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/templates/deployment.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/templates/rbac.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/templates/service.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/tests/certificate_test.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-site-manager/values.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-workflow/Chart.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-workflow/templates/_helpers.tpl (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-workflow/templates/configmap.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-workflow/templates/deployment-cloud-worker.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-workflow/templates/deployment-site-worker.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/charts/nico-rest-workflow/values.yaml (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/templates/NOTES.txt (100%) rename {rest-api/helm/charts => helm/rest}/nico-rest/values.yaml (100%) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3c8d70ed56..304f507261 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -60,6 +60,7 @@ jobs: - '**' - '!rest-api/**' - '!.github/workflows/rest-*.yml' + - '!helm/rest/**' - name: Decide whether Core CI should run id: gate diff --git a/.github/workflows/rest-ci.yml b/.github/workflows/rest-ci.yml index 1c1e9e7aac..a031b3fc8f 100644 --- a/.github/workflows/rest-ci.yml +++ b/.github/workflows/rest-ci.yml @@ -42,6 +42,7 @@ jobs: rest_api: - 'rest-api/**' - '.github/workflows/rest-*.yml' + - 'helm/rest/**' - name: Decide whether REST CI should run id: gate diff --git a/.github/workflows/rest-helm-workflows.yml b/.github/workflows/rest-helm-workflows.yml index 3f3c8c67b1..2ef5d061cb 100644 --- a/.github/workflows/rest-helm-workflows.yml +++ b/.github/workflows/rest-helm-workflows.yml @@ -26,9 +26,9 @@ jobs: strategy: matrix: include: - - chart: rest-api/helm/charts/nico-rest + - chart: helm/rest/nico-rest valueOverrides: '["nico-rest-api.config.keycloak.enabled=true","nico-rest-api.config.keycloak.baseURL=http://keycloak:8082","nico-rest-api.config.keycloak.realm=test","nico-rest-api.config.keycloak.clientID=test"]' - - chart: rest-api/helm/charts/nico-rest-site-agent + - chart: helm/rest/nico-rest-site-agent valueOverrides: '[]' steps: - name: Checkout code @@ -51,8 +51,8 @@ jobs: strategy: matrix: chart: - - rest-api/helm/charts/nico-rest - - rest-api/helm/charts/nico-rest-site-agent + - helm/rest/nico-rest + - helm/rest/nico-rest-site-agent steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/helm/.helmignore b/helm/.helmignore index 11a6b83ede..12a0e4e3be 100644 --- a/helm/.helmignore +++ b/helm/.helmignore @@ -4,3 +4,6 @@ .helmignore *.md examples/ +# Standalone REST charts live under helm/rest/ but are published separately +# (see rest-helm-workflows.yml), not bundled into the nico umbrella chart. +rest/ diff --git a/rest-api/helm/README.md b/helm/rest/README.md similarity index 90% rename from rest-api/helm/README.md rename to helm/rest/README.md index da8f9bb93b..27a0a417d3 100644 --- a/rest-api/helm/README.md +++ b/helm/rest/README.md @@ -6,8 +6,8 @@ Helm charts for deploying the NICo REST API platform services. | Chart | Path | Description | |-------|------|-------------| -| `nico-rest` | `charts/nico-rest/` | Umbrella chart (api + workflow + site-manager + db) | -| `nico-rest-site-agent` | `charts/nico-rest-site-agent/` | Site agent (deployed independently per-site) | +| `nico-rest` | `nico-rest/` | Umbrella chart (api + workflow + site-manager + db) | +| `nico-rest-site-agent` | `nico-rest-site-agent/` | Site agent (deployed independently per-site) | ### Umbrella Sub-Charts @@ -41,7 +41,7 @@ The API requires exactly **one** authentication method. Keycloak and JWT issuers ### Option A: JWT Issuers (any OpenID Connect provider) ```bash -helm upgrade --install nico-rest charts/nico-rest/ \ +helm upgrade --install nico-rest nico-rest/ \ --namespace $NS --create-namespace \ --set global.image.repository=$REPO \ --set global.image.tag=$TAG \ @@ -65,7 +65,7 @@ See [auth documentation](../auth/README.md) for full issuer configuration option ### Option B: Keycloak ```bash -helm upgrade --install nico-rest charts/nico-rest/ \ +helm upgrade --install nico-rest nico-rest/ \ --namespace $NS --create-namespace \ --set global.image.repository=$REPO \ --set global.image.tag=$TAG \ @@ -102,7 +102,7 @@ REPO=nvcr.io/0837451325059433/carbide-dev TAG=latest NS=nico-rest -helm upgrade --install nico-rest charts/nico-rest/ \ +helm upgrade --install nico-rest nico-rest/ \ --namespace $NS --create-namespace \ --set global.image.repository=$REPO \ --set global.image.tag=$TAG \ @@ -115,7 +115,7 @@ Site agent requires a registered site (UUID + OTP). The chart must be installed ```bash # 1. Install chart -helm upgrade --install nico-rest-site-agent charts/nico-rest-site-agent/ \ +helm upgrade --install nico-rest-site-agent nico-rest-site-agent/ \ --namespace $NS \ --set global.image.repository=$REPO \ --set global.image.tag=$TAG || true diff --git a/rest-api/helm/charts/nico-rest-site-agent/Chart.yaml b/helm/rest/nico-rest-site-agent/Chart.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/Chart.yaml rename to helm/rest/nico-rest-site-agent/Chart.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/templates/_helpers.tpl b/helm/rest/nico-rest-site-agent/templates/_helpers.tpl similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/templates/_helpers.tpl rename to helm/rest/nico-rest-site-agent/templates/_helpers.tpl diff --git a/rest-api/helm/charts/nico-rest-site-agent/templates/bootstrap.yaml b/helm/rest/nico-rest-site-agent/templates/bootstrap.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/templates/bootstrap.yaml rename to helm/rest/nico-rest-site-agent/templates/bootstrap.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/templates/certificate.yaml b/helm/rest/nico-rest-site-agent/templates/certificate.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/templates/certificate.yaml rename to helm/rest/nico-rest-site-agent/templates/certificate.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/templates/configmap.yaml b/helm/rest/nico-rest-site-agent/templates/configmap.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/templates/configmap.yaml rename to helm/rest/nico-rest-site-agent/templates/configmap.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/templates/rbac.yaml b/helm/rest/nico-rest-site-agent/templates/rbac.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/templates/rbac.yaml rename to helm/rest/nico-rest-site-agent/templates/rbac.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/templates/service.yaml b/helm/rest/nico-rest-site-agent/templates/service.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/templates/service.yaml rename to helm/rest/nico-rest-site-agent/templates/service.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/templates/statefulset.yaml b/helm/rest/nico-rest-site-agent/templates/statefulset.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/templates/statefulset.yaml rename to helm/rest/nico-rest-site-agent/templates/statefulset.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/templates/temporal-certs-secret.yaml b/helm/rest/nico-rest-site-agent/templates/temporal-certs-secret.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/templates/temporal-certs-secret.yaml rename to helm/rest/nico-rest-site-agent/templates/temporal-certs-secret.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/tests/certificate_test.yaml b/helm/rest/nico-rest-site-agent/tests/certificate_test.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/tests/certificate_test.yaml rename to helm/rest/nico-rest-site-agent/tests/certificate_test.yaml diff --git a/rest-api/helm/charts/nico-rest-site-agent/values.yaml b/helm/rest/nico-rest-site-agent/values.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest-site-agent/values.yaml rename to helm/rest/nico-rest-site-agent/values.yaml diff --git a/rest-api/helm/charts/nico-rest/.helmignore b/helm/rest/nico-rest/.helmignore similarity index 100% rename from rest-api/helm/charts/nico-rest/.helmignore rename to helm/rest/nico-rest/.helmignore diff --git a/rest-api/helm/charts/nico-rest/Chart.lock b/helm/rest/nico-rest/Chart.lock similarity index 100% rename from rest-api/helm/charts/nico-rest/Chart.lock rename to helm/rest/nico-rest/Chart.lock diff --git a/rest-api/helm/charts/nico-rest/Chart.yaml b/helm/rest/nico-rest/Chart.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/Chart.yaml rename to helm/rest/nico-rest/Chart.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-api/Chart.yaml b/helm/rest/nico-rest/charts/nico-rest-api/Chart.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-api/Chart.yaml rename to helm/rest/nico-rest/charts/nico-rest-api/Chart.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-api/templates/_helpers.tpl b/helm/rest/nico-rest/charts/nico-rest-api/templates/_helpers.tpl similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-api/templates/_helpers.tpl rename to helm/rest/nico-rest/charts/nico-rest-api/templates/_helpers.tpl diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-api/templates/configmap.yaml b/helm/rest/nico-rest/charts/nico-rest-api/templates/configmap.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-api/templates/configmap.yaml rename to helm/rest/nico-rest/charts/nico-rest-api/templates/configmap.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-api/templates/deployment.yaml b/helm/rest/nico-rest/charts/nico-rest-api/templates/deployment.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-api/templates/deployment.yaml rename to helm/rest/nico-rest/charts/nico-rest-api/templates/deployment.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-api/templates/service.yaml b/helm/rest/nico-rest/charts/nico-rest-api/templates/service.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-api/templates/service.yaml rename to helm/rest/nico-rest/charts/nico-rest-api/templates/service.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-api/values.yaml b/helm/rest/nico-rest/charts/nico-rest-api/values.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-api/values.yaml rename to helm/rest/nico-rest/charts/nico-rest-api/values.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/Chart.yaml b/helm/rest/nico-rest/charts/nico-rest-cert-manager/Chart.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/Chart.yaml rename to helm/rest/nico-rest/charts/nico-rest-cert-manager/Chart.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/templates/_helpers.tpl b/helm/rest/nico-rest/charts/nico-rest-cert-manager/templates/_helpers.tpl similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/templates/_helpers.tpl rename to helm/rest/nico-rest/charts/nico-rest-cert-manager/templates/_helpers.tpl diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/templates/deployment.yaml b/helm/rest/nico-rest/charts/nico-rest-cert-manager/templates/deployment.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/templates/deployment.yaml rename to helm/rest/nico-rest/charts/nico-rest-cert-manager/templates/deployment.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/templates/rbac.yaml b/helm/rest/nico-rest/charts/nico-rest-cert-manager/templates/rbac.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/templates/rbac.yaml rename to helm/rest/nico-rest/charts/nico-rest-cert-manager/templates/rbac.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/templates/service.yaml b/helm/rest/nico-rest/charts/nico-rest-cert-manager/templates/service.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/templates/service.yaml rename to helm/rest/nico-rest/charts/nico-rest-cert-manager/templates/service.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/values.yaml b/helm/rest/nico-rest/charts/nico-rest-cert-manager/values.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-cert-manager/values.yaml rename to helm/rest/nico-rest/charts/nico-rest-cert-manager/values.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-common/Chart.yaml b/helm/rest/nico-rest/charts/nico-rest-common/Chart.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-common/Chart.yaml rename to helm/rest/nico-rest/charts/nico-rest-common/Chart.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-common/templates/_helpers.tpl b/helm/rest/nico-rest/charts/nico-rest-common/templates/_helpers.tpl similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-common/templates/_helpers.tpl rename to helm/rest/nico-rest/charts/nico-rest-common/templates/_helpers.tpl diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-common/templates/certificate.yaml b/helm/rest/nico-rest/charts/nico-rest-common/templates/certificate.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-common/templates/certificate.yaml rename to helm/rest/nico-rest/charts/nico-rest-common/templates/certificate.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-common/templates/secrets.yaml b/helm/rest/nico-rest/charts/nico-rest-common/templates/secrets.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-common/templates/secrets.yaml rename to helm/rest/nico-rest/charts/nico-rest-common/templates/secrets.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-common/tests/certificate_test.yaml b/helm/rest/nico-rest/charts/nico-rest-common/tests/certificate_test.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-common/tests/certificate_test.yaml rename to helm/rest/nico-rest/charts/nico-rest-common/tests/certificate_test.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-common/values.yaml b/helm/rest/nico-rest/charts/nico-rest-common/values.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-common/values.yaml rename to helm/rest/nico-rest/charts/nico-rest-common/values.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-db/Chart.yaml b/helm/rest/nico-rest/charts/nico-rest-db/Chart.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-db/Chart.yaml rename to helm/rest/nico-rest/charts/nico-rest-db/Chart.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-db/templates/_helpers.tpl b/helm/rest/nico-rest/charts/nico-rest-db/templates/_helpers.tpl similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-db/templates/_helpers.tpl rename to helm/rest/nico-rest/charts/nico-rest-db/templates/_helpers.tpl diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-db/templates/migration-job.yaml b/helm/rest/nico-rest/charts/nico-rest-db/templates/migration-job.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-db/templates/migration-job.yaml rename to helm/rest/nico-rest/charts/nico-rest-db/templates/migration-job.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-db/values.yaml b/helm/rest/nico-rest/charts/nico-rest-db/values.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-db/values.yaml rename to helm/rest/nico-rest/charts/nico-rest-db/values.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/Chart.yaml b/helm/rest/nico-rest/charts/nico-rest-site-manager/Chart.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/Chart.yaml rename to helm/rest/nico-rest/charts/nico-rest-site-manager/Chart.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/crds/site.yaml b/helm/rest/nico-rest/charts/nico-rest-site-manager/crds/site.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/crds/site.yaml rename to helm/rest/nico-rest/charts/nico-rest-site-manager/crds/site.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/_helpers.tpl b/helm/rest/nico-rest/charts/nico-rest-site-manager/templates/_helpers.tpl similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/_helpers.tpl rename to helm/rest/nico-rest/charts/nico-rest-site-manager/templates/_helpers.tpl diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/certificate.yaml b/helm/rest/nico-rest/charts/nico-rest-site-manager/templates/certificate.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/certificate.yaml rename to helm/rest/nico-rest/charts/nico-rest-site-manager/templates/certificate.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/deployment.yaml b/helm/rest/nico-rest/charts/nico-rest-site-manager/templates/deployment.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/deployment.yaml rename to helm/rest/nico-rest/charts/nico-rest-site-manager/templates/deployment.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/rbac.yaml b/helm/rest/nico-rest/charts/nico-rest-site-manager/templates/rbac.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/rbac.yaml rename to helm/rest/nico-rest/charts/nico-rest-site-manager/templates/rbac.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/service.yaml b/helm/rest/nico-rest/charts/nico-rest-site-manager/templates/service.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/templates/service.yaml rename to helm/rest/nico-rest/charts/nico-rest-site-manager/templates/service.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/tests/certificate_test.yaml b/helm/rest/nico-rest/charts/nico-rest-site-manager/tests/certificate_test.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/tests/certificate_test.yaml rename to helm/rest/nico-rest/charts/nico-rest-site-manager/tests/certificate_test.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/values.yaml b/helm/rest/nico-rest/charts/nico-rest-site-manager/values.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-site-manager/values.yaml rename to helm/rest/nico-rest/charts/nico-rest-site-manager/values.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/Chart.yaml b/helm/rest/nico-rest/charts/nico-rest-workflow/Chart.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/Chart.yaml rename to helm/rest/nico-rest/charts/nico-rest-workflow/Chart.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/templates/_helpers.tpl b/helm/rest/nico-rest/charts/nico-rest-workflow/templates/_helpers.tpl similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/templates/_helpers.tpl rename to helm/rest/nico-rest/charts/nico-rest-workflow/templates/_helpers.tpl diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/templates/configmap.yaml b/helm/rest/nico-rest/charts/nico-rest-workflow/templates/configmap.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/templates/configmap.yaml rename to helm/rest/nico-rest/charts/nico-rest-workflow/templates/configmap.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/templates/deployment-cloud-worker.yaml b/helm/rest/nico-rest/charts/nico-rest-workflow/templates/deployment-cloud-worker.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/templates/deployment-cloud-worker.yaml rename to helm/rest/nico-rest/charts/nico-rest-workflow/templates/deployment-cloud-worker.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/templates/deployment-site-worker.yaml b/helm/rest/nico-rest/charts/nico-rest-workflow/templates/deployment-site-worker.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/templates/deployment-site-worker.yaml rename to helm/rest/nico-rest/charts/nico-rest-workflow/templates/deployment-site-worker.yaml diff --git a/rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/values.yaml b/helm/rest/nico-rest/charts/nico-rest-workflow/values.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/charts/nico-rest-workflow/values.yaml rename to helm/rest/nico-rest/charts/nico-rest-workflow/values.yaml diff --git a/rest-api/helm/charts/nico-rest/templates/NOTES.txt b/helm/rest/nico-rest/templates/NOTES.txt similarity index 100% rename from rest-api/helm/charts/nico-rest/templates/NOTES.txt rename to helm/rest/nico-rest/templates/NOTES.txt diff --git a/rest-api/helm/charts/nico-rest/values.yaml b/helm/rest/nico-rest/values.yaml similarity index 100% rename from rest-api/helm/charts/nico-rest/values.yaml rename to helm/rest/nico-rest/values.yaml From f454707b854c5ed87c727ef050e356f060623aa3 Mon Sep 17 00:00:00 2001 From: Larry Chen Date: Wed, 3 Jun 2026 17:17:08 +0800 Subject: [PATCH 2/3] chore(helm): update references to moved REST chart paths (Makefile, docs, NOTES, README) --- .../getting-started/installation-options/reference-install.md | 4 ++-- helm/rest/README.md | 4 ++-- helm/rest/nico-rest/templates/NOTES.txt | 2 +- rest-api/Makefile | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/getting-started/installation-options/reference-install.md b/docs/getting-started/installation-options/reference-install.md index 2bd27dd7de..624d2e5213 100644 --- a/docs/getting-started/installation-options/reference-install.md +++ b/docs/getting-started/installation-options/reference-install.md @@ -256,7 +256,7 @@ kubectl exec -n temporal deploy/temporal-admintools -- \ _ncx_docker_cfg="$(printf '{"auths":{"nvcr.io":{"username":"$oauthtoken","password":"%s"}}}' \ "${REGISTRY_PULL_SECRET}" | base64 | tr -d '\n')" -helm upgrade --install nico-rest "${NCX_REPO}/helm/charts/nico-rest" \ +helm upgrade --install nico-rest "${NCX_REPO}/helm/rest/nico-rest" \ --namespace nico-rest \ -f values/ncx-rest.yaml \ --set global.image.repository="${NCX_IMAGE_REGISTRY}" \ @@ -271,7 +271,7 @@ The deployment order is critical — do not skip steps. ```bash NCX_SITE_UUID="${NCX_SITE_UUID:-a1b2c3d4-e5f6-4000-8000-000000000001}" -NCX_SITE_AGENT_CHART="${NCX_REPO}/helm/charts/nico-rest-site-agent" +NCX_SITE_AGENT_CHART="${NCX_REPO}/helm/rest/nico-rest-site-agent" # Step 1 - pre-apply the gRPC client cert so it exists before the pod starts helm template nico-rest-site-agent "${NCX_SITE_AGENT_CHART}" \ diff --git a/helm/rest/README.md b/helm/rest/README.md index 27a0a417d3..e52ede215f 100644 --- a/helm/rest/README.md +++ b/helm/rest/README.md @@ -60,7 +60,7 @@ nico-rest-api: issuer: "my-idp.example.com" ``` -See [auth documentation](../auth/README.md) for full issuer configuration options. +See [auth documentation](../../rest-api/auth/README.md) for full issuer configuration options. ### Option B: Keycloak @@ -121,7 +121,7 @@ helm upgrade --install nico-rest-site-agent nico-rest-site-agent/ \ --set global.image.tag=$TAG || true # 2. Bootstrap site registration (creates site via API, patches ConfigMap/Secret) -./scripts/setup-local.sh site-agent +../../rest-api/scripts/setup-local.sh site-agent # 3. Site agent will stabilize after bootstrap kubectl -n $NS rollout status statefulset/nico-rest-site-agent --timeout=120s diff --git a/helm/rest/nico-rest/templates/NOTES.txt b/helm/rest/nico-rest/templates/NOTES.txt index b26b6af137..9bd41f62ef 100644 --- a/helm/rest/nico-rest/templates/NOTES.txt +++ b/helm/rest/nico-rest/templates/NOTES.txt @@ -37,4 +37,4 @@ Prerequisites (must exist before install): Site Agent: Site agent is deployed as a separate chart (nico-rest-site-agent). - See helm/charts/nico-rest-site-agent/ for details. + See helm/rest/nico-rest-site-agent/ for details. diff --git a/rest-api/Makefile b/rest-api/Makefile index 2c0e36552b..8506b2e298 100644 --- a/rest-api/Makefile +++ b/rest-api/Makefile @@ -22,8 +22,8 @@ POSTGRES_DB := nicotest POSTGRES_IMAGE := postgres:14.4-alpine # Helm chart configuration (for kind-reset-helm / helm-* targets) -UMBRELLA_CHART := helm/charts/nico-rest -SITE_AGENT_CHART := helm/charts/nico-rest-site-agent +UMBRELLA_CHART := ../helm/rest/nico-rest +SITE_AGENT_CHART := ../helm/rest/nico-rest-site-agent HELM_SET := --set global.image.repository=$(IMAGE_REGISTRY) \ --set global.image.tag=$(IMAGE_TAG) \ From f305b704500fb0c92fdf9ff52539b4a14d789c92 Mon Sep 17 00:00:00 2001 From: Larry Chen Date: Fri, 5 Jun 2026 11:31:11 +0800 Subject: [PATCH 3/3] chore: align helm prereqs rest chart paths --- book/src/configuration/configurability.md | 4 ++-- .../installation-options/reference-install.md | 4 ++-- docs/getting-started/quick-start.md | 2 +- helm-prereqs/README.md | 2 +- helm-prereqs/preflight.sh | 22 +++++++++++++------ helm-prereqs/setup.sh | 19 +++++++++++----- 6 files changed, 34 insertions(+), 19 deletions(-) diff --git a/book/src/configuration/configurability.md b/book/src/configuration/configurability.md index f6f0b37c8e..c5ee8b1b41 100644 --- a/book/src/configuration/configurability.md +++ b/book/src/configuration/configurability.md @@ -732,7 +732,7 @@ Temporal is deployed by `setup.sh` Phase 7f using the upstream Temporal helm chart with mTLS enabled. The mTLS issuer (`nico-rest-ca-issuer`) is installed in Phase 7b. Operators usually don't touch Temporal config directly; see the temporal subchart values in -[`infra-controller-rest/helm/charts/temporal/values.yaml`](https://github.com/NVIDIA/ncx-infra-controller-rest) +`rest-api/temporal-helm/temporal/values-kind.yaml` if you need to tune retention or task queue counts. ### Keycloak (dev IdP) @@ -814,7 +814,7 @@ also re-applies operator-chart defaults that may not match your production tuning. For the REST stack the equivalent is `helm upgrade nico-rest …` against -`infra-controller-rest/helm/charts/nico-rest`. +`helm/rest/nico-rest`. See [`helm/README.md` → Upgrading](../../../helm/README.md#upgrading) for the diff-then-apply pattern. diff --git a/docs/getting-started/installation-options/reference-install.md b/docs/getting-started/installation-options/reference-install.md index 624d2e5213..b303c2885f 100644 --- a/docs/getting-started/installation-options/reference-install.md +++ b/docs/getting-started/installation-options/reference-install.md @@ -256,7 +256,7 @@ kubectl exec -n temporal deploy/temporal-admintools -- \ _ncx_docker_cfg="$(printf '{"auths":{"nvcr.io":{"username":"$oauthtoken","password":"%s"}}}' \ "${REGISTRY_PULL_SECRET}" | base64 | tr -d '\n')" -helm upgrade --install nico-rest "${NCX_REPO}/helm/rest/nico-rest" \ +helm upgrade --install nico-rest "${NCX_REPO}/../helm/rest/nico-rest" \ --namespace nico-rest \ -f values/ncx-rest.yaml \ --set global.image.repository="${NCX_IMAGE_REGISTRY}" \ @@ -271,7 +271,7 @@ The deployment order is critical — do not skip steps. ```bash NCX_SITE_UUID="${NCX_SITE_UUID:-a1b2c3d4-e5f6-4000-8000-000000000001}" -NCX_SITE_AGENT_CHART="${NCX_REPO}/helm/rest/nico-rest-site-agent" +NCX_SITE_AGENT_CHART="${NCX_REPO}/../helm/rest/nico-rest-site-agent" # Step 1 - pre-apply the gRPC client cert so it exists before the pod starts helm template nico-rest-site-agent "${NCX_SITE_AGENT_CHART}" \ diff --git a/docs/getting-started/quick-start.md b/docs/getting-started/quick-start.md index 09fb147bae..cc84adeeb4 100644 --- a/docs/getting-started/quick-start.md +++ b/docs/getting-started/quick-start.md @@ -335,7 +335,7 @@ vault (hashicorp/vault 0.25.0, 3-node HA Raft, TLS) external-secrets (external-secrets/external-secrets 0.14.3) nico-prereqs (this Helm chart - nico-system namespace) NCX Core (../helm - ncx-core.yaml values) -NCX REST (ncx-infra-controller-rest/helm/charts/nico-rest) +NCX REST (../helm/rest/nico-rest) ├── nico-rest-ca-issuer ClusterIssuer (cert-manager.io) ├── postgres StatefulSet (temporal + keycloak + NCX databases) ├── keycloak (dev OIDC IdP, nico-dev realm) diff --git a/helm-prereqs/README.md b/helm-prereqs/README.md index e0f1dfdcbd..08edd50dc5 100644 --- a/helm-prereqs/README.md +++ b/helm-prereqs/README.md @@ -212,7 +212,7 @@ NICo Core (../helm - nico-core.yaml values) ├── nico-pxe (Deployment - HTTP PXE boot) ├── nico-ssh-console-rs (Deployment - SSH console proxy) └── unbound (Deployment - .forge zone DNS, opt-in) -NICo REST (infra-controller-rest/helm/charts/nico-rest) +NICo REST (../helm/rest/nico-rest) ├── nico-rest-ca-issuer ClusterIssuer (cert-manager.io) ├── postgres StatefulSet (temporal + keycloak + NICo databases) ├── keycloak (dev OIDC IdP, nico-dev realm) diff --git a/helm-prereqs/preflight.sh b/helm-prereqs/preflight.sh index 35db5aae23..6252b9877e 100755 --- a/helm-prereqs/preflight.sh +++ b/helm-prereqs/preflight.sh @@ -31,7 +31,7 @@ # 6. MetalLB BGPPeer nodes — hostnames in config exist in the cluster # 7. Per-node checks — kernel params (sysctl) and DNS on every node # 8. Registry connectivity — registry host is reachable over HTTPS -# 9. NICo REST repo — found locally or offer to clone from GitHub +# 9. NICo REST source/charts — in-tree rest-api/ and helm/rest/ are present # # Configurable: # PREFLIGHT_CHECK_IMAGE — image used for per-node pod checks (default: busybox:1.36) @@ -496,24 +496,32 @@ if [[ -n "${NICO_IMAGE_REGISTRY:-}" ]] && command -v curl &>/dev/null; then fi # --------------------------------------------------------------------------- -# 9. NICo REST source tree (in-tree at ../rest-api) +# 9. NICo REST source tree and Helm charts (in-tree) # # The REST stack lives in this repo under rest-api/. No separate clone is # supported any more; the legacy NICO_REST_REPO / NICO_REPO env vars and the # sibling-directory fallbacks were removed once rest-api/ became part of -# core. If rest-api/ is missing the checkout is broken — error out so the -# user fixes it rather than installing a half-stack. +# core. The REST Helm charts live under helm/rest/. If either path is missing, +# the checkout is broken — error out so the user fixes it rather than +# installing a half-stack. # --------------------------------------------------------------------------- NICO_REST_DIR="" +NICO_REST_HELM_DIR="" _NICO_REST_ENABLED=true [[ "${SKIP_REST:-false}" == "true" ]] && _NICO_REST_ENABLED=false if ${_NICO_REST_ENABLED}; then _NICO_REST_CANDIDATE="${SCRIPT_DIR}/../rest-api" - if [[ -d "${_NICO_REST_CANDIDATE}/helm/charts/nico-rest" ]]; then + _NICO_REST_HELM_CANDIDATE="${SCRIPT_DIR}/../helm/rest" + if [[ -d "${_NICO_REST_CANDIDATE}" ]]; then NICO_REST_DIR="$(cd "${_NICO_REST_CANDIDATE}" && pwd)" else - ERRORS+=("rest-api/ not found at ${_NICO_REST_CANDIDATE} (or missing helm/charts/nico-rest under it) — check out the full core repo, or pass --skip-rest if you only need the infra prereqs.") + ERRORS+=("rest-api/ not found at ${_NICO_REST_CANDIDATE} — check out the full core repo, or pass --skip-rest if you only need the infra prereqs.") + fi + if [[ -d "${_NICO_REST_HELM_CANDIDATE}/nico-rest" && -d "${_NICO_REST_HELM_CANDIDATE}/nico-rest-site-agent" ]]; then + NICO_REST_HELM_DIR="$(cd "${_NICO_REST_HELM_CANDIDATE}" && pwd)" + else + ERRORS+=("REST Helm charts not found under ${_NICO_REST_HELM_CANDIDATE} — expected nico-rest and nico-rest-site-agent charts.") fi fi @@ -524,7 +532,7 @@ _print_separator() { echo "----------------------------------------------------- if [[ ${#ERRORS[@]} -eq 0 && ${#WARNINGS[@]} -eq 0 ]]; then if ${_NICO_REST_ENABLED}; then - echo "Pre-flight OK (NICo REST source: ${NICO_REST_DIR})" + echo "Pre-flight OK (NICo REST source: ${NICO_REST_DIR}, charts: ${NICO_REST_HELM_DIR})" else echo "Pre-flight OK (NICo REST skipped)" fi diff --git a/helm-prereqs/setup.sh b/helm-prereqs/setup.sh index 4beb876aa0..8d84de19d7 100755 --- a/helm-prereqs/setup.sh +++ b/helm-prereqs/setup.sh @@ -115,7 +115,8 @@ done # --------------------------------------------------------------------------- # Pre-flight checks — env vars, tools, config files. Resolves NICO_REST_DIR -# (in-tree rest-api/). Exits 1 if user declines to continue. +# (in-tree rest-api/) and NICO_REST_HELM_DIR (in-tree helm/rest/). Exits 1 if +# user declines to continue. # --------------------------------------------------------------------------- export AUTO_YES SKIP_CORE SKIP_REST SKIP_FLOW # shellcheck source=preflight.sh @@ -534,15 +535,21 @@ if "${SKIP_REST}"; then exit 0 fi -# --- 7a. NICo REST source tree (in-tree at ../rest-api) -------------------------- -# preflight.sh resolves and validates rest-api/ in this repo into NICO_REST_DIR. +# --- 7a. NICo REST source tree and Helm charts (in-tree) ------------------------- +# preflight.sh resolves and validates rest-api/ into NICO_REST_DIR and +# helm/rest/ into NICO_REST_HELM_DIR. # If it didn't, preflight already errored out — guard the consumer side too in # case someone sources setup.sh without going through preflight. if [[ -z "${NICO_REST_DIR:-}" ]]; then - echo "ERROR: NICO_REST_DIR is unset — preflight didn't resolve rest-api/. Make sure your checkout contains rest-api/helm/charts/nico-rest." + echo "ERROR: NICO_REST_DIR is unset — preflight didn't resolve rest-api/. Make sure your checkout contains rest-api/." + exit 1 +fi +if [[ -z "${NICO_REST_HELM_DIR:-}" ]]; then + echo "ERROR: NICO_REST_HELM_DIR is unset — preflight didn't resolve helm/rest/. Make sure your checkout contains helm/rest/nico-rest and helm/rest/nico-rest-site-agent." exit 1 fi echo "NICo REST source: ${NICO_REST_DIR}" +echo "NICo REST charts: ${NICO_REST_HELM_DIR}" # Create NICo REST namespace kubectl create namespace nico-rest 2>/dev/null || true @@ -633,7 +640,7 @@ echo "Temporal namespaces ready" _SETUP_PHASE="[7g/7] NICo REST helm chart" # --- 7g. NICo REST helm chart ------------------------------------------------- -NICO_HELM_CHART="${NICO_REST_DIR}/helm/charts/nico-rest" +NICO_HELM_CHART="${NICO_REST_HELM_DIR}/nico-rest" NICO_REST_CMD=( helm upgrade --install nico-rest "${NICO_HELM_CHART}" --namespace nico-rest @@ -701,7 +708,7 @@ fi # # The site-agent binary also needs DB credentials for its local elektratest DB. # All of this is wired via --set flags so nico-rest.yaml stays registry-agnostic. -NICO_SITE_AGENT_CHART="${NICO_REST_DIR}/helm/charts/nico-rest-site-agent" +NICO_SITE_AGENT_CHART="${NICO_REST_HELM_DIR}/nico-rest-site-agent" # Stable placeholder UUID for this site (must be a valid UUID). NICO_SITE_UUID="${NICO_SITE_UUID:-a1b2c3d4-e5f6-4000-8000-000000000001}"