Skip to content

Commit 5ba0282

Browse files
authored
Merge pull request crossplane#6157 from phisco/environmentconfigs-plz-let-me-rollback
fix(environmentConfigs): revert to v1alpha1 as storageversion to fix rollback issues
2 parents 0d806ba + 2ffc527 commit 5ba0282

File tree

6 files changed

+28
-8
lines changed

6 files changed

+28
-8
lines changed

apis/apiextensions/v1alpha1/zz_generated.environment_config_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
)
2525

2626
// +kubebuilder:object:root=true
27+
// +kubebuilder:storageversion
2728
// +genclient
2829
// +genclient:nonNamespaced
2930

apis/apiextensions/v1beta1/environment_config_types.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
)
2323

2424
// +kubebuilder:object:root=true
25-
// +kubebuilder:storageversion
2625
// +genclient
2726
// +genclient:nonNamespaced
2827

apis/generate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ limitations under the License.
3131
//go:generate ../hack/duplicate_api_type.sh apiextensions/v1/composition_patches.go apiextensions/v1beta1
3232
//go:generate ../hack/duplicate_api_type.sh apiextensions/v1/composition_transforms.go apiextensions/v1beta1
3333

34-
//go:generate ../hack/duplicate_api_type.sh apiextensions/v1beta1/environment_config_types.go apiextensions/v1alpha1
34+
//go:generate ../hack/duplicate_api_type.sh apiextensions/v1beta1/environment_config_types.go apiextensions/v1alpha1 true
3535

3636
//go:generate ../hack/duplicate_api_type.sh pkg/v1/package_types.go pkg/v1beta1
3737
//go:generate ../hack/duplicate_api_type.sh pkg/v1/package_runtime_types.go pkg/v1beta1

cluster/crds/apiextensions.crossplane.io_environmentconfigs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ spec:
5858
type: object
5959
type: object
6060
served: true
61-
storage: false
61+
storage: true
6262
subresources: {}
6363
- additionalPrinterColumns:
6464
- jsonPath: .metadata.creationTimestamp
@@ -100,5 +100,5 @@ spec:
100100
type: object
101101
type: object
102102
served: true
103-
storage: true
103+
storage: false
104104
subresources: {}

cmd/crossplane/core/init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func (c *initCommand) Run(s *runtime.Scheme, log logging.Logger) error {
7373
steps = append(steps,
7474
initializer.NewTLSCertificateGenerator(c.Namespace, c.TLSCASecretName, tlsGeneratorOpts...),
7575
initializer.NewCoreCRDsMigrator("compositionrevisions.apiextensions.crossplane.io", "v1alpha1"),
76-
initializer.NewCoreCRDsMigrator("environmentconfigs.apiextensions.crossplane.io", "v1alpha1"),
76+
initializer.NewCoreCRDsMigrator("environmentconfigs.apiextensions.crossplane.io", "v1beta1"),
7777
initializer.NewCoreCRDsMigrator("functions.pkg.crossplane.io", "v1beta1"),
7878
initializer.NewCoreCRDsMigrator("functionrevisions.pkg.crossplane.io", "v1beta1"),
7979
initializer.NewCoreCRDsMigrator("locks.pkg.crossplane.io", "v1alpha1"),

hack/duplicate_api_type.sh

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ set -e
1313

1414
FROM_PATH=${1}
1515
TO_DIR=${2}
16+
STORAGE_VERSION=${3:-false}
1617

1718
DO_NOT_EDIT="// Generated from ${FROM_PATH} by ${0}. DO NOT EDIT."
1819

@@ -23,6 +24,25 @@ FROM_PACKAGE=$(basename ${FROM_DIR})
2324
TO_PACKAGE=$(basename ${TO_DIR})
2425
TO_PATH="${TO_DIR}/zz_generated.${FROM_FILE}"
2526

26-
sed "s#^package ${FROM_PACKAGE}\$#${DO_NOT_EDIT}\n\npackage ${TO_PACKAGE}#" ${FROM_PATH} | grep -v '// +kubebuilder:storageversion' > ${TO_PATH}
27-
28-
echo "Duplicated ${FROM_PATH} (package ${FROM_PACKAGE}) to ${TO_PATH} (package ${TO_PACKAGE})."
27+
sed "s#^package ${FROM_PACKAGE}\$#${DO_NOT_EDIT}\n\npackage ${TO_PACKAGE}#" ${FROM_PATH} > ${TO_PATH}
28+
29+
case $STORAGE_VERSION in
30+
true)
31+
if grep -q "+kubebuilder:storageversion" ${FROM_PATH}; then
32+
echo "Error: ${FROM_PATH} is marked as storage version and cannot be duplicated without dropping the marker."
33+
exit 1
34+
fi
35+
# Add the storageVersion marker before // +genclient
36+
sed -i '\/\/ +genclient$/i\/\/ +kubebuilder:storageversion' ${TO_PATH}
37+
echo "Duplicated ${FROM_PATH} (package ${FROM_PACKAGE}) to ${TO_PATH} (package ${TO_PACKAGE})."
38+
;;
39+
false)
40+
# Remove the +kubebuilder:storageversion comment marker
41+
sed -i '/+kubebuilder:storageversion/d' ${TO_PATH}
42+
echo "Duplicated ${FROM_PATH} (package ${FROM_PACKAGE}) to ${TO_PATH} (package ${TO_PACKAGE}), removed storage version marker."
43+
;;
44+
*)
45+
echo "Error: Invalid STORAGE_VERSION value: ${STORAGE_VERSION}"
46+
exit 1
47+
;;
48+
esac

0 commit comments

Comments
 (0)