[INFRA-420] - feat(plane-enterprise): decouple custom S3 CA from airgapped mode#252
[INFRA-420] - feat(plane-enterprise): decouple custom S3 CA from airgapped mode#252akshat5302 wants to merge 1 commit into
Conversation
Move custom CA cert configuration to a new top-level `customCA` section so custom-CA storage endpoints can be trusted in non-airgapped deployments. The `plane.s3CAEnabled` helper no longer requires `airgapped.enabled`; cert resolution falls back to the legacy `airgapped.*` keys for backward compatibility. Adds questions.yml entries, README docs, and bumps the chart to 2.7.0.
|
Linked to Plane Work Item(s) This comment was auto-generated by Plane |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
WalkthroughThe PR introduces a new top-level ChangesCustom CA Certificate Configuration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What & why
Custom CA certificates for object storage / S3-compatible endpoints were only mounted when
airgapped.enabled=true. Non-airgapped customers whose storage endpoint presents a certificate signed by a private/internal CA had no way to make Plane trust it without falsely enabling airgapped mode.This decouples custom-CA support from airgapped mode and moves it to a dedicated top-level
customCAsection, while keeping the oldairgapped.*keys working as a fallback.Changes
_helpers.tplplane.s3CAEnabledno longer requires.Values.airgapped.enabled; it's true whenever certs are configured undercustomCA.*orairgapped.*.plane.s3CAProjectedSourcesresolver centralizes precedence and normalizes the single-secret form into the list shape.s3CAVolumes/s3CANodeVolumesrewritten to use the resolver (removes duplicated airgapped-only logic).values.yaml— newcustomCAsection (s3Secrets,s3SecretName,s3SecretKey);airgapped.s3*marked deprecated fallback.questions.yml— new "Custom CA Setup" group for the Rancher form.README.md— new "Custom CA Certificates" section + updated migration/backward-compat notes.Chart.yaml—2.6.1→2.7.0.Resolution precedence:
customCA.s3Secrets→customCAsingle secret →airgapped.s3Secrets→airgappedsingle secret.Not changed
No deployment/job templates were touched — all 8 CA-consuming workloads (silo, api, worker, live, pi-*) use the shared helpers, so they inherit the new behavior automatically. The remaining
airgapped.enabledreferences (monitor startup command, airgapped env/config) are genuine airgapped-mode behavior and intentionally left as-is.Backward compatibility
Existing configs under
airgapped.s3Secrets/airgapped.s3SecretName+s3SecretKeycontinue to work unchanged — no migration required on upgrade.Testing
helm lint— passes.helm templateverified across:customCAlist (multi-secret),customCAsingle-secret, legacyairgappedfallback, precedence (customCA wins), and disabled (no CA volume rendered).Summary by CodeRabbit
New Features
customCAconfiguration for custom CA certificates, independent ofairgapped.enabled.Chores
Documentation
airgapped.s3*parameters.