diff --git a/.github/workflows/helm-ci.yaml b/.github/workflows/helm-ci.yaml index 75caaf2..b734498 100644 --- a/.github/workflows/helm-ci.yaml +++ b/.github/workflows/helm-ci.yaml @@ -36,7 +36,8 @@ jobs: - name: Add Helm repositories run: | helm repo add bitnami https://charts.bitnami.com/bitnami - helm repo update bitnami + helm repo add haproxytech https://haproxytech.github.io/helm-charts + helm repo update bitnami haproxytech - name: Install yq run: | @@ -53,7 +54,11 @@ jobs: fi - name: Build umbrella dependencies - run: helm dependency build charts/governance-platform + run: | + if [ -d charts/gateway-stack ]; then + helm dependency build charts/gateway-stack + fi + helm dependency build charts/governance-platform - name: Lint charts run: | @@ -65,24 +70,34 @@ jobs: - name: Template supported install paths run: | - helm template governance-platform charts/governance-platform >/dev/null + optional_args=() if [ -d charts/eqty-pdfgen ]; then + optional_args+=(--set 'eqty-pdfgen.enabled=true') + fi + if [ -f charts/governance-platform/examples/values-gateway.yaml ]; then + optional_args+=(--values charts/governance-platform/examples/values-gateway.yaml) + fi + + helm template governance-platform charts/governance-platform >/dev/null + if [ "${#optional_args[@]}" -gt 0 ]; then helm template governance-platform charts/governance-platform \ - --set 'eqty-pdfgen.enabled=true' \ + "${optional_args[@]}" \ >/dev/null fi - helm template governance-platform charts/governance-platform \ - --values charts/governance-platform/examples/values-keycloak.yaml \ - --values charts/governance-platform/examples/values-external-postgres.yaml \ - >/dev/null - helm template governance-platform charts/governance-platform \ - --values charts/governance-platform/examples/values-auth0.yaml \ - --values charts/governance-platform/examples/values-external-postgres.yaml \ - >/dev/null - helm template governance-platform charts/governance-platform \ - --values charts/governance-platform/examples/values-entra.yaml \ - --values charts/governance-platform/examples/values-external-postgres.yaml \ - >/dev/null + + for idp in keycloak auth0 entra; do + helm template governance-platform charts/governance-platform \ + --values "charts/governance-platform/examples/values-${idp}.yaml" \ + --values charts/governance-platform/examples/values-external-postgres.yaml \ + >/dev/null + if [ "${#optional_args[@]}" -gt 0 ]; then + helm template governance-platform charts/governance-platform \ + "${optional_args[@]}" \ + --values "charts/governance-platform/examples/values-${idp}.yaml" \ + --values charts/governance-platform/examples/values-external-postgres.yaml \ + >/dev/null + fi + done - name: Template registry override paths run: | @@ -90,6 +105,9 @@ jobs: if [ -d charts/eqty-pdfgen ]; then template_args+=(--set 'eqty-pdfgen.enabled=true') fi + if [ -f charts/governance-platform/examples/values-gateway.yaml ]; then + template_args+=(--values charts/governance-platform/examples/values-gateway.yaml) + fi helm template governance-platform charts/governance-platform \ "${template_args[@]}" \ @@ -107,6 +125,11 @@ jobs: if [ -d charts/eqty-pdfgen ]; then grep -q 'registry.customer.example/eqtylab/eqty-pdfgen' /tmp/repository-prefix-override.yaml fi + if [ -d charts/gateway-stack ]; then + grep -q 'registry.customer.example/eqtylab/guardian-llm-gateway' /tmp/repository-prefix-override.yaml + grep -q 'registry.customer.example/eqtylab/guardian-control-plane' /tmp/repository-prefix-override.yaml + grep -q 'registry.customer.example/eqtylab/guardian-console' /tmp/repository-prefix-override.yaml + fi - name: Validate release manifests run: | @@ -151,6 +174,9 @@ jobs: if [ "$(yq '.charts.eqtyPdfgen.name // ""' "$manifest")" = "eqty-pdfgen" ]; then images+=(eqtyPdfgen) fi + if [ "$(yq '.charts.gatewayStack.name // ""' "$manifest")" = "gateway-stack" ]; then + images+=(llmGateway controlPlane guardianConsole) + fi for image in "${images[@]}"; do tag="$(yq ".images.${image}.tag" "$manifest")" @@ -172,6 +198,9 @@ jobs: charts+=(eqty-pdfgen) fi charts+=(governance-service governance-studio integrity-service) + if [ "$(yq '.charts.gatewayStack.name // ""' "$manifest")" = "gateway-stack" ]; then + charts+=(gateway-stack) + fi charts+=(governance-platform) for chart in "${charts[@]}"; do diff --git a/.github/workflows/release-platform-package.yaml b/.github/workflows/release-platform-package.yaml index 782564c..017d945 100644 --- a/.github/workflows/release-platform-package.yaml +++ b/.github/workflows/release-platform-package.yaml @@ -48,7 +48,8 @@ jobs: - name: Add Helm repositories run: | helm repo add bitnami https://charts.bitnami.com/bitnami - helm repo update bitnami + helm repo add haproxytech https://haproxytech.github.io/helm-charts + helm repo update bitnami haproxytech - name: Install yq run: | @@ -117,6 +118,9 @@ jobs: if [ "$(yq '.charts.eqtyPdfgen.name // ""' "$MANIFEST")" = "eqty-pdfgen" ]; then services+=(eqtyPdfgen) fi + if [ "$(yq '.charts.gatewayStack.name // ""' "$MANIFEST")" = "gateway-stack" ]; then + services+=(llmGateway controlPlane guardianConsole) + fi for service in "${services[@]}"; do tag="$(yq ".images.${service}.tag" "$MANIFEST")" @@ -136,6 +140,9 @@ jobs: charts+=(eqty-pdfgen) fi charts+=(governance-service governance-studio integrity-service) + if [ "$(yq '.charts.gatewayStack.name // ""' "$MANIFEST")" = "gateway-stack" ]; then + charts+=(gateway-stack) + fi charts+=(governance-platform) for chart in "${charts[@]}"; do @@ -155,12 +162,18 @@ jobs: env: MANIFEST: ${{ steps.release.outputs.manifest }} run: | + if [ -d charts/gateway-stack ]; then + helm dependency build charts/gateway-stack + fi helm dependency build charts/governance-platform charts=(charts/auth-service) if [ "$(yq '.charts.eqtyPdfgen.name // ""' "$MANIFEST")" = "eqty-pdfgen" ]; then charts+=(charts/eqty-pdfgen) fi charts+=(charts/governance-service charts/governance-studio charts/integrity-service) + if [ "$(yq '.charts.gatewayStack.name // ""' "$MANIFEST")" = "gateway-stack" ]; then + charts+=(charts/gateway-stack) + fi charts+=(charts/governance-platform) for chart in "${charts[@]}"; do @@ -171,6 +184,9 @@ jobs: if [ "$(yq '.charts.eqtyPdfgen.name // ""' "$MANIFEST")" = "eqty-pdfgen" ]; then template_args+=(--set 'eqty-pdfgen.enabled=true') fi + if [ "$(yq '.charts.gatewayStack.name // ""' "$MANIFEST")" = "gateway-stack" ]; then + template_args+=(--values charts/governance-platform/examples/values-gateway.yaml) + fi helm template governance-platform charts/governance-platform \ "${template_args[@]}" \ @@ -210,7 +226,7 @@ jobs: local digest local package_sha - if [ "$chart" = "governance-platform" ]; then + if [ "$chart" = "gateway-stack" ] || [ "$chart" = "governance-platform" ]; then helm dependency build "$chart_dir" fi @@ -257,6 +273,9 @@ jobs: charts+=(eqty-pdfgen) fi charts+=(governance-service governance-studio integrity-service) + if [ "$(yq '.charts.gatewayStack.name // ""' "$MANIFEST")" = "gateway-stack" ]; then + charts+=(gateway-stack) + fi charts+=(governance-platform) for chart in "${charts[@]}"; do