Skip to content

EP-1898: Add e2e test artifacts for component overrides#133

Open
swghosh wants to merge 3 commits intoopenshift:ai-staging-release-1.0from
swghosh:feature/e2e-tests-ep1898
Open

EP-1898: Add e2e test artifacts for component overrides#133
swghosh wants to merge 3 commits intoopenshift:ai-staging-release-1.0from
swghosh:feature/e2e-tests-ep1898

Conversation

@swghosh
Copy link
Copy Markdown
Member

@swghosh swghosh commented Apr 6, 2026

Summary

  • Adds e2e test artifacts for the annotations, componentConfigs, deploymentConfig, and overrideEnv features introduced by EP-1898
  • Includes Ginkgo v2 e2e test code covering: custom annotation propagation, annotation updates, per-component revisionHistoryLimit, per-component override env vars, and combined annotations + componentConfigs
  • Adds test case documentation, execution steps, and e2e scenario recommendations

Test Artifacts

File Description
output/e2e_external-secrets-operator/e2e_component_overrides_test.go Ginkgo v2 e2e test code (7 test cases across 4 contexts)
output/e2e_external-secrets-operator/test-cases.md Test case descriptions with steps and expected outcomes
output/e2e_external-secrets-operator/execution-steps.md Step-by-step oc commands for manual verification
output/e2e_external-secrets-operator/e2e-suggestions.md E2E scenario recommendations and gap analysis

E2E Test Coverage

  • ✅ Custom annotation propagation to all operand Deployments and Pod templates
  • ✅ Annotation update propagation (value changes are re-applied)
  • ✅ Per-component revisionHistoryLimit (single component)
  • ✅ Independent revisionHistoryLimit for multiple components
  • ✅ Override environment variables merged into containers
  • ✅ Combined deploymentConfig and overrideEnv on same component
  • ✅ Combined annotations and componentConfigs applied simultaneously

Dependencies

Test plan

  • Copy e2e_component_overrides_test.go to test/e2e/ directory
  • Run go build -tags e2e ./test/e2e/... to verify compilation
  • Run e2e tests against a cluster with the operator installed
  • Verify all 7 test cases pass

🤖 Generated with Claude Code

swghosh and others added 3 commits April 6, 2026 13:56
…-1898)

Extend the ExternalSecretsConfig API with:
- annotations: global custom annotations for all operand Deployments and Pod templates
- componentConfigs: per-component configuration overrides (Controller, Webhook,
  CertController, BitwardenSDKServer)
- deploymentConfig: deployment-level overrides including revisionHistoryLimit
- overrideEnv: custom environment variables per component with reserved prefix
  validation

Also extends ComponentName enum with Webhook and CertController values, adds
KVPair and Annotation types for structured annotation configuration, and includes
comprehensive integration test coverage for all new fields and validation rules.

Ref: openshift/enhancements#1898

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add controller implementation for the new ExternalSecretsConfig API fields:

- applyAnnotationsToDeployment: merges global annotations from
  ControllerConfig.Annotations into Deployment metadata and Pod template
  metadata for all operand components
- applyComponentConfig: applies per-component revisionHistoryLimit and
  overrideEnv from ComponentConfig to each component's Deployment
- mergeEnvVars: merges override environment variables into container env
  lists with precedence for user-specified values
- Helper functions: deploymentAssetNameForComponent, getComponentConfig,
  getComponentNameForDeploymentAsset for mapping between ComponentName
  enums and deployment asset names

The new logic integrates into the existing getDeploymentObject flow,
running after proxy configuration and before deployment creation/update.

Ref: openshift/enhancements#1898

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add e2e test cases, execution steps, Ginkgo test code, and suggestions
for the new annotations, componentConfigs, deploymentConfig, and
overrideEnv features introduced by EP-1898.

Test coverage includes:
- Custom annotation propagation to all operand Deployments
- Annotation update propagation
- Per-component revisionHistoryLimit configuration
- Per-component environment variable overrides
- Combined annotations and componentConfigs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci-robot
Copy link
Copy Markdown

@swghosh: No Jira issue with key EP-1898 exists in the tracker at https://redhat.atlassian.net.
Once a valid jira issue is referenced in the title of this pull request, request a refresh with /jira refresh.

Details

In response to this:

Summary

  • Adds e2e test artifacts for the annotations, componentConfigs, deploymentConfig, and overrideEnv features introduced by EP-1898
  • Includes Ginkgo v2 e2e test code covering: custom annotation propagation, annotation updates, per-component revisionHistoryLimit, per-component override env vars, and combined annotations + componentConfigs
  • Adds test case documentation, execution steps, and e2e scenario recommendations

Test Artifacts

File Description
output/e2e_external-secrets-operator/e2e_component_overrides_test.go Ginkgo v2 e2e test code (7 test cases across 4 contexts)
output/e2e_external-secrets-operator/test-cases.md Test case descriptions with steps and expected outcomes
output/e2e_external-secrets-operator/execution-steps.md Step-by-step oc commands for manual verification
output/e2e_external-secrets-operator/e2e-suggestions.md E2E scenario recommendations and gap analysis

E2E Test Coverage

  • ✅ Custom annotation propagation to all operand Deployments and Pod templates
  • ✅ Annotation update propagation (value changes are re-applied)
  • ✅ Per-component revisionHistoryLimit (single component)
  • ✅ Independent revisionHistoryLimit for multiple components
  • ✅ Override environment variables merged into containers
  • ✅ Combined deploymentConfig and overrideEnv on same component
  • ✅ Combined annotations and componentConfigs applied simultaneously

Dependencies

Test plan

  • Copy e2e_component_overrides_test.go to test/e2e/ directory
  • Run go build -tags e2e ./test/e2e/... to verify compilation
  • Run e2e tests against a cluster with the operator installed
  • Verify all 7 test cases pass

🤖 Generated with Claude Code

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 6, 2026

Important

Review skipped

Auto reviews are limited based on label configuration.

🚫 Review skipped — only excluded labels are configured. (1)
  • do-not-merge/work-in-progress

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: 758e5a58-bcc1-4fd6-b6a9-3792de4a74cc

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
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.

2 participants