Skip to content

chore: replace bitnami dependencies#553

Merged
vincentchalamon merged 5 commits into4.3from
chore/bitnami
Mar 16, 2026
Merged

chore: replace bitnami dependencies#553
vincentchalamon merged 5 commits into4.3from
chore/bitnami

Conversation

@vincentchalamon
Copy link
Copy Markdown
Contributor

@vincentchalamon vincentchalamon commented Nov 3, 2025

  • replace bitnami/postgresql
  • replace bitnami/keycloak
  • replace bitnami/external-dns

@vincentchalamon

This comment was marked as outdated.

This comment was marked as outdated.

@vincentchalamon vincentchalamon removed the deploy Deploys Pull Request label Feb 5, 2026
@vincentchalamon vincentchalamon marked this pull request as ready for review March 16, 2026 13:24
@vincentchalamon vincentchalamon added the deploy Deploys Pull Request label Mar 16, 2026
@vincentchalamon vincentchalamon changed the base branch from 4.2 to 4.3 March 16, 2026 13:29
vincentchalamon and others added 2 commits March 16, 2026 14:29
* chore: replace bitnami/postgresql with custom template

# Conflicts:
#	helm/api-platform/Chart.lock
#	helm/api-platform/Chart.yaml

* chore: replace bitnami/keycloak with custom template

* Initial plan

* fix: replace bitnami/external-dns and fix Helm template issues

Co-authored-by: vincentchalamon <407859+vincentchalamon@users.noreply.github.com>

* fix: resolve Helm chart YAML parsing issues

Co-authored-by: vincentchalamon <407859+vincentchalamon@users.noreply.github.com>

* fix: correct PostgreSQL sidecar container probes and port protocol

Co-authored-by: vincentchalamon <407859+vincentchalamon@users.noreply.github.com>

* fix: fix deploy

* fix: fix by @claude

* fix: fix Keycloak deployment crash and E2E login selector

- Add missing 'start' subcommand to Keycloak args (kc.sh requires it)
- Replace CNPG PostgreSQL image with standalone postgres:16-alpine for sidecar
- Fix E2E password selector for Keycloak 26.4 (getByRole instead of getByLabel)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: fix Keycloak startup crash on empty admin password and config mismatch

- Guard KC_BOOTSTRAP_ADMIN_* env vars on non-empty adminPassword to prevent
  crash when keycloak-admin-password secret is not set in PR environments
- Add --optimized flag to skip rebuild check on every start
- Add build-time options to Dockerfile (--db, --http-relative-path,
  --health-enabled, --metrics-enabled) to match runtime config
- Remove redundant build-time env vars from deployment template

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: copy provider JAR before kc.sh build to avoid --optimized startup failure

Keycloak with --optimized checks that no provider JARs changed after the build.
The JAR was copied after the build step, making its timestamp newer than the build
artifacts and causing Keycloak to refuse startup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: replace Bitnami KC_PRODUCTION with correct Keycloak HTTP/proxy env vars

KC_PRODUCTION=true is a Bitnami-specific env var ignored by the official image.
Keycloak start (production mode) requires TLS or http-enabled=true.
Since TLS is terminated at the nginx ingress, enable HTTP and configure the
proxy headers to trust X-Forwarded-* headers from the ingress.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: use httpRelativePath prefix for Keycloak health probes on management port

The --http-relative-path build option also affects the management interface (port 9000).
Health endpoints are at /<relative-path>/health/* not /health/*.
Confirmed: /oidc/health/started returns 200, /health/started returns 404.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: enable nginx SSL redirect for HTTP→HTTPS 301

The k6 post-deploy check verifies that http:// redirects to https:// with a 301.
ssl-redirect was set to false, preventing nginx from issuing the redirect.
cert-manager provisions a valid TLS certificate on GKE so the redirect is safe.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: configure Claude Code

* fix: update k6 check to accept nginx 308 redirect and location without trailing slash

nginx-ingress uses 308 (not 301) for ssl-redirect to preserve HTTP method.
The Location header for root path omits the trailing slash.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Vincent Chalamon <407859+vincentchalamon@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread helm/api-platform/templates/secrets.yaml Outdated
Comment thread compose.prod.yaml Outdated
- Fix serverVersion in database-url secret: use 16 to match values.yaml
- Remove KC_PRODUCTION from compose.prod.yaml (not a valid Keycloak env var)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove values.yaml keys that were consumed by bitnami/keycloak and
bitnami/postgresql Helm charts but are never read by the custom templates:
- postgresPassword (superuser password, unused by CloudNative PG and postgres sidecar)
- keycloak.proxy (hardcoded as KC_PROXY_HEADERS in keycloak-deployment.yaml)
- keycloak.tls (not wired in the custom template)
- keycloak.startupProbe / readinessProbe / livenessProbe (hardcoded in template)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vincentchalamon vincentchalamon merged commit 1df6277 into 4.3 Mar 16, 2026
10 of 11 checks passed
@vincentchalamon vincentchalamon deleted the chore/bitnami branch March 16, 2026 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deploy Deploys Pull Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants