@@ -19,6 +19,10 @@ KUTTL ?= kubectl-kuttl
1919KUTTL_TEST ?= $(KUTTL ) test
2020SED := $(shell which gsed || which sed)
2121
22+ # CRDs without descriptions are used in Helm and Bundles to avoid hitting the maximum file size limit.
23+ CRD_OPTIONS ?= crd:crdVersions='v1'
24+ CRD_OPTIONS_WITHOUT_DESCRIPTION = crd:crdVersions='v1',maxDescLen=0
25+
2226# #@ General
2327
2428# The help target prints out all targets with their descriptions organized
@@ -241,22 +245,22 @@ generate: generate-cw
241245.PHONY : generate-crunchy-crd
242246generate-crunchy-crd : # # Generate crd
243247 GOBIN=' $(CURDIR)/hack/tools' ./hack/controller-generator.sh \
244- crd:crdVersions= ' v1 ' \
248+ $( CRD_OPTIONS ) \
245249 paths=' ./pkg/apis/upstream.pgv2.percona.com/...' \
246250 output:dir=' build/crd/crunchy/generated' # build/crd/generated/{group}_{plural}.yaml
247251 @
248252 GOBIN=' $(CURDIR)/hack/tools' ./hack/controller-generator.sh \
249- crd:crdVersions= ' v1 ' \
253+ $( CRD_OPTIONS ) \
250254 paths=' ./pkg/apis/...' \
251255 output:dir=' build/crd/pgupgrades/generated' # build/crd/{plural}/generated/{group}_{plural}.yaml
252256 @
253257 GOBIN=' $(CURDIR)/hack/tools' ./hack/controller-generator.sh \
254- crd:crdVersions= ' v1 ' \
258+ $( CRD_OPTIONS ) \
255259 paths=' ./pkg/apis/...' \
256260 output:dir=' build/crd/pgadmins/generated' # build/crd/{plural}/generated/{group}_{plural}.yaml
257261 @
258262 GOBIN=' $(CURDIR)/hack/tools' ./hack/controller-generator.sh \
259- crd:crdVersions= ' v1 ' \
263+ $( CRD_OPTIONS ) \
260264 paths=' ./pkg/apis/...' \
261265 output:dir=' build/crd/crunchybridgeclusters/generated' # build/crd/{plural}/generated/{group}_{plural}.yaml
262266 @
@@ -277,13 +281,19 @@ generate-rbac: ## Generate rbac
277281 ' ./...' ' config/rbac/'
278282 $(KUSTOMIZE ) build ./config/rbac/namespace/ > ./deploy/rbac.yaml
279283
284+ .PHONY : generate-crd
280285generate-crd : generate-crunchy-crd generate-percona-crd
281286 $(KUSTOMIZE ) build ./config/crd/ > ./deploy/crd.yaml
282287
288+ .PHONY : generate-crd-without-description
289+ generate-crd-without-description : CRD_OPTIONS = $(CRD_OPTIONS_WITHOUT_DESCRIPTION )
290+ generate-crd-without-description : kustomize generate-crd
291+
292+ .PHONY : generate-percona-crd
283293generate-percona-crd :
284294 go generate ./percona/...
285295 GOBIN=' $(CURDIR)/hack/tools' ./hack/controller-generator.sh \
286- crd:crdVersions= ' v1 ' \
296+ $( CRD_OPTIONS ) \
287297 paths=' ./pkg/apis/pgv2.percona.com/...' \
288298 output:dir=' build/crd/percona/generated' # build/crd/generated/{group}_{plural}.yaml
289299 $(KUSTOMIZE ) build ./build/crd/percona/ > ./config/crd/bases/pgv2.percona.com_perconapgclusters.yaml
@@ -430,30 +440,68 @@ release: generate
430440 -e "/^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $(REGISTRY_NAME_FULL)$(IMAGE_PGBOUNCER18)#}" \
431441 -e "/^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $(REGISTRY_NAME_FULL)$(IMAGE_BACKREST18)#}" deploy/upgrade.yaml
432442
443+ # Update sidecars
444+ $(SED) -i -r "s# pgv2.percona.com/version: [0-9]+\.[0-9]+\.[0-9]+#pgv2.percona.com/version: $(VERSION)#" e2e-tests/tests/sidecars/01-assert.yaml
445+
433446# Prepare main branch after release
434447CURRENT_VERSION := $(shell grep -oE "crVersion: [0-9]+\.[0-9]+\.[0-9]+" deploy/cr.yaml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
435448MAJOR_VER := $(word 1,$(subst ., ,$(CURRENT_VERSION ) ) )
436449MINOR_VER := $(word 2,$(subst ., ,$(CURRENT_VERSION ) ) )
437450NEXT_VER := $(MAJOR_VER ) .$(shell expr $(MINOR_VER ) + 1) .0
438451PREV1_VERSION := $(MAJOR_VER ) .$(shell expr $(MINOR_VER ) - 1) .0
439452PREV2_VERSION := $(MAJOR_VER ) .$(shell expr $(MINOR_VER ) - 2) .0
440- after-release : update-version generate
453+
454+ .PHONY : after-release after-release-versions
455+ after-release : update-version generate after-release-versions
441456 $(SED ) -i \
442457 -e " /^spec:/,/^ crVersion:/{s/crVersion: .*/crVersion: $( NEXT_VER) /}" \
443458 -e " /^spec:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-ppg$( PG_VER) -postgres#}" \
444459 -e " /initContainer:/,/image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main#}" \
445460 -e " /^ pgBouncer:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-pgbouncer$( PG_VER) #}" \
446461 -e " /^ pgbackrest:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-pgbackrest$( PG_VER) #}" \
447462 -e " /extensions:/,/image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main#}" \
448- -e " /^ pmm:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/pmm-client:dev-latest#}" deploy/cr.yaml percona/controller/testdata/sidecar-resources-cr.yaml
463+ -e " /^ pmm:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/pmm-client:3- dev-latest#}" deploy/cr.yaml percona/controller/testdata/sidecar-resources-cr.yaml
449464 $(SED ) -i -r " /Version *= \" [0-9]+\.[0-9]+\.[0-9]+\" $$ / s/[0-9]+\.[0-9]+\.[0-9]+/$( NEXT_VER) /" pkg/apis/pgv2.percona.com/v2/perconapgcluster_types.go
450465 $(SED ) -i \
451466 -e " /^spec:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-upgrade#}" \
452467 -e " /^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-ppg$( PG_VER) -postgres#}" \
453468 -e " /^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-pgbouncer$( PG_VER) #}" \
454469 -e " /^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-pgbackrest$( PG_VER) #}" deploy/upgrade.yaml
455470
471+ # Update sidecars
472+ $(SED) -i -r "s# pgv2.percona.com/version: [0-9]+\.[0-9]+\.[0-9]+#pgv2.percona.com/version: $(NEXT_VER)#" e2e-tests/tests/sidecars/01-assert.yaml
473+
456474# Update upgrade-consistency
457475 $(SED) -i "s/$(PREV2_VERSION)/$(PREV1_VERSION)/g" e2e-tests/tests/upgrade-consistency/01-*.yaml
458476 $(SED) -i "s/$(PREV1_VERSION)/$(CURRENT_VERSION)/g" e2e-tests/tests/upgrade-consistency/02-*.yaml
459477 $(SED) -i "s/$(CURRENT_VERSION)/$(NEXT_VER)/g" e2e-tests/tests/upgrade-consistency/03-*.yaml e2e-tests/tests/init-deploy/05-assert.yaml
478+
479+ after-release-versions :
480+ $(SED ) -i \
481+ -e " s#^IMAGE_OPERATOR=.*#IMAGE_OPERATOR=$( IMAGE_TAG_BASE) :main#" \
482+ -e " s#^IMAGE_POSTGRESQL14=.*#IMAGE_POSTGRESQL14=$( IMAGE_TAG_BASE) :main-ppg14-postgres#" \
483+ -e " s#^IMAGE_PGBOUNCER14=.*#IMAGE_PGBOUNCER14=$( IMAGE_TAG_BASE) :main-pgbouncer14#" \
484+ -e " s#^IMAGE_POSTGIS14=.*#IMAGE_POSTGIS14=$( IMAGE_TAG_BASE) :main-ppg14-postgres-gis#" \
485+ -e " s#^IMAGE_BACKREST14=.*#IMAGE_BACKREST14=$( IMAGE_TAG_BASE) :main-pgbackrest14#" \
486+ -e " s#^IMAGE_POSTGRESQL15=.*#IMAGE_POSTGRESQL15=$( IMAGE_TAG_BASE) :main-ppg15-postgres#" \
487+ -e " s#^IMAGE_PGBOUNCER15=.*#IMAGE_PGBOUNCER15=$( IMAGE_TAG_BASE) :main-pgbouncer15#" \
488+ -e " s#^IMAGE_POSTGIS15=.*#IMAGE_POSTGIS15=$( IMAGE_TAG_BASE) :main-ppg15-postgres-gis#" \
489+ -e " s#^IMAGE_BACKREST15=.*#IMAGE_BACKREST15=$( IMAGE_TAG_BASE) :main-pgbackrest15#" \
490+ -e " s#^IMAGE_POSTGRESQL16=.*#IMAGE_POSTGRESQL16=$( IMAGE_TAG_BASE) :main-ppg16-postgres#" \
491+ -e " s#^IMAGE_PGBOUNCER16=.*#IMAGE_PGBOUNCER16=$( IMAGE_TAG_BASE) :main-pgbouncer16#" \
492+ -e " s#^IMAGE_POSTGIS16=.*#IMAGE_POSTGIS16=$( IMAGE_TAG_BASE) :main-ppg16-postgres-gis#" \
493+ -e " s#^IMAGE_BACKREST16=.*#IMAGE_BACKREST16=$( IMAGE_TAG_BASE) :main-pgbackrest16#" \
494+ -e " s#^IMAGE_POSTGRESQL17=.*#IMAGE_POSTGRESQL17=$( IMAGE_TAG_BASE) :main-ppg17-postgres#" \
495+ -e " s#^IMAGE_PGBOUNCER17=.*#IMAGE_PGBOUNCER17=$( IMAGE_TAG_BASE) :main-pgbouncer17#" \
496+ -e " s#^IMAGE_POSTGIS17=.*#IMAGE_POSTGIS17=$( IMAGE_TAG_BASE) :main-ppg17-postgres-gis#" \
497+ -e " s#^IMAGE_BACKREST17=.*#IMAGE_BACKREST17=$( IMAGE_TAG_BASE) :main-pgbackrest17#" \
498+ -e " s#^IMAGE_POSTGRESQL18=.*#IMAGE_POSTGRESQL18=$( IMAGE_TAG_BASE) :main-ppg18-postgres#" \
499+ -e " s#^IMAGE_PGBOUNCER18=.*#IMAGE_PGBOUNCER18=$( IMAGE_TAG_BASE) :main-pgbouncer18#" \
500+ -e " s#^IMAGE_POSTGIS18=.*#IMAGE_POSTGIS18=$( IMAGE_TAG_BASE) :main-ppg18-postgres-gis#" \
501+ -e " s#^IMAGE_BACKREST18=.*#IMAGE_BACKREST18=$( IMAGE_TAG_BASE) :main-pgbackrest18#" \
502+ -e " s#^IMAGE_UPGRADE=.*#IMAGE_UPGRADE=$( IMAGE_TAG_BASE) :main-upgrade#" \
503+ -e " s#^IMAGE_PMM_CLIENT=.*#IMAGE_PMM_CLIENT=perconalab/pmm-client:dev-latest#" \
504+ -e " s#^IMAGE_PMM_SERVER=.*#IMAGE_PMM_SERVER=perconalab/pmm-server:dev-latest#" \
505+ -e " s#^IMAGE_PMM3_CLIENT=.*#IMAGE_PMM3_CLIENT=perconalab/pmm-client:3-dev-latest#" \
506+ -e " s#^IMAGE_PMM3_SERVER=.*#IMAGE_PMM3_SERVER=perconalab/pmm-server:3-dev-latest#" \
507+ e2e-tests/release_versions
0 commit comments