Skip to content

feat: add API types for component config overrides and annotations (EP-1898)#125

Open
swghosh wants to merge 1 commit intoopenshift:ai-staging-release-1.0from
swghosh:feature/api-types-1898
Open

feat: add API types for component config overrides and annotations (EP-1898)#125
swghosh wants to merge 1 commit intoopenshift:ai-staging-release-1.0from
swghosh:feature/api-types-1898

Conversation

@swghosh
Copy link
Copy Markdown
Member

@swghosh swghosh commented Apr 6, 2026

Summary

  • Extends ExternalSecretsConfig API with annotations and componentConfigs fields in ControllerConfig
  • Adds new types: ComponentConfig, DeploymentConfig, KVPair, Annotation
  • Expands ComponentName enum with Webhook and CertController values
  • Implements CEL validation rules for reserved annotation prefixes and environment variable prefixes
  • Includes comprehensive integration test suite covering all new fields and validation scenarios

Enhancement Proposal

openshift/enhancements#1898

Changes

File Description
api/v1alpha1/external_secrets_config_types.go New API types and fields per EP-1898
api/v1alpha1/zz_generated.deepcopy.go Auto-generated deepcopy functions
config/crd/bases/operator.openshift.io_externalsecretsconfigs.yaml Updated CRD manifest
api/v1alpha1/tests/.../externalsecretsconfig.testsuite.yaml Integration tests for new fields

Test plan

  • make generate passes
  • make manifests passes
  • Integration test suite validates all new field creation, validation, and update scenarios
  • All reserved prefix annotations are correctly rejected
  • All reserved prefix env vars are correctly rejected
  • componentConfigs uniqueness constraint validated
  • revisionHistoryLimit minimum value constraint validated

🤖 Generated with Claude Code

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 6, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 282eb4f3-3049-4b2d-ab20-006a14712bd1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Apr 6, 2026

[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

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 6, 2026
@swghosh swghosh force-pushed the feature/api-types-1898 branch 2 times, most recently from f4d1360 to 72c4124 Compare April 6, 2026 08:21
@swghosh swghosh force-pushed the feature/api-types-1898 branch from 72c4124 to 2eae7d2 Compare April 6, 2026 08:23
…-1898)

Extend the ExternalSecretsConfig API with annotations and componentConfig
fields in ControllerConfig to support per-component deployment overrides.

New types added:
- ComponentConfig: per-component configuration with deploymentConfigs and overrideEnv
- DeploymentConfig: deployment-level overrides (revisionHistoryLimit)
- KVPair/Annotation: reusable key-value pair types for custom annotations

New ComponentName enum values: Webhook, CertController (extending existing
ExternalSecretsCoreController and BitwardenSDKServer).

Includes CEL validation rules for:
- Reserved annotation prefix rejection (kubernetes.io/, openshift.io/, etc.)
- Reserved environment variable prefix rejection (HOSTNAME, KUBERNETES_, EXTERNAL_SECRETS_)
- Component name uniqueness enforcement
- RevisionHistoryLimit minimum value of 1

Also includes comprehensive integration test suite covering all new fields,
validation rules, and update scenarios.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant