From 9f38cdc44bb1725818d09ee353a31321ea65af96 Mon Sep 17 00:00:00 2001 From: eding Date: Wed, 16 Sep 2026 08:33:13 +0200 Subject: [PATCH] refactor: use shared environment PostgreSQL --- .maidn/database.yaml | 11 ----------- .maidn/kustomization.yaml | 4 ---- charts/maidn-e2e-secret/templates/deployment.yaml | 8 ++++++-- src/health.ts | 1 + test/health.test.js | 7 +++++++ 5 files changed, 14 insertions(+), 17 deletions(-) delete mode 100644 .maidn/database.yaml delete mode 100644 .maidn/kustomization.yaml diff --git a/.maidn/database.yaml b/.maidn/database.yaml deleted file mode 100644 index 89ba9ac..0000000 --- a/.maidn/database.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: postgresql.cnpg.io/v1 -kind: Cluster -metadata: - name: maidn-e2e-secret - namespace: staging - labels: - maidn.io/e2e: "true" -spec: - instances: 1 - storage: - size: 1Gi diff --git a/.maidn/kustomization.yaml b/.maidn/kustomization.yaml deleted file mode 100644 index 3e53c01..0000000 --- a/.maidn/kustomization.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - database.yaml diff --git a/charts/maidn-e2e-secret/templates/deployment.yaml b/charts/maidn-e2e-secret/templates/deployment.yaml index 9ac26f2..c127d92 100644 --- a/charts/maidn-e2e-secret/templates/deployment.yaml +++ b/charts/maidn-e2e-secret/templates/deployment.yaml @@ -27,17 +27,21 @@ spec: ports: - name: http containerPort: 8080 + {{- if or (eq .Release.Namespace "staging") (eq .Release.Namespace "production") }} env: - name: E2E_SECRET valueFrom: secretKeyRef: - name: maidn-e2e-secret-runtime-staging + name: {{ printf "%s-runtime-%s" .Chart.Name .Release.Namespace }} key: {{ .Values.runtimeSecret.key | quote }} - name: DATABASE_URL valueFrom: secretKeyRef: - name: maidn-e2e-secret-app + name: {{ printf "%s-postgres-app" .Release.Namespace }} key: uri + - name: MAIDN_RUNTIME_REQUIRED + value: "true" + {{- end }} readinessProbe: httpGet: path: / diff --git a/src/health.ts b/src/health.ts index 67fae02..5d9a406 100644 --- a/src/health.ts +++ b/src/health.ts @@ -1,6 +1,7 @@ import { Client } from 'pg'; export async function isReady(selectOne = databaseSelectOne) { + if (process.env.MAIDN_RUNTIME_REQUIRED !== 'true') return true; if (!process.env.E2E_SECRET || !process.env.DATABASE_URL) return false; try { diff --git a/test/health.test.js b/test/health.test.js index 6477a51..49f7fba 100644 --- a/test/health.test.js +++ b/test/health.test.js @@ -5,8 +5,13 @@ const { isReady } = require('../dist/health.js'); test('readiness requires the secret and a successful database query', async () => { const secret = process.env.E2E_SECRET; const databaseUrl = process.env.DATABASE_URL; + const runtimeRequired = process.env.MAIDN_RUNTIME_REQUIRED; try { + delete process.env.MAIDN_RUNTIME_REQUIRED; + assert.equal(await isReady(async () => assert.fail('query should not run')), true); + + process.env.MAIDN_RUNTIME_REQUIRED = 'true'; delete process.env.E2E_SECRET; assert.equal(await isReady(async () => assert.fail('query should not run')), false); @@ -22,5 +27,7 @@ test('readiness requires the secret and a successful database query', async () = else process.env.E2E_SECRET = secret; if (databaseUrl === undefined) delete process.env.DATABASE_URL; else process.env.DATABASE_URL = databaseUrl; + if (runtimeRequired === undefined) delete process.env.MAIDN_RUNTIME_REQUIRED; + else process.env.MAIDN_RUNTIME_REQUIRED = runtimeRequired; } });