feat: implement componentConfig and annotations controller logic (EP#1898)#128
feat: implement componentConfig and annotations controller logic (EP#1898)#128swghosh wants to merge 2 commits intoopenshift:ai-staging-release-1.0from
Conversation
…sConfig Extend the ExternalSecretsConfig API with componentConfig and annotations fields as specified in enhancement proposal #1898 (ESO-266). New types added: - ComponentConfig: per-component deployment overrides and env vars - DeploymentConfig: deployment-level settings (revisionHistoryLimit) - Annotation: custom annotation key-value pairs New ComponentName enum values: Webhook, CertController Includes CEL validation for reserved annotation prefixes and env var names, integration test suite coverage, regenerated deepcopy and CRD manifests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add controller reconciliation logic for the componentConfig and annotations API fields introduced in EP #1898: - applyAnnotationsToDeployment: applies custom annotations (with reserved prefix filtering) to deployment and pod template metadata - applyComponentConfigToDeployment: applies per-component overrides including revisionHistoryLimit and overrideEnv to target deployments - Maps ComponentName enum values to deployment assets and container names Integrates with existing getDeploymentObject pipeline so all deployment reconciliation flows (create and update) apply the new configuration. Includes comprehensive unit tests for all new functions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: swghosh The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Summary
annotationsandcomponentConfigsAPI fields from Enhancement Proposal #1898component_config.gowith functions to apply custom annotations and per-component deployment overrides (revisionHistoryLimit, overrideEnv)ComponentNameenum values (ExternalSecretsCoreController, Webhook, CertController, BitwardenSDKServer) to deployment assets and container namesgetDeploymentObjectpipeline indeployments.gokubernetes.io/,app.kubernetes.io/,openshift.io/,k8s.io/) are filtered out with loggingcomponent_config_test.goDepends on
Test plan
go test ./pkg/controller/external_secrets/...make build🤖 Generated with Claude Code