@@ -369,12 +369,36 @@ release-postgres-operator-image-labels:
369369# #@ Percona
370370
371371# Default values if not already set
372+ ifeq (undefined,$(origin REGISTRY_NAME ) )
373+ $(info REGISTRY_NAME is not set)
374+ else ifeq (undefined,$(origin IMAGE))
375+ $(info IMAGE is not set)
376+ else
377+ IMAGE := $(REGISTRY_NAME ) /$(IMAGE )
378+ $(info Combined IMAGE : $(IMAGE ) )
379+ endif
380+
372381NAME ?= percona-postgresql-operator
373382VERSION ?= $(shell git rev-parse --abbrev-ref HEAD | sed -e 's^/^-^g; s^[.]^-^g;' | tr '[:upper:]' '[:lower:]')
374383ROOT_REPO ?= ${PWD}
375384IMAGE_TAG_BASE ?= perconalab/$(NAME )
376385IMAGE ?= $(IMAGE_TAG_BASE ) :$(VERSION )
377386PGO_VERSION ?= $(shell git describe --tags)
387+ REGISTRY_NAME ?= docker.io
388+ REGISTRY_NAME_FULL = $(REGISTRY_NAME ) /
389+
390+ generate :
391+ ifneq (,$(filter percona/% perconalab/% ,$(IMAGE ) ) )
392+ ifeq (,$(findstring docker.io/,$(IMAGE)))
393+ IMAGE := $(REGISTRY_NAME_FULL )$(IMAGE )
394+ $(info Updated IMAGE to : $(IMAGE ) )
395+ else
396+ $(info IMAGE already qualified : $(IMAGE ) )
397+ endif
398+ else
399+ $(info Skipping : IMAGE does not match percona/perconalab)
400+ endif
401+ $(info $(IMAGE))
378402
379403KUSTOMIZE = $(shell pwd) /bin/kustomize
380404kustomize : # # Download kustomize locally if necessary.
@@ -425,33 +449,40 @@ include e2e-tests/release_versions
425449release : generate
426450 $(SED ) -i \
427451 -e "/^spec :/,/^ crVersion:/{s/crVersion: .* /crVersion: $(VERSION ) /}" \
428- -e "/^spec :/,/^ image:/{s# image: .*#image: $(IMAGE_POSTGRESQL16 )#}" \
429- -e "/^ pgBouncer:/,/^ image:/{s#image: .*#image: $(IMAGE_PGBOUNCER16 )#}" \
430- -e "/^ pgbackrest:/,/^ image:/{s#image: .*#image: $(IMAGE_PGBACKREST16 )#}" \
431- -e "/extensions:/,/image:/{s#image: .*#image: $(IMAGE_OPERATOR)#}" \
432- -e "/^ pmm:/,/^ image:/{s#image: .*#image: $(IMAGE_PMM_CLIENT )#}" deploy/cr.yaml
452+ -e "/^spec :/,/^ image:/{s# image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_POSTGRESQL17 )#}" \
453+ -e "/^ pgBouncer:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_PGBOUNCER17 )#}" \
454+ -e "/^ pgbackrest:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_BACKREST17 )#}" \
455+ -e "/extensions:/,/image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$( IMAGE_OPERATOR)#}" \
456+ -e "/^ pmm:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_PMM3_CLIENT )#}" deploy/cr.yaml
433457 $(SED ) -i -r " /Version *= \" [0-9]+\.[0-9]+\.[0-9]+\" $$ / s/[0-9]+\.[0-9]+\.[0-9]+/$( VERSION) /" pkg/apis/pgv2.percona.com/v2/perconapgcluster_types.go
434458 $(SED ) -i \
435- -e "/^spec :/,/^ image:/{s# image: .*#image: $(IMAGE_OPERATOR )#}" \
436- -e "/^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: $(IMAGE_POSTGRESQL16 )#}" \
437- -e "/^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $(IMAGE_PGBOUNCER16 )#}" \
438- -e "/^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $(IMAGE_PGBACKREST16 )#}" deploy/upgrade.yaml
459+ -e "/^spec :/,/^ image:/{s# image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_UPGRADE )#}" \
460+ -e "/^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: $(REGISTRY_NAME_FULL)$(IMAGE_POSTGRESQL17 )#}" \
461+ -e "/^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $(REGISTRY_NAME_FULL)$(IMAGE_PGBOUNCER17 )#}" \
462+ -e "/^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $(REGISTRY_NAME_FULL)$(IMAGE_BACKREST17 )#}" deploy/upgrade.yaml
439463
440464# Prepare main branch after release
441- MAJOR_VER := $(shell grep -oE "crVersion: .* " deploy/cr.yaml|grep -oE "[0-9]+\.[0-9]+\.[0-9]+"|cut -d'.' -f1)
442- MINOR_VER := $(shell grep -oE "crVersion: .* " deploy/cr.yaml|grep -oE "[0-9]+\.[0-9]+\.[0-9]+"|cut -d'.' -f2)
443- NEXT_VER ?= $(MAJOR_VER ) .$$(($(MINOR_VER ) + 1 ) ).0
465+ CURRENT_VERSION := $(shell grep -oE "crVersion: [0-9]+\.[0-9]+\.[0-9]+" deploy/cr.yaml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
466+ MAJOR_VER := $(word 1,$(subst ., ,$(CURRENT_VERSION ) ) )
467+ MINOR_VER := $(word 2,$(subst ., ,$(CURRENT_VERSION ) ) )
468+ NEXT_VER := $(MAJOR_VER ) .$(shell expr $(MINOR_VER ) + 1) .0
469+ PREV1_VERSION := $(MAJOR_VER ) .$(shell expr $(MINOR_VER ) - 1) .0
470+ PREV2_VERSION := $(MAJOR_VER ) .$(shell expr $(MINOR_VER ) - 2) .0
444471after-release : generate
472+ echo $(NEXT_VER ) > percona/version/version.txt
445473 $(SED ) -i \
446474 -e " /^spec:/,/^ crVersion:/{s/crVersion: .*/crVersion: $( NEXT_VER) /}" \
447- -e " /^spec:/,/^ image:/{s#image: .*#image: perconalab/percona-postgresql-operator:main-ppg$( PG_VER) -postgres#}" \
448- -e " /^ pgBouncer:/,/^ image:/{s#image: .*#image: perconalab/percona-postgresql-operator:main-ppg $( PG_VER) -pgbouncer #}" \
449- -e " /^ pgbackrest:/,/^ image:/{s#image: .*#image: perconalab/percona-postgresql-operator:main-ppg $( PG_VER) -pgbackrest #}" \
450- -e " /extensions:/,/image:/{s#image: .*#image: perconalab/percona-postgresql-operator:main#}" \
451- -e " /^ pmm:/,/^ image:/{s#image: .*#image: perconalab/pmm-client:dev-latest#}" deploy/cr.yaml
475+ -e " /^spec:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL ) perconalab/percona-postgresql-operator:main-ppg$( PG_VER) -postgres#}" \
476+ -e " /^ pgBouncer:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL ) perconalab/percona-postgresql-operator:main-pgbouncer $( PG_VER) #}" \
477+ -e " /^ pgbackrest:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL ) perconalab/percona-postgresql-operator:main-pgbackrest $( PG_VER) #}" \
478+ -e " /extensions:/,/image:/{s#image: .*#image: $( REGISTRY_NAME_FULL ) perconalab/percona-postgresql-operator:main#}" \
479+ -e " /^ pmm:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL ) perconalab/pmm-client:dev-latest#}" deploy/cr.yaml percona/controller/testdata/sidecar-resources- cr.yaml
452480 $(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
453481 $(SED ) -i \
454- -e " /^spec:/,/^ image:/{s#image: .*#image: perconalab/percona-postgresql-operator:main#}" \
455- -e " /^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: perconalab/percona-postgresql-operator:main-ppg$( PG_VER) -postgres#}" \
456- -e " /^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: perconalab/percona-postgresql-operator:main-ppg$( PG_VER) -pgbouncer#}" \
457- -e " /^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: perconalab/percona-postgresql-operator:main-ppg$( PG_VER) -pgbackrest#}" deploy/upgrade.yaml
482+ -e " /^spec:/,/^ image:/{s#image: .*#image: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-upgrade#}" \
483+ -e " /^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-ppg$( PG_VER) -postgres#}" \
484+ -e " /^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-pgbouncer$( PG_VER) #}" \
485+ -e " /^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $( REGISTRY_NAME_FULL) perconalab/percona-postgresql-operator:main-pgbackrest$( PG_VER) #}" deploy/upgrade.yaml
486+ $(SED ) -i " s/$( PREV2_VERSION) /$( PREV1_VERSION) /g" e2e-tests/tests/upgrade-consistency/01-* .yaml
487+ $(SED ) -i " s/$( PREV1_VERSION) /$( CURRENT_VERSION) /g" e2e-tests/tests/upgrade-consistency/02-* .yaml
488+ $(SED ) -i " s/$( CURRENT_VERSION) /$( NEXT_VER) /g" e2e-tests/tests/upgrade-consistency/03-* .yaml e2e-tests/tests/init-deploy/05-assert.yaml
0 commit comments