CM-830: Add trust-manager e2e tests - #486
CM-830: Add trust-manager e2e tests#486openshift-app-platform-shift[bot] wants to merge 3 commits into
Conversation
Introduces the TrustManager CRD (trustmanagers.operator.openshift.io/v1alpha1) to support deploying and managing the trust-manager operand via cert-manager-operator. This adds: - TrustManager API types with spec/status fields for configuring trust-manager operand behavior (log level/format, trust namespace, secret targets, default CA package, filtering expired certificates, scheduling) - TrustManager FeatureGate (Alpha/TechPreview, default disabled) - Singleton enforcement via XValidation (name must be "cluster") - Immutability on trustNamespace via XValidation - Cross-field CEL validation on SecretTargetsConfig - Integration test suite (.testsuite.yaml) covering create and update scenarios - Generated deepcopy, CRD manifest, clientset, informers, listers, and apply configurations Ref: openshift/enhancements#1914 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements the trust-manager controller for cert-manager-operator following the IstioCSR controller patterns. The controller reconciles TrustManager CRs to deploy and manage the trust-manager operand in the cert-manager namespace. This adds: - Controller package (pkg/controller/trustmanager/) with full reconciliation logic for ServiceAccount, RBAC, Certificate/Issuer, Deployment, Services, and ValidatingWebhookConfiguration resources - Dynamic Deployment args based on TrustManager CR spec (log level/format, trust namespace, secret targets, default CA package, expired cert filtering) - Dynamic ClusterRole rules based on secretTargets.policy configuration - DefaultCAPackage support using OpenShift trusted CA bundle injection - Static YAML manifests in bindata/trust-manager/ for all managed resources - Controller registration in setup_manager.go with composite cache builder - Feature gate check in starter.go (TrustManager gate, Alpha/TechPreview) - Updated RBAC role manifest for trust-manager controller permissions Ref: openshift/enhancements#1914 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds comprehensive end-to-end tests for the trust-manager operand lifecycle, verifying deployment, configuration, RBAC, status reporting, and resource label management. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@openshift-app-platform-shift[bot]: This pull request references CM-830 which is a valid jira issue. DetailsIn response to this:
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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: openshift-app-platform-shift[bot] The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @openshift-app-platform-shift[bot]. Thanks for your PR. I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions 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 kubernetes-sigs/prow repository. |
Summary
Test Scenarios
Basic Deployment Lifecycle
Deployment Configuration
Secret Targets Configuration
Status Reporting
Resource Labels
New Files
test/e2e/trust_manager_test.go- E2E test suite (10 test cases, ~530 lines)test/e2e/testdata/trust_manager/trust_manager_minimal_template.yaml- Minimal CR templatetest/e2e/testdata/trust_manager/trust_manager_template.yaml- Configurable CR templateDependencies
Test plan
go build -tags e2e ./test/e2e/...compiles cleanlygo vet -tags e2e ./test/e2e/...passesFeature:TrustManagercan be filtered in CI🤖 Generated with Claude Code