Skip to content

Commit fa38e7f

Browse files
committed
Migrate ClusterImagePolicy/ImagePolicy to v1
Signed-off-by: Qi Wang <qiwan@redhat.com>
1 parent 36a1298 commit fa38e7f

File tree

177 files changed

+9368
-9528
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

177 files changed

+9368
-9528
lines changed

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ require (
3333
github.com/onsi/ginkgo/v2 v2.22.2
3434
github.com/onsi/gomega v1.36.2
3535
github.com/opencontainers/go-digest v1.0.0
36-
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250522124649-4ffcd156ec7c
37-
github.com/openshift/api v0.0.0-20250425163235-9b80d67473bc
38-
github.com/openshift/client-go v0.0.0-20250425165505-5f55ff6979a1
36+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250128181728-a95ca461cacf
37+
github.com/openshift/api v0.0.0-20250624181540-f9cb76628723
38+
github.com/openshift/client-go v0.0.0-20250623095455-7b2007868c76
3939
github.com/openshift/library-go v0.0.0-20250129210218-fe56c2cf5d70
4040
github.com/openshift/runtime-utils v0.0.0-20230921210328-7bdb5b9c177b
4141
github.com/prometheus/client_golang v1.20.5

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -575,12 +575,12 @@ github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE
575575
github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
576576
github.com/opencontainers/selinux v1.11.1 h1:nHFvthhM0qY8/m+vfhJylliSshm8G1jJ2jDMcgULaH8=
577577
github.com/opencontainers/selinux v1.11.1/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec=
578-
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250522124649-4ffcd156ec7c h1:R5dI2oOF2RtS1sKtLrhW9KMg0ydzF0XM2Q//ma55nWI=
579-
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250522124649-4ffcd156ec7c/go.mod h1:6gkP5f2HL0meusT0Aim8icAspcD1cG055xxBZ9yC68M=
580-
github.com/openshift/api v0.0.0-20250425163235-9b80d67473bc h1:BGKjHtYzBweOSu1UwTnNqtPbJZ4VzOTqVFlUDpP+6U8=
581-
github.com/openshift/api v0.0.0-20250425163235-9b80d67473bc/go.mod h1:yk60tHAmHhtVpJQo3TwVYq2zpuP70iJIFDCmeKMIzPw=
582-
github.com/openshift/client-go v0.0.0-20250425165505-5f55ff6979a1 h1:2HPG58V07TrrSGBviNPd0PY42vYHPPCIEwj/pb9nUlY=
583-
github.com/openshift/client-go v0.0.0-20250425165505-5f55ff6979a1/go.mod h1:kH5mjMfcHCF0tEnxwvNJTLMnlbrEt3Ua+vMVGvBOK5w=
578+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250128181728-a95ca461cacf h1:xAdvYS3qDIUFbNv94/EQ6Fu6WS/TlaAt9TSwbTUBJQU=
579+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250128181728-a95ca461cacf/go.mod h1:kXuC+wKAGTHl4J+sdweWnhO97DfM7OuEturAHZNczAg=
580+
github.com/openshift/api v0.0.0-20250624181540-f9cb76628723 h1:cAwMSvXtOWpQi7Ptk0zvt4JZpplJx0VopHJXe5GGUgg=
581+
github.com/openshift/api v0.0.0-20250624181540-f9cb76628723/go.mod h1:yk60tHAmHhtVpJQo3TwVYq2zpuP70iJIFDCmeKMIzPw=
582+
github.com/openshift/client-go v0.0.0-20250623095455-7b2007868c76 h1:tH4ZSE+YLzV6B8gsXCz/VDdWnkBo7TDST+fhGExWFig=
583+
github.com/openshift/client-go v0.0.0-20250623095455-7b2007868c76/go.mod h1:XdbrTCqQWLe1qJ/LgU5jcqJ2OX3VbhtZzgDjzlcbyzA=
584584
github.com/openshift/kubernetes v1.30.1-0.20250131233843-55625722a4b8 h1:iw1eJproBABuSVMzEhvANn/mjObdh2gp4Ls5WIIDde8=
585585
github.com/openshift/kubernetes v1.30.1-0.20250131233843-55625722a4b8/go.mod h1:4RS9VRpotH97uAid5TwHVizd4eCyQKUE/c0ufd6cATk=
586586
github.com/openshift/kubernetes/staging/src/k8s.io/api v0.0.0-20250131233843-55625722a4b8 h1:i+jqeyuJMXTBmnZVgQZ6XMFaW97vPxAePfF0VHS4ThI=

pkg/controller/bootstrap/bootstrap.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ func (b *Bootstrap) Run(destDir string) error {
8888
icspRules []*apioperatorsv1alpha1.ImageContentSourcePolicy
8989
idmsRules []*apicfgv1.ImageDigestMirrorSet
9090
itmsRules []*apicfgv1.ImageTagMirrorSet
91-
clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy
92-
imagePolicies []*apicfgv1alpha1.ImagePolicy
91+
clusterImagePolicies []*apicfgv1.ClusterImagePolicy
92+
imagePolicies []*apicfgv1.ImagePolicy
9393
imgCfg *apicfgv1.Image
9494
apiServer *apicfgv1.APIServer
9595
)
@@ -139,9 +139,9 @@ func (b *Bootstrap) Run(destDir string) error {
139139
itmsRules = append(itmsRules, obj)
140140
case *apicfgv1.Image:
141141
imgCfg = obj
142-
case *apicfgv1alpha1.ClusterImagePolicy:
142+
case *apicfgv1.ClusterImagePolicy:
143143
clusterImagePolicies = append(clusterImagePolicies, obj)
144-
case *apicfgv1alpha1.ImagePolicy:
144+
case *apicfgv1.ImagePolicy:
145145
imagePolicies = append(imagePolicies, obj)
146146
case *apicfgv1.FeatureGate:
147147
if obj.GetName() == ctrlcommon.ClusterFeatureInstanceName {

pkg/controller/container-runtime-config/container_runtime_config_controller.go

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
configinformers "github.com/openshift/client-go/config/informers/externalversions"
2020
cligoinformersv1 "github.com/openshift/client-go/config/informers/externalversions/config/v1"
2121
cligolistersv1 "github.com/openshift/client-go/config/listers/config/v1"
22-
cligolistersv1alpha1 "github.com/openshift/client-go/config/listers/config/v1alpha1"
2322
runtimeutils "github.com/openshift/runtime-utils/pkg/registries"
2423

2524
operatorinformersv1alpha1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1alpha1"
@@ -108,10 +107,10 @@ type Controller struct {
108107
itmsListerSynced cache.InformerSynced
109108

110109
configInformerFactory configinformers.SharedInformerFactory
111-
clusterImagePolicyLister cligolistersv1alpha1.ClusterImagePolicyLister
110+
clusterImagePolicyLister cligolistersv1.ClusterImagePolicyLister
112111
clusterImagePolicyListerSynced cache.InformerSynced
113112

114-
imagePolicyLister cligolistersv1alpha1.ImagePolicyLister
113+
imagePolicyLister cligolistersv1.ImagePolicyLister
115114
imagePolicyListerSynced cache.InformerSynced
116115
addedPolicyObservers bool
117116

@@ -321,15 +320,15 @@ func (ctrl *Controller) addImagePolicyObservers() {
321320
UpdateFunc: ctrl.clusterImagePolicyUpdated,
322321
DeleteFunc: ctrl.clusterImagePolicyDeleted,
323322
})
324-
ctrl.clusterImagePolicyLister = ctrl.configInformerFactory.Config().V1alpha1().ClusterImagePolicies().Lister()
323+
ctrl.clusterImagePolicyLister = ctrl.configInformerFactory.Config().V1().ClusterImagePolicies().Lister()
325324
ctrl.clusterImagePolicyListerSynced = ctrl.configInformerFactory.Config().V1alpha1().ClusterImagePolicies().Informer().HasSynced
326325

327326
ctrl.configInformerFactory.Config().V1alpha1().ImagePolicies().Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
328327
AddFunc: ctrl.imagePolicyAdded,
329328
UpdateFunc: ctrl.imagePolicyUpdated,
330329
DeleteFunc: ctrl.imagePolicyDeleted,
331330
})
332-
ctrl.imagePolicyLister = ctrl.configInformerFactory.Config().V1alpha1().ImagePolicies().Lister()
331+
ctrl.imagePolicyLister = ctrl.configInformerFactory.Config().V1().ImagePolicies().Lister()
333332
ctrl.imagePolicyListerSynced = ctrl.configInformerFactory.Config().V1alpha1().ImagePolicies().Informer().HasSynced
334333
}
335334

@@ -872,24 +871,24 @@ func (ctrl *Controller) syncImageConfig(key string) error {
872871
var (
873872
registriesBlocked, policyBlocked, allowedRegs []string
874873
releaseImage string
875-
clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy
874+
clusterImagePolicies []*apicfgv1.ClusterImagePolicy
876875
clusterScopePolicies map[string]signature.PolicyRequirements
877-
imagePolicies []*apicfgv1alpha1.ImagePolicy
876+
imagePolicies []*apicfgv1.ImagePolicy
878877
scopeNamespacePolicies map[string]map[string]signature.PolicyRequirements
879878
)
880879

881880
if ctrl.sigstoreAPIEnabled() && ctrl.addedPolicyObservers {
882881
// Find all ClusterImagePolicy objects
883882
clusterImagePolicies, err = ctrl.clusterImagePolicyLister.List(labels.Everything())
884883
if err != nil && errors.IsNotFound(err) {
885-
clusterImagePolicies = []*apicfgv1alpha1.ClusterImagePolicy{}
884+
clusterImagePolicies = []*apicfgv1.ClusterImagePolicy{}
886885
} else if err != nil {
887886
return nil
888887
}
889888
// Find all ImagePolicy objects
890889
imagePolicies, err = ctrl.imagePolicyLister.List(labels.Everything())
891890
if err != nil && errors.IsNotFound(err) {
892-
imagePolicies = []*apicfgv1alpha1.ImagePolicy{}
891+
imagePolicies = []*apicfgv1.ImagePolicy{}
893892
} else if err != nil {
894893
return nil
895894
}
@@ -1074,7 +1073,7 @@ func registriesConfigIgnition(templateDir string, controllerConfig *mcfgv1.Contr
10741073

10751074
// getValidScopePolicies returns a map[scope]policyRequirement from ClusterImagePolicy, a map[scope][namespace]policyRequirement from ImagePolicy CRs.
10761075
// It skips ImagePolicy scopes that conflict with ClusterImagePolicy scopes and logs the conflicting scopes in the ImagePolicy Status.
1077-
func getValidScopePolicies(clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy, imagePolicies []*apicfgv1alpha1.ImagePolicy, ctrl *Controller) (map[string]signature.PolicyRequirements, map[string]map[string]signature.PolicyRequirements, error) {
1076+
func getValidScopePolicies(clusterImagePolicies []*apicfgv1.ClusterImagePolicy, imagePolicies []*apicfgv1.ImagePolicy, ctrl *Controller) (map[string]signature.PolicyRequirements, map[string]map[string]signature.PolicyRequirements, error) {
10781077
clusterScopePolicies := make(map[string]signature.PolicyRequirements)
10791078
namespacePolicies := make(map[string]map[string]signature.PolicyRequirements)
10801079

@@ -1147,7 +1146,7 @@ func (ctrl *Controller) syncImagePolicyStatusOnly(namespace, imagepolicy, condit
11471146
// RunImageBootstrap generates MachineConfig objects for mcpPools that would have been generated by syncImageConfig,
11481147
// except that mcfgv1.Image is not available.
11491148
func RunImageBootstrap(templateDir string, controllerConfig *mcfgv1.ControllerConfig, mcpPools []*mcfgv1.MachineConfigPool, icspRules []*apioperatorsv1alpha1.ImageContentSourcePolicy,
1150-
idmsRules []*apicfgv1.ImageDigestMirrorSet, itmsRules []*apicfgv1.ImageTagMirrorSet, imgCfg *apicfgv1.Image, clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy, imagePolicies []*apicfgv1alpha1.ImagePolicy,
1149+
idmsRules []*apicfgv1.ImageDigestMirrorSet, itmsRules []*apicfgv1.ImageTagMirrorSet, imgCfg *apicfgv1.Image, clusterImagePolicies []*apicfgv1.ClusterImagePolicy, imagePolicies []*apicfgv1.ImagePolicy,
11511150
featureGateAccess featuregates.FeatureGateAccess) ([]*mcfgv1.MachineConfig, error) {
11521151

11531152
var (

pkg/controller/container-runtime-config/container_runtime_config_controller_test.go

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ type fixture struct {
7575
icspLister []*apioperatorsv1alpha1.ImageContentSourcePolicy
7676
idmsLister []*apicfgv1.ImageDigestMirrorSet
7777
itmsLister []*apicfgv1.ImageTagMirrorSet
78-
clusterImagePolicyLister []*apicfgv1alpha1.ClusterImagePolicy
79-
imagePolicyLister []*apicfgv1alpha1.ImagePolicy
78+
clusterImagePolicyLister []*apicfgv1.ClusterImagePolicy
79+
imagePolicyLister []*apicfgv1.ImagePolicy
8080

8181
actions []core.Action
8282
skipActionsValidation bool
@@ -212,20 +212,20 @@ func newClusterVersionConfig(name, desiredImage string) *apicfgv1.ClusterVersion
212212
}
213213
}
214214

215-
func newClusterImagePolicyWithPublicKey(name string, scopes []string, keyData []byte) *apicfgv1alpha1.ClusterImagePolicy {
216-
imgScopes := []apicfgv1alpha1.ImageScope{}
215+
func newClusterImagePolicyWithPublicKey(name string, scopes []string, keyData []byte) *apicfgv1.ClusterImagePolicy {
216+
imgScopes := []apicfgv1.ImageScope{}
217217
for _, scope := range scopes {
218-
imgScopes = append(imgScopes, apicfgv1alpha1.ImageScope(scope))
218+
imgScopes = append(imgScopes, apicfgv1.ImageScope(scope))
219219
}
220-
return &apicfgv1alpha1.ClusterImagePolicy{
220+
return &apicfgv1.ClusterImagePolicy{
221221
TypeMeta: metav1.TypeMeta{APIVersion: apicfgv1alpha1.SchemeGroupVersion.String()},
222222
ObjectMeta: metav1.ObjectMeta{Name: name, UID: types.UID(utilrand.String(5)), Generation: 1},
223-
Spec: apicfgv1alpha1.ClusterImagePolicySpec{
223+
Spec: apicfgv1.ClusterImagePolicySpec{
224224
Scopes: imgScopes,
225-
Policy: apicfgv1alpha1.Policy{
226-
RootOfTrust: apicfgv1alpha1.PolicyRootOfTrust{
227-
PolicyType: apicfgv1alpha1.PublicKeyRootOfTrust,
228-
PublicKey: &apicfgv1alpha1.PublicKey{
225+
Policy: apicfgv1.Policy{
226+
RootOfTrust: apicfgv1.PolicyRootOfTrust{
227+
PolicyType: apicfgv1.PublicKeyRootOfTrust,
228+
PublicKey: &apicfgv1.PublicKey{
229229
KeyData: keyData,
230230
},
231231
},
@@ -234,20 +234,20 @@ func newClusterImagePolicyWithPublicKey(name string, scopes []string, keyData []
234234
}
235235
}
236236

237-
func newImagePolicyWithPublicKey(name, namespace string, scopes []string, keyData []byte) *apicfgv1alpha1.ImagePolicy {
238-
imgScopes := []apicfgv1alpha1.ImageScope{}
237+
func newImagePolicyWithPublicKey(name, namespace string, scopes []string, keyData []byte) *apicfgv1.ImagePolicy {
238+
imgScopes := []apicfgv1.ImageScope{}
239239
for _, scope := range scopes {
240-
imgScopes = append(imgScopes, apicfgv1alpha1.ImageScope(scope))
240+
imgScopes = append(imgScopes, apicfgv1.ImageScope(scope))
241241
}
242-
return &apicfgv1alpha1.ImagePolicy{
242+
return &apicfgv1.ImagePolicy{
243243
TypeMeta: metav1.TypeMeta{APIVersion: apicfgv1alpha1.SchemeGroupVersion.String()},
244244
ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: namespace, UID: types.UID(utilrand.String(5)), Generation: 1},
245-
Spec: apicfgv1alpha1.ImagePolicySpec{
245+
Spec: apicfgv1.ImagePolicySpec{
246246
Scopes: imgScopes,
247-
Policy: apicfgv1alpha1.Policy{
248-
RootOfTrust: apicfgv1alpha1.PolicyRootOfTrust{
249-
PolicyType: apicfgv1alpha1.PublicKeyRootOfTrust,
250-
PublicKey: &apicfgv1alpha1.PublicKey{
247+
Policy: apicfgv1.Policy{
248+
RootOfTrust: apicfgv1.PolicyRootOfTrust{
249+
PolicyType: apicfgv1.PublicKeyRootOfTrust,
250+
PublicKey: &apicfgv1.PublicKey{
251251
KeyData: keyData,
252252
},
253253
},
@@ -474,7 +474,7 @@ type registriesConfigAndPolicyVerifyOptions struct {
474474
numberOfImagePolicyNamespaces int
475475
}
476476

477-
func (f *fixture) verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mcName string, imgcfg *apicfgv1.Image, icsp *apioperatorsv1alpha1.ImageContentSourcePolicy, idms *apicfgv1.ImageDigestMirrorSet, itms *apicfgv1.ImageTagMirrorSet, clusterImagePolicy *apicfgv1alpha1.ClusterImagePolicy, imagePolicy *apicfgv1alpha1.ImagePolicy, releaseImageReg string, opts registriesConfigAndPolicyVerifyOptions) {
477+
func (f *fixture) verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mcName string, imgcfg *apicfgv1.Image, icsp *apioperatorsv1alpha1.ImageContentSourcePolicy, idms *apicfgv1.ImageDigestMirrorSet, itms *apicfgv1.ImageTagMirrorSet, clusterImagePolicy *apicfgv1.ClusterImagePolicy, imagePolicy *apicfgv1.ImagePolicy, releaseImageReg string, opts registriesConfigAndPolicyVerifyOptions) {
478478
icsps := []*apioperatorsv1alpha1.ImageContentSourcePolicy{}
479479
if icsp != nil {
480480
icsps = append(icsps, icsp)
@@ -487,11 +487,11 @@ func (f *fixture) verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mcNa
487487
if itms != nil {
488488
itmss = append(itmss, itms)
489489
}
490-
clusterImagePolicies := []*apicfgv1alpha1.ClusterImagePolicy{}
490+
clusterImagePolicies := []*apicfgv1.ClusterImagePolicy{}
491491
if clusterImagePolicy != nil {
492492
clusterImagePolicies = append(clusterImagePolicies, clusterImagePolicy)
493493
}
494-
imagePolicies := []*apicfgv1alpha1.ImagePolicy{}
494+
imagePolicies := []*apicfgv1.ImagePolicy{}
495495
if imagePolicy != nil {
496496
imagePolicies = append(imagePolicies, imagePolicy)
497497
}
@@ -500,7 +500,7 @@ func (f *fixture) verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mcNa
500500
verifyRegistriesConfigAndPolicyJSONContents(t, updatedMC, mcName, imgcfg, icsps, idmss, itmss, clusterImagePolicies, imagePolicies, releaseImageReg, opts)
501501
}
502502

503-
func verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mc *mcfgv1.MachineConfig, mcName string, imgcfg *apicfgv1.Image, icsps []*apioperatorsv1alpha1.ImageContentSourcePolicy, idmss []*apicfgv1.ImageDigestMirrorSet, itmss []*apicfgv1.ImageTagMirrorSet, clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy, imagePolicies []*apicfgv1alpha1.ImagePolicy, releaseImageReg string, opts registriesConfigAndPolicyVerifyOptions) {
503+
func verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mc *mcfgv1.MachineConfig, mcName string, imgcfg *apicfgv1.Image, icsps []*apioperatorsv1alpha1.ImageContentSourcePolicy, idmss []*apicfgv1.ImageDigestMirrorSet, itmss []*apicfgv1.ImageTagMirrorSet, clusterImagePolicies []*apicfgv1.ClusterImagePolicy, imagePolicies []*apicfgv1.ImagePolicy, releaseImageReg string, opts registriesConfigAndPolicyVerifyOptions) {
504504
// This is not testing updateRegistriesConfig, which has its own tests; this verifies the created object contains the expected
505505
// configuration file.
506506
// First get the valid blocked registries to ensure we don't block the registry where the release image is from
@@ -1238,8 +1238,8 @@ func TestRunImageBootstrap(t *testing.T) {
12381238
icspRules []*apioperatorsv1alpha1.ImageContentSourcePolicy
12391239
idmsRules []*apicfgv1.ImageDigestMirrorSet
12401240
itmsRules []*apicfgv1.ImageTagMirrorSet
1241-
clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy
1242-
imagePolicies []*apicfgv1alpha1.ImagePolicy
1241+
clusterImagePolicies []*apicfgv1.ClusterImagePolicy
1242+
imagePolicies []*apicfgv1.ImagePolicy
12431243
imagePolicyNamespaces int
12441244
}{
12451245
{
@@ -1268,10 +1268,10 @@ func TestRunImageBootstrap(t *testing.T) {
12681268
},
12691269
},
12701270
{
1271-
clusterImagePolicies: []*apicfgv1alpha1.ClusterImagePolicy{
1271+
clusterImagePolicies: []*apicfgv1.ClusterImagePolicy{
12721272
&testClusterImagePolicy,
12731273
},
1274-
imagePolicies: []*apicfgv1alpha1.ImagePolicy{
1274+
imagePolicies: []*apicfgv1.ImagePolicy{
12751275
&testImagePolicy,
12761276
},
12771277
imagePolicyNamespaces: 1,

0 commit comments

Comments
 (0)