Skip to content

Commit 051cb4f

Browse files
authored
Merge branch 'main' into K8SPG-837
2 parents 5b28386 + 6cee6dd commit 051cb4f

File tree

367 files changed

+4521
-2043
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

367 files changed

+4521
-2043
lines changed

.github/workflows/reviewdog.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ jobs:
9393
runs-on: ubuntu-latest
9494
steps:
9595
- uses: actions/checkout@v5
96-
- run: |
96+
- name: check on release branch
97+
if: ${{ contains(github.base_ref, 'release-') }}
98+
run: |
99+
make generate VERSION="$(cat percona/version/version.txt)" IMAGE_TAG_BASE="percona/percona-postgresql-operator"
100+
git diff --exit-code
101+
- name: check on non release branches
102+
if: ${{ ! contains(github.base_ref, 'release-') }}
103+
run: |
97104
make generate VERSION=main
98105
git diff --exit-code

.golangci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ linters:
5454
desc: Should be used only in tests.
5555
- pkg: testing/*
5656
desc: The "testing" packages should be used only in tests.
57-
- pkg: github.com/percona/percona-postgresql-operator/internal/testing/*
57+
- pkg: github.com/percona/percona-postgresql-operator/v2/internal/testing/*
5858
desc: The "internal/testing" packages should be used only in tests.
5959
tests:
6060
files:

Jenkinsfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ void createCluster(String CLUSTER_SUFFIX) {
1616
--preemptible \
1717
--zone=${region} \
1818
--machine-type='n1-standard-4' \
19-
--cluster-version='1.30' \
19+
--cluster-version='1.31' \
2020
--num-nodes=3 \
2121
--labels='delete-cluster-after-hours=6' \
2222
--disk-size=30 \
@@ -205,7 +205,10 @@ void makeReport() {
205205
TestsReport = TestsReport + "\r\n| " + testName + " | [" + testResult + "](" + testUrl + ") | " + formatTime(testTime) + " |"
206206
TestsReportXML = TestsReportXML + '<testcase name=\\"' + testName + '\\" time=\\"' + testTime + '\\"><'+ testResult +'/></testcase>\n'
207207
}
208-
TestsReport = TestsReport + "\r\n| We run $startedTestAmount out of $wholeTestAmount | | " + formatTime(totalTestTime) + " |"
208+
TestsReport = TestsReport + "\r\n\r\n| Summary | Value |\r\n| ------- | ----- |"
209+
TestsReport = TestsReport + "\r\n| Tests Run | $startedTestAmount/$wholeTestAmount |"
210+
TestsReport = TestsReport + "\r\n| Job Duration | " + formatTime(currentBuild.duration / 1000) + " |"
211+
TestsReport = TestsReport + "\r\n| Total Test Time | " + formatTime(totalTestTime) + " |"
209212
TestsReportXML = TestsReportXML + '</testsuite>\n'
210213

211214
sh """
@@ -498,7 +501,7 @@ pipeline {
498501
-e GO111MODULE=on \
499502
golang:1.25.1 sh -c '
500503
go install github.com/google/go-licenses@latest;
501-
/go/bin/go-licenses csv github.com/percona/percona-postgresql-operator/cmd/postgres-operator \
504+
/go/bin/go-licenses csv github.com/percona/percona-postgresql-operator/v2/cmd/postgres-operator \
502505
| cut -d , -f 3 \
503506
| sort -u \
504507
> go-licenses-new || :

Makefile

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -443,17 +443,21 @@ rm -rf $$TMP_DIR ;\
443443
}
444444
endef
445445

446+
update-version:
447+
echo $(NEXT_VER) > percona/version/version.txt
448+
446449
# Prepare release
447450
PG_VER ?= $(shell grep -o "postgresVersion: .*" deploy/cr.yaml|grep -oE "[0-9]+")
448451
include e2e-tests/release_versions
449452
release: generate
450453
$(SED) -i \
451-
-e "/^spec:/,/^ crVersion:/{s/crVersion: .*/crVersion: $(VERSION)/}" \
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
454+
-e "/^spec:/,/^ crVersion:/{s/crVersion: .*/crVersion: $(VERSION)/}" \
455+
-e "/^spec:/,/^ image:/{/^#/! s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_POSTGRESQL17)#}" \
456+
-e "s| image: docker.io/perconalab/percona-postgresql-operator:main| image: $(IMAGE)|" \
457+
-e "/^ pgBouncer:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_PGBOUNCER17)#}" \
458+
-e "/^ pgbackrest:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_BACKREST17)#}" \
459+
-e "/extensions:/,/image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_OPERATOR)#}" \
460+
-e "/^ pmm:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_PMM3_CLIENT)#}" deploy/cr.yaml
457461
$(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
458462
$(SED) -i \
459463
-e "/^spec:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_UPGRADE)#}" \
@@ -468,11 +472,11 @@ MINOR_VER := $(word 2,$(subst ., ,$(CURRENT_VERSION)))
468472
NEXT_VER := $(MAJOR_VER).$(shell expr $(MINOR_VER) + 1).0
469473
PREV1_VERSION := $(MAJOR_VER).$(shell expr $(MINOR_VER) - 1).0
470474
PREV2_VERSION := $(MAJOR_VER).$(shell expr $(MINOR_VER) - 2).0
471-
after-release: generate
472-
echo $(NEXT_VER) > percona/version/version.txt
475+
after-release: update-version generate
473476
$(SED) -i \
474477
-e "/^spec:/,/^ crVersion:/{s/crVersion: .*/crVersion: $(NEXT_VER)/}" \
475478
-e "/^spec:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-ppg$(PG_VER)-postgres#}" \
479+
-e "/initContainer:/,/image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main#}" \
476480
-e "/^ pgBouncer:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbouncer$(PG_VER)#}" \
477481
-e "/^ pgbackrest:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbackrest$(PG_VER)#}" \
478482
-e "/extensions:/,/image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main#}" \
@@ -483,6 +487,8 @@ after-release: generate
483487
-e "/^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-ppg$(PG_VER)-postgres#}" \
484488
-e "/^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbouncer$(PG_VER)#}" \
485489
-e "/^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbackrest$(PG_VER)#}" deploy/upgrade.yaml
490+
491+
# Update upgrade-consistency
486492
$(SED) -i "s/$(PREV2_VERSION)/$(PREV1_VERSION)/g" e2e-tests/tests/upgrade-consistency/01-*.yaml
487493
$(SED) -i "s/$(PREV1_VERSION)/$(CURRENT_VERSION)/g" e2e-tests/tests/upgrade-consistency/02-*.yaml
488494
$(SED) -i "s/$(CURRENT_VERSION)/$(NEXT_VER)/g" e2e-tests/tests/upgrade-consistency/03-*.yaml e2e-tests/tests/init-deploy/05-assert.yaml

build/crd/crunchy/generated/postgres-operator.crunchydata.com_postgresclusters.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6938,6 +6938,9 @@ spec:
69386938
required:
69396939
- volumeSnapshotClassName
69406940
type: object
6941+
trackLatestRestorableTime:
6942+
description: Enable tracking latest restorable time
6943+
type: boolean
69416944
type: object
69426945
config:
69436946
properties:

build/crd/percona/generated/pgv2.percona.com_perconapgclusters.yaml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5870,7 +5870,6 @@ spec:
58705870
required:
58715871
- name
58725872
type: object
5873-
minItems: 1
58745873
type: array
58755874
x-kubernetes-list-map-keys:
58765875
- name
@@ -7084,13 +7083,16 @@ spec:
70847083
type: object
70857084
type: object
70867085
type: object
7087-
required:
7088-
- repos
70897086
type: object
70907087
trackLatestRestorableTime:
70917088
description: Enable tracking latest restorable time
70927089
type: boolean
70937090
type: object
7091+
x-kubernetes-validations:
7092+
- message: At least one repository must be configured when backups
7093+
are enabled
7094+
rule: (has(self.enabled) && self.enabled == false) || (has(self.pgbackrest.repos)
7095+
&& size(self.pgbackrest.repos) > 0)
70947096
crVersion:
70957097
description: |-
70967098
Version of the operator. Update this to new version after operator
@@ -10303,11 +10305,11 @@ spec:
1030310305
bucket:
1030410306
type: string
1030510307
disableSSL:
10306-
type: string
10308+
type: boolean
1030710309
endpoint:
1030810310
type: string
1030910311
forcePathStyle:
10310-
type: string
10312+
type: boolean
1031110313
region:
1031210314
type: string
1031310315
secret:
@@ -21141,6 +21143,10 @@ spec:
2114121143
version:
2114221144
type: string
2114321145
type: object
21146+
patroniVersion:
21147+
description: 'Deprecated: Use Patroni instead. This field will be
21148+
removed in a future release.'
21149+
type: string
2114421150
pgbackrest:
2114521151
description: Status information for pgBackRest
2114621152
properties:

cmd/extension-installer/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"os"
88
"path"
99

10-
"github.com/percona/percona-postgresql-operator/percona/extensions"
10+
"github.com/percona/percona-postgresql-operator/v2/percona/extensions"
1111
)
1212

1313
func main() {

cmd/postgres-operator/main.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,24 @@ import (
2727
"sigs.k8s.io/controller-runtime/pkg/log/zap"
2828
"sigs.k8s.io/controller-runtime/pkg/manager"
2929

30-
"github.com/percona/percona-postgresql-operator/internal/controller/pgupgrade"
31-
"github.com/percona/percona-postgresql-operator/internal/controller/postgrescluster"
32-
"github.com/percona/percona-postgresql-operator/internal/controller/runtime"
33-
"github.com/percona/percona-postgresql-operator/internal/controller/standalone_pgadmin"
34-
"github.com/percona/percona-postgresql-operator/internal/feature"
35-
"github.com/percona/percona-postgresql-operator/internal/initialize"
36-
"github.com/percona/percona-postgresql-operator/internal/logging"
37-
"github.com/percona/percona-postgresql-operator/internal/naming"
38-
"github.com/percona/percona-postgresql-operator/internal/upgradecheck"
39-
perconaController "github.com/percona/percona-postgresql-operator/percona/controller"
40-
"github.com/percona/percona-postgresql-operator/percona/controller/pgbackup"
41-
"github.com/percona/percona-postgresql-operator/percona/controller/pgcluster"
42-
"github.com/percona/percona-postgresql-operator/percona/controller/pgrestore"
43-
perconaPGUpgrade "github.com/percona/percona-postgresql-operator/percona/controller/pgupgrade"
44-
perconaRuntime "github.com/percona/percona-postgresql-operator/percona/runtime"
45-
"github.com/percona/percona-postgresql-operator/percona/utils/registry"
46-
v2 "github.com/percona/percona-postgresql-operator/pkg/apis/pgv2.percona.com/v2"
47-
"github.com/percona/percona-postgresql-operator/pkg/apis/postgres-operator.crunchydata.com/v1beta1"
30+
"github.com/percona/percona-postgresql-operator/v2/internal/controller/pgupgrade"
31+
"github.com/percona/percona-postgresql-operator/v2/internal/controller/postgrescluster"
32+
"github.com/percona/percona-postgresql-operator/v2/internal/controller/runtime"
33+
"github.com/percona/percona-postgresql-operator/v2/internal/controller/standalone_pgadmin"
34+
"github.com/percona/percona-postgresql-operator/v2/internal/feature"
35+
"github.com/percona/percona-postgresql-operator/v2/internal/initialize"
36+
"github.com/percona/percona-postgresql-operator/v2/internal/logging"
37+
"github.com/percona/percona-postgresql-operator/v2/internal/naming"
38+
"github.com/percona/percona-postgresql-operator/v2/internal/upgradecheck"
39+
perconaController "github.com/percona/percona-postgresql-operator/v2/percona/controller"
40+
"github.com/percona/percona-postgresql-operator/v2/percona/controller/pgbackup"
41+
"github.com/percona/percona-postgresql-operator/v2/percona/controller/pgcluster"
42+
"github.com/percona/percona-postgresql-operator/v2/percona/controller/pgrestore"
43+
perconaPGUpgrade "github.com/percona/percona-postgresql-operator/v2/percona/controller/pgupgrade"
44+
perconaRuntime "github.com/percona/percona-postgresql-operator/v2/percona/runtime"
45+
"github.com/percona/percona-postgresql-operator/v2/percona/utils/registry"
46+
v2 "github.com/percona/percona-postgresql-operator/v2/pkg/apis/pgv2.percona.com/v2"
47+
"github.com/percona/percona-postgresql-operator/v2/pkg/apis/postgres-operator.crunchydata.com/v1beta1"
4848
)
4949

5050
var (

config/crd/bases/pgv2.percona.com_perconapgclusters.yaml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6275,7 +6275,6 @@ spec:
62756275
required:
62766276
- name
62776277
type: object
6278-
minItems: 1
62796278
type: array
62806279
x-kubernetes-list-map-keys:
62816280
- name
@@ -7489,13 +7488,16 @@ spec:
74897488
type: object
74907489
type: object
74917490
type: object
7492-
required:
7493-
- repos
74947491
type: object
74957492
trackLatestRestorableTime:
74967493
description: Enable tracking latest restorable time
74977494
type: boolean
74987495
type: object
7496+
x-kubernetes-validations:
7497+
- message: At least one repository must be configured when backups
7498+
are enabled
7499+
rule: (has(self.enabled) && self.enabled == false) || (has(self.pgbackrest.repos)
7500+
&& size(self.pgbackrest.repos) > 0)
74997501
crVersion:
75007502
description: |-
75017503
Version of the operator. Update this to new version after operator
@@ -10708,11 +10710,11 @@ spec:
1070810710
bucket:
1070910711
type: string
1071010712
disableSSL:
10711-
type: string
10713+
type: boolean
1071210714
endpoint:
1071310715
type: string
1071410716
forcePathStyle:
10715-
type: string
10717+
type: boolean
1071610718
region:
1071710719
type: string
1071810720
secret:
@@ -21546,6 +21548,10 @@ spec:
2154621548
version:
2154721549
type: string
2154821550
type: object
21551+
patroniVersion:
21552+
description: 'Deprecated: Use Patroni instead. This field will be
21553+
removed in a future release.'
21554+
type: string
2154921555
pgbackrest:
2155021556
description: Status information for pgBackRest
2155121557
properties:

config/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6928,6 +6928,9 @@ spec:
69286928
required:
69296929
- volumeSnapshotClassName
69306930
type: object
6931+
trackLatestRestorableTime:
6932+
description: Enable tracking latest restorable time
6933+
type: boolean
69316934
type: object
69326935
config:
69336936
properties:

0 commit comments

Comments
 (0)