You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
registry+v1: add APIService renderer support (OPRUN-4723)
The registry+v1 bundle renderer had no generator for APIService objects
from csv.spec.apiservicedefinitions.owned. This meant operators exposing
extension APIs via aggregation could not be migrated to OLMv1 (C3 hard
block in the migration tool).
Changes:
generators.go:
- BundleCSVAPIServiceGenerator: reads csv.spec.apiservicedefinitions.owned
and emits an APIService object for each entry (group=desc.Group,
version=desc.Version, GroupPriorityMinimum=2000, VersionPriority=15,
service reference to the certProvisioner's service in install namespace).
CA bundle injected via the CertificateProvider in opts.
- BundleCSVDeploymentGenerator: extended to inject apiservice-cert volume
and volume mounts into deployments that serve APIServices, matching the
existing webhook-cert injection path.
- BundleDeploymentServiceResourceGenerator: extended to create Services
for APIService-serving deployments (matching the webhook service path).
validators/validator.go:
- CheckAPIServiceDeploymentReferentialIntegrity: validates that every
owned APIService references a deployment that exists in the CSV install
spec, preventing misconfigured bundles from being installed.
certproviders/certmanager.go, openshift_serviceca.go:
- Added *apiregistrationv1.APIService case to InjectCABundle so the
cert-manager and openshift-service-ca providers annotate APIService
objects for CA bundle injection.
registryv1.go:
- Registered BundleCSVAPIServiceGenerator and
CheckAPIServiceDeploymentReferentialIntegrity.
Tests:
- generators_test.go: 4 tests for BundleCSVAPIServiceGenerator covering
zero-owned case, single APIService, multiple APIServices, and empty
DeploymentName fallback port.
- registryv1_test.go: enumeration tests updated.
go.mod/go.sum: upgraded k8s.io/kube-aggregator v0.36.2→v0.36.3.
Once this merges, the C3 hard block is removed from the migration tool
(operators with APIService definitions become Eligible with no override).
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Todd Short <tshort@redhat.com>
0 commit comments