Skip to content

feat(chart): let apps-mcp trust a private CA for Keycloak (mcp.orgCABundle) - #165

Merged
jbouder merged 1 commit into
mainfrom
fix/mcp-org-ca-bundle
Oct 21, 2026
Merged

jbouder merged 1 commit into
mainfrom
fix/mcp-org-ca-bundle

Conversation

@jbouder

@jbouder jbouder commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Summary

The MCP authenticate tool calls Keycloak at its browser-facing URL (keycloak.url) from inside the cluster. When that certificate is signed by a private CA (e.g. the local kind cluster's nebari-local Root CA), it fails with [SSL: CERTIFICATE_VERIFY_FAILED] unable to get local issuer certificate.

Adds mcp.orgCABundle.configMapName / key. When set, the chart mounts the ConfigMap read-only at /etc/ssl/nebari and sets SSL_CERT_FILE, which httpx honors. This is the same orgCABundle convention the nebi and frames charts use. Off by default, so nothing changes unless you set it.

  • values.yaml, values.schema.json (strict, rejects unknown keys), templates/mcp.yaml
  • Chart README regenerated with helm-docs
  • Docs: configuration.md (apps-mcp table) and mcp.md (Authentication)

Testing

  • helm lint passes. helm template renders the env var, mount and volume only when configMapName is set, and the schema rejects mcp.orgCABundle.bogus.
  • On kind-nebari-local, in the running apps-mcp pod: httpx.get("https://keycloak.nebari.local/...") fails with the default trust store and returns 200 with SSL_CERT_FILE pointing at the system roots plus the root CA bundle. github.com still returns 200, so public TLS keeps working.

🤖 Generated with Claude Code

…undle)

The device flow calls Keycloak at its browser-facing URL from inside the
cluster; on clusters whose certificate comes from a private CA,
authenticate failed with CERTIFICATE_VERIFY_FAILED. mcp.orgCABundle
mounts a CA bundle ConfigMap and points SSL_CERT_FILE at it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

📄 Docs preview for fix/mcp-org-ca-bundle:
https://fix-mcp-org-ca-bundle.apps-pack.pages.dev

@jbouder
jbouder merged commit 49761d1 into main Oct 21, 2026
9 checks passed
@jbouder
jbouder deleted the fix/mcp-org-ca-bundle branch October 21, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant