diff --git a/charts/hub-agent/crdbases/cluster.kubernetes-fleet.io_internalmemberclusters.yaml b/charts/hub-agent/crdbases/cluster.kubernetes-fleet.io_internalmemberclusters.yaml deleted file mode 120000 index 81343bc3f..000000000 --- a/charts/hub-agent/crdbases/cluster.kubernetes-fleet.io_internalmemberclusters.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../config/crd/bases/cluster.kubernetes-fleet.io_internalmemberclusters.yaml \ No newline at end of file diff --git a/charts/hub-agent/crdbases/cluster.kubernetes-fleet.io_memberclusters.yaml b/charts/hub-agent/crdbases/cluster.kubernetes-fleet.io_memberclusters.yaml deleted file mode 120000 index 88640f17a..000000000 --- a/charts/hub-agent/crdbases/cluster.kubernetes-fleet.io_memberclusters.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../config/crd/bases/cluster.kubernetes-fleet.io_memberclusters.yaml \ No newline at end of file diff --git a/charts/hub-agent/crdbases/placement.kubernetes-fleet.io_clusterresourceplacements.yaml b/charts/hub-agent/crdbases/placement.kubernetes-fleet.io_clusterresourceplacements.yaml deleted file mode 120000 index 73d196c43..000000000 --- a/charts/hub-agent/crdbases/placement.kubernetes-fleet.io_clusterresourceplacements.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../config/crd/bases/placement.kubernetes-fleet.io_clusterresourceplacements.yaml \ No newline at end of file diff --git a/charts/hub-agent/crdbases/placement.kubernetes-fleet.io_works.yaml b/charts/hub-agent/crdbases/placement.kubernetes-fleet.io_works.yaml deleted file mode 120000 index 1dd97bf95..000000000 --- a/charts/hub-agent/crdbases/placement.kubernetes-fleet.io_works.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../config/crd/bases/placement.kubernetes-fleet.io_works.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/crps.yaml b/charts/hub-agent/templates/crds/crps.yaml index 6b8aa0258..8bc29c4e0 100644 --- a/charts/hub-agent/templates/crds/crps.yaml +++ b/charts/hub-agent/templates/crds/crps.yaml @@ -2,7 +2,3 @@ {{ if .Values.enableV1Alpha1APIs }} {{ $files.Get "crdbases/fleet.azure.com_clusterresourceplacements.yaml" }} {{ end }} ---- -{{ if .Values.enableV1Beta1APIs }} - {{ $files.Get "crdbases/placement.kubernetes-fleet.io_clusterresourceplacements.yaml" }} -{{ end }} diff --git a/charts/hub-agent/templates/crds/internalmemberclusters.yaml b/charts/hub-agent/templates/crds/internalmemberclusters.yaml index 554d05d60..cca94a221 100644 --- a/charts/hub-agent/templates/crds/internalmemberclusters.yaml +++ b/charts/hub-agent/templates/crds/internalmemberclusters.yaml @@ -2,7 +2,3 @@ {{ if .Values.enableV1Alpha1APIs }} {{ $files.Get "crdbases/fleet.azure.com_internalmemberclusters.yaml" }} {{ end }} ---- -{{ if .Values.enableV1Beta1APIs }} - {{ $files.Get "crdbases/cluster.kubernetes-fleet.io_internalmemberclusters.yaml" }} -{{ end }} diff --git a/charts/hub-agent/templates/crds/memberclusters.yaml b/charts/hub-agent/templates/crds/memberclusters.yaml index eb4e7417e..3d35b4200 100644 --- a/charts/hub-agent/templates/crds/memberclusters.yaml +++ b/charts/hub-agent/templates/crds/memberclusters.yaml @@ -2,7 +2,3 @@ {{ if .Values.enableV1Alpha1APIs }} {{ $files.Get "crdbases/fleet.azure.com_memberclusters.yaml" }} {{ end }} ---- -{{ if .Values.enableV1Beta1APIs }} - {{ $files.Get "crdbases/cluster.kubernetes-fleet.io_memberclusters.yaml" }} -{{ end }} diff --git a/charts/hub-agent/templates/crds/multicluster.x-k8s.io_clusterprofiles.yaml b/charts/hub-agent/templates/crds/multicluster.x-k8s.io_clusterprofiles.yaml deleted file mode 120000 index 88e5230ab..000000000 --- a/charts/hub-agent/templates/crds/multicluster.x-k8s.io_clusterprofiles.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/multicluster.x-k8s.io_clusterprofiles.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterapprovalrequests.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterapprovalrequests.yaml deleted file mode 120000 index 716e47390..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterapprovalrequests.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterapprovalrequests.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourcebindings.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourcebindings.yaml deleted file mode 120000 index e9d18fa79..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourcebindings.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterresourcebindings.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceenvelopes.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceenvelopes.yaml deleted file mode 100644 index 9b00cfba7..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceenvelopes.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.0 - name: clusterresourceenvelopes.placement.kubernetes-fleet.io -spec: - group: placement.kubernetes-fleet.io - names: - categories: - - fleet - - fleet-placement - kind: ClusterResourceEnvelope - listKind: ClusterResourceEnvelopeList - plural: clusterresourceenvelopes - singular: clusterresourceenvelope - scope: Cluster - versions: - - name: v1beta1 - schema: - openAPIV3Schema: - description: ClusterResourceEnvelope wraps cluster-scoped resources for placement. - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - data: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - description: |- - The manifests wrapped in this envelope. - - Each manifest is uniquely identified by a string key, typically a filename that represents - the manifest. The value is the manifest object itself. - maxProperties: 50 - minProperties: 1 - type: object - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - required: - - data - type: object - served: true - storage: true diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceoverrides.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceoverrides.yaml deleted file mode 120000 index 87d704935..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceoverrides.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterresourceoverrides.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceoverridesnapshots.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceoverridesnapshots.yaml deleted file mode 120000 index 7dd7cd111..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceoverridesnapshots.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterresourceoverridesnapshots.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceplacementdisruptionbudgets.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceplacementdisruptionbudgets.yaml deleted file mode 120000 index a011730ce..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceplacementdisruptionbudgets.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterresourceplacementdisruptionbudgets.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceplacementevictions.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceplacementevictions.yaml deleted file mode 120000 index 0b81ccd12..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceplacementevictions.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterresourceplacementevictions.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourcesnapshots.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourcesnapshots.yaml deleted file mode 120000 index 27aba0018..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourcesnapshots.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterresourcesnapshots.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterschedulingpolicysnapshots.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterschedulingpolicysnapshots.yaml deleted file mode 120000 index 3425009fb..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterschedulingpolicysnapshots.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterschedulingpolicysnapshots.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterstagedupdateruns.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterstagedupdateruns.yaml deleted file mode 120000 index d14b51e3e..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterstagedupdateruns.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterstagedupdateruns.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterstagedupdatestrategies.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterstagedupdatestrategies.yaml deleted file mode 120000 index 6feb2634f..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterstagedupdatestrategies.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterstagedupdatestrategies.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceenvelopes.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceenvelopes.yaml deleted file mode 100644 index 963e66c40..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceenvelopes.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.0 - name: resourceenvelopes.placement.kubernetes-fleet.io -spec: - group: placement.kubernetes-fleet.io - names: - categories: - - fleet - - fleet-placement - kind: ResourceEnvelope - listKind: ResourceEnvelopeList - plural: resourceenvelopes - singular: resourceenvelope - scope: Namespaced - versions: - - name: v1beta1 - schema: - openAPIV3Schema: - description: ResourceEnvelope wraps namespaced resources for placement. - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - data: - additionalProperties: - type: object - x-kubernetes-preserve-unknown-fields: true - description: |- - The manifests wrapped in this envelope. - - Each manifest is uniquely identified by a string key, typically a filename that represents - the manifest. The value is the manifest object itself. - maxProperties: 50 - minProperties: 1 - type: object - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - required: - - data - type: object - served: true - storage: true diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceoverrides.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceoverrides.yaml deleted file mode 120000 index 11cab882a..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceoverrides.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_resourceoverrides.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceoverridesnapshots.yaml b/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceoverridesnapshots.yaml deleted file mode 120000 index dc01c97d6..000000000 --- a/charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceoverridesnapshots.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../../config/crd/bases/placement.kubernetes-fleet.io_resourceoverridesnapshots.yaml \ No newline at end of file diff --git a/charts/hub-agent/templates/crds/works.yaml b/charts/hub-agent/templates/crds/works.yaml index 9b0ac1e5c..da60964a6 100644 --- a/charts/hub-agent/templates/crds/works.yaml +++ b/charts/hub-agent/templates/crds/works.yaml @@ -2,7 +2,3 @@ {{ if .Values.enableV1Alpha1APIs }} {{ $files.Get "crdbases/multicluster.x-k8s.io_works.yaml" }} {{ end }} ---- -{{ if .Values.enableV1Beta1APIs }} - {{ $files.Get "crdbases/placement.kubernetes-fleet.io_works.yaml" }} -{{ end }} diff --git a/charts/member-agent/crdbases/placement.kubernetes-fleet.io_appliedworks.yaml b/charts/member-agent/crdbases/placement.kubernetes-fleet.io_appliedworks.yaml deleted file mode 120000 index 9ee31742e..000000000 --- a/charts/member-agent/crdbases/placement.kubernetes-fleet.io_appliedworks.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../config/crd/bases/placement.kubernetes-fleet.io_appliedworks.yaml \ No newline at end of file diff --git a/charts/member-agent/templates/crds/appliedworks.yaml b/charts/member-agent/templates/crds/appliedworks.yaml index 17d27ee5c..727a463e2 100644 --- a/charts/member-agent/templates/crds/appliedworks.yaml +++ b/charts/member-agent/templates/crds/appliedworks.yaml @@ -2,7 +2,3 @@ {{ if .Values.enableV1Alpha1APIs }} {{ $files.Get "crdbases/multicluster.x-k8s.io_appliedworks.yaml" }} {{ end }} ---- -{{ if .Values.enableV1Beta1APIs }} - {{ $files.Get "crdbases/placement.kubernetes-fleet.io_appliedworks.yaml" }} -{{ end }} diff --git a/test/upgrade/setup.sh b/test/upgrade/setup.sh index 053694aa8..1aa568aef 100755 --- a/test/upgrade/setup.sh +++ b/test/upgrade/setup.sh @@ -27,6 +27,7 @@ export OUTPUT_TYPE="${OUTPUT_TYPE:-type=docker}" export HUB_AGENT_IMAGE="${HUB_AGENT_IMAGE:-hub-agent}" export MEMBER_AGENT_IMAGE="${MEMBER_AGENT_IMAGE:-member-agent}" export REFRESH_TOKEN_IMAGE="${REFRESH_TOKEN_IMAGE:-refresh-token}" +export CRD_INSTALLER_IMAGE="${CRD_INSTALLER_IMAGE:-crd-installer}" # Build the Fleet agent images. echo "Building and the Fleet agent images..." @@ -34,6 +35,7 @@ echo "Building and the Fleet agent images..." TAG=$IMAGE_TAG make docker-build-hub-agent TAG=$IMAGE_TAG make docker-build-member-agent TAG=$IMAGE_TAG make docker-build-refresh-token +TAG=$IMAGE_TAG make docker-build-crd-installer # Create the kind clusters. echo "Creating the kind clusters..." @@ -51,11 +53,13 @@ done # Load the hub agent image into the hub cluster. kind load docker-image --name $HUB_CLUSTER $REGISTRY/$HUB_AGENT_IMAGE:$IMAGE_TAG +kind load docker-image --name $HUB_CLUSTER $REGISTRY/$CRD_INSTALLER_IMAGE:$IMAGE_TAG # Load the member agent image and the refresh token image into the member clusters. for i in "${MEMBER_CLUSTERS[@]}" do kind load docker-image --name "$i" $REGISTRY/$MEMBER_AGENT_IMAGE:$IMAGE_TAG + kind load docker-image --name "$i" $REGISTRY/$CRD_INSTALLER_IMAGE:$IMAGE_TAG kind load docker-image --name "$i" $REGISTRY/$REFRESH_TOKEN_IMAGE:$IMAGE_TAG done @@ -67,6 +71,10 @@ helm install hub-agent charts/hub-agent/ \ --set image.pullPolicy=Never \ --set image.repository=$REGISTRY/$HUB_AGENT_IMAGE \ --set image.tag=$IMAGE_TAG \ + --set crdInstaller.enabled=true \ + --set crdInstaller.image.repository=$REGISTRY/$CRD_INSTALLER_IMAGE \ + --set crdInstaller.image.tag=$IMAGE_TAG \ + --set crdInstaller.image.pullPolicy=Never \ --set namespace=fleet-system \ --set logVerbosity=5 \ --set enableWebhook=false \ @@ -119,6 +127,10 @@ do --set config.hubURL=$HUB_SERVER_URL \ --set image.repository=$REGISTRY/$MEMBER_AGENT_IMAGE \ --set image.tag=$IMAGE_TAG \ + --set crdInstaller.enabled=true \ + --set crdInstaller.image.repository=$REGISTRY/$CRD_INSTALLER_IMAGE \ + --set crdInstaller.image.tag=$IMAGE_TAG \ + --set crdInstaller.image.pullPolicy=Never \ --set refreshtoken.repository=$REGISTRY/$REFRESH_TOKEN_IMAGE \ --set refreshtoken.tag=$IMAGE_TAG \ --set image.pullPolicy=Never \ diff --git a/test/upgrade/upgrade.sh b/test/upgrade/upgrade.sh index f464cbd70..b84e0b060 100755 --- a/test/upgrade/upgrade.sh +++ b/test/upgrade/upgrade.sh @@ -19,6 +19,7 @@ export OUTPUT_TYPE="${OUTPUT_TYPE:-type=docker}" export HUB_AGENT_IMAGE="${HUB_AGENT_IMAGE:-hub-agent}" export MEMBER_AGENT_IMAGE="${MEMBER_AGENT_IMAGE:-member-agent}" export REFRESH_TOKEN_IMAGE="${REFRESH_TOKEN_IMAGE:-refresh-token}" +export CRD_INSTALLER_IMAGE="${CRD_INSTALLER_IMAGE:-crd-installer}" export UPGRADE_HUB_SIDE="${UPGRADE_HUB_SIDE:-}" export UPGRADE_MEMBER_SIDE="${UPGRADE_MEMBER_SIDE:-}" @@ -33,16 +34,19 @@ echo "Building and the Fleet agent images..." TAG=$IMAGE_TAG make docker-build-hub-agent TAG=$IMAGE_TAG make docker-build-member-agent TAG=$IMAGE_TAG make docker-build-refresh-token +TAG=$IMAGE_TAG make docker-build-crd-installer # Load the Fleet agent images (for upgrading) into the kind clusters. # Load the hub agent image into the hub cluster. kind load docker-image --name $HUB_CLUSTER $REGISTRY/$HUB_AGENT_IMAGE:$IMAGE_TAG +kind load docker-image --name $HUB_CLUSTER $REGISTRY/$CRD_INSTALLER_IMAGE:$IMAGE_TAG # Load the member agent image and the refresh token image into the member clusters. for i in "${MEMBER_CLUSTERS[@]}" do kind load docker-image --name "$i" $REGISTRY/$MEMBER_AGENT_IMAGE:$IMAGE_TAG + kind load docker-image --name "$i" $REGISTRY/$CRD_INSTALLER_IMAGE:$IMAGE_TAG kind load docker-image --name "$i" $REGISTRY/$REFRESH_TOKEN_IMAGE:$IMAGE_TAG done @@ -56,6 +60,10 @@ if [ -n "$UPGRADE_HUB_SIDE" ]; then --set image.pullPolicy=Never \ --set image.repository=$REGISTRY/$HUB_AGENT_IMAGE \ --set image.tag=$IMAGE_TAG \ + --set crdInstaller.enabled=true \ + --set crdInstaller.image.repository=$REGISTRY/$CRD_INSTALLER_IMAGE \ + --set crdInstaller.image.tag=$IMAGE_TAG \ + --set crdInstaller.image.pullPolicy=Never \ --set namespace=fleet-system \ --set logVerbosity=5 \ --set enableWebhook=true \ @@ -81,6 +89,10 @@ if [ -n "$UPGRADE_MEMBER_SIDE" ]; then --set config.hubURL=$HUB_SERVER_URL \ --set image.repository=$REGISTRY/$MEMBER_AGENT_IMAGE \ --set image.tag=$IMAGE_TAG \ + --set crdInstaller.enabled=true \ + --set crdInstaller.image.repository=$REGISTRY/$CRD_INSTALLER_IMAGE \ + --set crdInstaller.image.tag=$IMAGE_TAG \ + --set crdInstaller.image.pullPolicy=Never \ --set refreshtoken.repository=$REGISTRY/$REFRESH_TOKEN_IMAGE \ --set refreshtoken.tag=$IMAGE_TAG \ --set image.pullPolicy=Never \