From ba581cd9e785e8f443727b209bdbd7555f803330 Mon Sep 17 00:00:00 2001
From: Qi Wang
Date: Fri, 8 Nov 2024 13:38:04 -0500
Subject: [PATCH] OCPNODE-2552:Add ImagePolicy to the list of valid config
manifests
Add ImagePolicy CRD to valid manifests as MCO bootstraps it. This is a namespaced CRD for image sigstore signature verification. Previously, we introduced the ClusterImagePolicy in PR #3894 to support IBM ROKS deployments.
This change aligns with our ongoing effort to ensure Hypershift remains consistent with OpenShift's functionality.
we also allow hypershift users to configure imagepolicy for their namespaces, make sure hypershift provides the same set of features as OpenShift.
Signed-off-by: Qi Wang
---
api/hypershift/v1beta1/nodepool_types.go | 1 +
.../nodepools.hypershift.openshift.io/AAA_ungated.yaml | 1 +
.../nodepools.hypershift.openshift.io/OpenStack.yaml | 1 +
.../nodepools-CustomNoUpgrade.crd.yaml | 1 +
.../zz_generated.crd-manifests/nodepools-Default.crd.yaml | 1 +
.../nodepools-TechPreviewNoUpgrade.crd.yaml | 1 +
docs/content/reference/api.md | 2 ++
hypershift-operator/controllers/nodepool/config.go | 1 +
.../hypershift/api/hypershift/v1beta1/nodepool_types.go | 1 +
9 files changed, 10 insertions(+)
diff --git a/api/hypershift/v1beta1/nodepool_types.go b/api/hypershift/v1beta1/nodepool_types.go
index c0f4a2c4cc75..06cfcb85e894 100644
--- a/api/hypershift/v1beta1/nodepool_types.go
+++ b/api/hypershift/v1beta1/nodepool_types.go
@@ -138,6 +138,7 @@ type NodePoolSpec struct {
// * ContainerRuntimeConfig
// * MachineConfig
// * ClusterImagePolicy
+ // * ImagePolicy
// * ImageContentSourcePolicy
// * ImageDigestMirrorSet
//
diff --git a/api/hypershift/v1beta1/zz_generated.featuregated-crd-manifests/nodepools.hypershift.openshift.io/AAA_ungated.yaml b/api/hypershift/v1beta1/zz_generated.featuregated-crd-manifests/nodepools.hypershift.openshift.io/AAA_ungated.yaml
index 469ede6623ea..303fcd043311 100644
--- a/api/hypershift/v1beta1/zz_generated.featuregated-crd-manifests/nodepools.hypershift.openshift.io/AAA_ungated.yaml
+++ b/api/hypershift/v1beta1/zz_generated.featuregated-crd-manifests/nodepools.hypershift.openshift.io/AAA_ungated.yaml
@@ -146,6 +146,7 @@ spec:
* ContainerRuntimeConfig
* MachineConfig
* ClusterImagePolicy
+ * ImagePolicy
* ImageContentSourcePolicy
* ImageDigestMirrorSet
diff --git a/api/hypershift/v1beta1/zz_generated.featuregated-crd-manifests/nodepools.hypershift.openshift.io/OpenStack.yaml b/api/hypershift/v1beta1/zz_generated.featuregated-crd-manifests/nodepools.hypershift.openshift.io/OpenStack.yaml
index 433465aa21ff..e1bb0334a72d 100644
--- a/api/hypershift/v1beta1/zz_generated.featuregated-crd-manifests/nodepools.hypershift.openshift.io/OpenStack.yaml
+++ b/api/hypershift/v1beta1/zz_generated.featuregated-crd-manifests/nodepools.hypershift.openshift.io/OpenStack.yaml
@@ -146,6 +146,7 @@ spec:
* ContainerRuntimeConfig
* MachineConfig
* ClusterImagePolicy
+ * ImagePolicy
* ImageContentSourcePolicy
* ImageDigestMirrorSet
diff --git a/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-CustomNoUpgrade.crd.yaml b/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-CustomNoUpgrade.crd.yaml
index 015454ffe3a9..3f130ee638f8 100644
--- a/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-CustomNoUpgrade.crd.yaml
+++ b/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-CustomNoUpgrade.crd.yaml
@@ -149,6 +149,7 @@ spec:
* ContainerRuntimeConfig
* MachineConfig
* ClusterImagePolicy
+ * ImagePolicy
* ImageContentSourcePolicy
* ImageDigestMirrorSet
diff --git a/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-Default.crd.yaml b/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-Default.crd.yaml
index 9c4a52469f2b..1031332059b3 100644
--- a/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-Default.crd.yaml
+++ b/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-Default.crd.yaml
@@ -149,6 +149,7 @@ spec:
* ContainerRuntimeConfig
* MachineConfig
* ClusterImagePolicy
+ * ImagePolicy
* ImageContentSourcePolicy
* ImageDigestMirrorSet
diff --git a/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-TechPreviewNoUpgrade.crd.yaml b/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-TechPreviewNoUpgrade.crd.yaml
index f3b17b2cefb1..1828065d80e3 100644
--- a/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-TechPreviewNoUpgrade.crd.yaml
+++ b/cmd/install/assets/hypershift-operator/zz_generated.crd-manifests/nodepools-TechPreviewNoUpgrade.crd.yaml
@@ -149,6 +149,7 @@ spec:
* ContainerRuntimeConfig
* MachineConfig
* ClusterImagePolicy
+ * ImagePolicy
* ImageContentSourcePolicy
* ImageDigestMirrorSet
diff --git a/docs/content/reference/api.md b/docs/content/reference/api.md
index 683fbd72fcbc..ff9281d60609 100644
--- a/docs/content/reference/api.md
+++ b/docs/content/reference/api.md
@@ -803,6 +803,7 @@ with one or more serialized machineconfiguration.openshift.io resources:
ContainerRuntimeConfig
MachineConfig
ClusterImagePolicy
+ImagePolicy
ImageContentSourcePolicy
ImageDigestMirrorSet
@@ -8417,6 +8418,7 @@ with one or more serialized machineconfiguration.openshift.io resources:
ContainerRuntimeConfig
MachineConfig
ClusterImagePolicy
+ImagePolicy
ImageContentSourcePolicy
ImageDigestMirrorSet
diff --git a/hypershift-operator/controllers/nodepool/config.go b/hypershift-operator/controllers/nodepool/config.go
index 68e5e619c3ac..43ac7e2fdf5d 100644
--- a/hypershift-operator/controllers/nodepool/config.go
+++ b/hypershift-operator/controllers/nodepool/config.go
@@ -288,6 +288,7 @@ func (cg *ConfigGenerator) defaultAndValidateConfigManifest(manifest []byte) ([]
case *v1alpha1.ImageContentSourcePolicy:
case *configv1.ImageDigestMirrorSet:
case *configv1alpha1.ClusterImagePolicy:
+ case *configv1alpha1.ImagePolicy:
case *mcfgv1.KubeletConfig:
obj.Spec.MachineConfigPoolSelector = &metav1.LabelSelector{
MatchLabels: map[string]string{
diff --git a/vendor/github.com/openshift/hypershift/api/hypershift/v1beta1/nodepool_types.go b/vendor/github.com/openshift/hypershift/api/hypershift/v1beta1/nodepool_types.go
index c0f4a2c4cc75..06cfcb85e894 100644
--- a/vendor/github.com/openshift/hypershift/api/hypershift/v1beta1/nodepool_types.go
+++ b/vendor/github.com/openshift/hypershift/api/hypershift/v1beta1/nodepool_types.go
@@ -138,6 +138,7 @@ type NodePoolSpec struct {
// * ContainerRuntimeConfig
// * MachineConfig
// * ClusterImagePolicy
+ // * ImagePolicy
// * ImageContentSourcePolicy
// * ImageDigestMirrorSet
//