Skip to content
Open
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
1793a01
K8SPG-1080 v3 module
oksana-grishchenko Jul 14, 2026
f366bc3
revert ubi9
oksana-grishchenko Jul 15, 2026
3321e3f
linter
oksana-grishchenko Jul 15, 2026
33fa9d3
linter
oksana-grishchenko Jul 15, 2026
d053f7a
linter
oksana-grishchenko Jul 15, 2026
7494bf2
linter
oksana-grishchenko Jul 15, 2026
2597b8f
linter
oksana-grishchenko Jul 15, 2026
8e6836c
linter
oksana-grishchenko Jul 15, 2026
c795f09
linter
oksana-grishchenko Jul 15, 2026
1f51ff2
linter
oksana-grishchenko Jul 15, 2026
571589a
linter
oksana-grishchenko Jul 15, 2026
267d84d
linter
oksana-grishchenko Jul 15, 2026
684acf8
linter
oksana-grishchenko Jul 15, 2026
aa8659a
linter
oksana-grishchenko Jul 15, 2026
e19f7c6
linter
oksana-grishchenko Jul 15, 2026
8ae5f9b
linter
oksana-grishchenko Jul 15, 2026
618352c
linter
oksana-grishchenko Jul 15, 2026
c110cef
linter
oksana-grishchenko Jul 15, 2026
dbbc78e
linter
oksana-grishchenko Jul 15, 2026
8c19414
linter
oksana-grishchenko Jul 15, 2026
82786c4
linter
oksana-grishchenko Jul 15, 2026
d3f5f0b
linter
oksana-grishchenko Jul 15, 2026
b5fb714
Merge branch 'main' into K8SPG-1080-v3-module
oksana-grishchenko Jul 15, 2026
1f27d6e
linter & shellcheck
oksana-grishchenko Jul 15, 2026
50116ca
upd Jenkinsfile
oksana-grishchenko Jul 15, 2026
32bc51e
upd reviewdog.yml
oksana-grishchenko Jul 15, 2026
89bf8b6
linter
oksana-grishchenko Jul 15, 2026
ea8c779
fix flaky test
oksana-grishchenko Jul 16, 2026
4fcd5ff
Merge branch 'main' into K8SPG-1080-v3-module
oksana-grishchenko Jul 16, 2026
4d80307
fix upgrade test
oksana-grishchenko Jul 16, 2026
47274f8
fix upgrade test
oksana-grishchenko Jul 16, 2026
a73fc80
revert the upgrade-minor test to main state
oksana-grishchenko Jul 20, 2026
53830c1
revert GroupVersion
oksana-grishchenko Jul 20, 2026
ad805d2
revert local changes mistakenly committed
oksana-grishchenko Jul 20, 2026
78a8d0b
Merge branch 'refs/heads/main' into K8SPG-1080-v3-module
oksana-grishchenko Jul 20, 2026
dfc12b4
fix build failure
oksana-grishchenko Jul 20, 2026
2d44e62
revert mistakenly commited dockerfile changes
oksana-grishchenko Jul 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,7 @@ pipeline {
-e GO111MODULE=on \
golang:1.26.0 sh -c '
go install github.com/google/go-licenses@latest;
/go/bin/go-licenses csv github.com/percona/percona-postgresql-operator/v2/cmd/postgres-operator \
/go/bin/go-licenses csv github.com/percona/percona-postgresql-operator/v3/cmd/postgres-operator \
| cut -d , -f 3 \
| sort -u \
> go-licenses-new || :
Expand Down
22 changes: 11 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ generate: generate-cw
generate-crunchy-crd: ## Generate crd
GOBIN='$(CURDIR)/hack/tools' ./hack/controller-generator.sh \
$(CRD_OPTIONS) \
paths='./pkg/apis/upstream.pgv2.percona.com/...' \
paths='./pkg/apis/upstream.pgv3.percona.com/...' \
output:dir='build/crd/crunchy/generated' # build/crd/generated/{group}_{plural}.yaml
@
GOBIN='$(CURDIR)/hack/tools' ./hack/controller-generator.sh \
Expand All @@ -264,10 +264,10 @@ generate-crunchy-crd: ## Generate crd
paths='./pkg/apis/...' \
output:dir='build/crd/crunchybridgeclusters/generated' # build/crd/{plural}/generated/{group}_{plural}.yaml
@
$(KUSTOMIZE) build ./build/crd/crunchy/ > ./config/crd/bases/upstream.pgv2.percona.com_postgresclusters.yaml
$(KUSTOMIZE) build ./build/crd/pgupgrades > ./config/crd/bases/upstream.pgv2.percona.com_pgupgrades.yaml
$(KUSTOMIZE) build ./build/crd/pgadmins > ./config/crd/bases/upstream.pgv2.percona.com_pgadmins.yaml
$(KUSTOMIZE) build ./build/crd/crunchybridgeclusters > ./config/crd/bases/upstream.pgv2.percona.com_crunchybridgeclusters.yaml
$(KUSTOMIZE) build ./build/crd/crunchy/ > ./config/crd/bases/upstream.pgv3.percona.com_postgresclusters.yaml
$(KUSTOMIZE) build ./build/crd/pgupgrades > ./config/crd/bases/upstream.pgv3.percona.com_pgupgrades.yaml
$(KUSTOMIZE) build ./build/crd/pgadmins > ./config/crd/bases/upstream.pgv3.percona.com_pgadmins.yaml
$(KUSTOMIZE) build ./build/crd/crunchybridgeclusters > ./config/crd/bases/upstream.pgv3.percona.com_crunchybridgeclusters.yaml

.PHONY: generate-deepcopy
generate-deepcopy: ## Generate deepcopy functions
Expand All @@ -294,9 +294,9 @@ generate-percona-crd:
go generate ./percona/...
GOBIN='$(CURDIR)/hack/tools' ./hack/controller-generator.sh \
$(CRD_OPTIONS) \
paths='./pkg/apis/pgv2.percona.com/...' \
paths='./pkg/apis/pgv3.percona.com/...' \
output:dir='build/crd/percona/generated' # build/crd/generated/{group}_{plural}.yaml
$(KUSTOMIZE) build ./build/crd/percona/ > ./config/crd/bases/pgv2.percona.com_perconapgclusters.yaml
$(KUSTOMIZE) build ./build/crd/percona/ > ./config/crd/bases/pgv3.percona.com_perconapgclusters.yaml

generate-manager:
cd ./config/manager/namespace/ && $(KUSTOMIZE) edit set image postgres-operator=$(IMAGE)
Expand Down Expand Up @@ -433,15 +433,15 @@ release: generate
-e "/^ pgbackrest:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_BACKREST18)#}" \
-e "/extensions:/,/image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_OPERATOR)#}" \
-e "/^ pmm:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_PMM3_CLIENT)#}" deploy/cr.yaml
$(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
$(SED) -i -r "/Version *= \"[0-9]+\.[0-9]+\.[0-9]+\"$$/ s/[0-9]+\.[0-9]+\.[0-9]+/$(VERSION)/" pkg/apis/pgv3.percona.com/v2/perconapgcluster_types.go
$(SED) -i \
-e "/^spec:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)$(IMAGE_UPGRADE)#}" \
-e "/^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: $(REGISTRY_NAME_FULL)$(IMAGE_POSTGRESQL18)#}" \
-e "/^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $(REGISTRY_NAME_FULL)$(IMAGE_PGBOUNCER18)#}" \
-e "/^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $(REGISTRY_NAME_FULL)$(IMAGE_BACKREST18)#}" deploy/upgrade.yaml

# Update sidecars
$(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
$(SED) -i -r "s#pgv3.percona.com/version: [0-9]+\.[0-9]+\.[0-9]+#pgv3.percona.com/version: $(VERSION)#" e2e-tests/tests/sidecars/01-assert.yaml

# Prepare main branch after release
CURRENT_VERSION := $(shell grep -oE "crVersion: [0-9]+\.[0-9]+\.[0-9]+" deploy/cr.yaml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
Expand All @@ -461,15 +461,15 @@ after-release: update-version generate after-release-versions
-e "/^ pgbackrest:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbackrest$(PG_VER)#}" \
-e "/extensions:/,/image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main#}" \
-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
$(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
$(SED) -i -r "/Version *= \"[0-9]+\.[0-9]+\.[0-9]+\"$$/ s/[0-9]+\.[0-9]+\.[0-9]+/$(NEXT_VER)/" pkg/apis/pgv3.percona.com/v2/perconapgcluster_types.go
$(SED) -i \
-e "/^spec:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-upgrade#}" \
-e "/^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-ppg$(PG_VER)-postgres#}" \
-e "/^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbouncer$(PG_VER)#}" \
-e "/^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbackrest$(PG_VER)#}" deploy/upgrade.yaml

# Update sidecars
$(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
$(SED) -i -r "s#pgv3.percona.com/version: [0-9]+\.[0-9]+\.[0-9]+#pgv3.percona.com/version: $(NEXT_VER)#" e2e-tests/tests/sidecars/01-assert.yaml

# Update upgrade-consistency
$(SED) -i "s/$(PREV2_VERSION)/$(PREV1_VERSION)/g" e2e-tests/tests/upgrade-consistency/01-*.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.20.0
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
spec:
group: upstream.pgv2.percona.com
group: upstream.pgv3.percona.com
names:
kind: PostgresCluster
listKind: PostgresClusterList
Expand Down
10 changes: 5 additions & 5 deletions build/crd/crunchy/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,32 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- generated/upstream.pgv2.percona.com_postgresclusters.yaml
- generated/upstream.pgv3.percona.com_postgresclusters.yaml

patchesJson6902:
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
path: condition.yaml
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
path: todos.yaml
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
path: validation.yaml
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
patch: |-
- op: add
path: "/metadata/labels"
Expand Down
4 changes: 2 additions & 2 deletions build/crd/crunchybridgeclusters/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- generated/upstream.pgv2.percona.com_crunchybridgeclusters.yaml
- generated/upstream.pgv3.percona.com_crunchybridgeclusters.yaml

patches:
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: crunchybridgeclusters.upstream.pgv2.percona.com
name: crunchybridgeclusters.upstream.pgv3.percona.com
# The version below should match the version on the PostgresCluster CRD
patch: |-
- op: add
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.20.0
name: perconapgbackups.pgv2.percona.com
name: perconapgbackups.pgv3.percona.com
spec:
group: pgv2.percona.com
group: pgv3.percona.com
names:
kind: PerconaPGBackup
listKind: PerconaPGBackupList
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.20.0
name: perconapgclusters.pgv2.percona.com
name: perconapgclusters.pgv3.percona.com
spec:
group: pgv2.percona.com
group: pgv3.percona.com
names:
kind: PerconaPGCluster
listKind: PerconaPGClusterList
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.20.0
name: perconapgrestores.pgv2.percona.com
name: perconapgrestores.pgv3.percona.com
spec:
group: pgv2.percona.com
group: pgv3.percona.com
names:
kind: PerconaPGRestore
listKind: PerconaPGRestoreList
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.20.0
name: perconapgupgrades.pgv2.percona.com
name: perconapgupgrades.pgv3.percona.com
spec:
group: pgv2.percona.com
group: pgv3.percona.com
names:
kind: PerconaPGUpgrade
listKind: PerconaPGUpgradeList
Expand Down
8 changes: 4 additions & 4 deletions build/crd/percona/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- generated/pgv2.percona.com_perconapgclusters.yaml
- generated/pgv2.percona.com_perconapgbackups.yaml
- generated/pgv2.percona.com_perconapgrestores.yaml
- generated/pgv2.percona.com_perconapgupgrades.yaml
- generated/pgv3.percona.com_perconapgclusters.yaml
- generated/pgv3.percona.com_perconapgbackups.yaml
- generated/pgv3.percona.com_perconapgrestores.yaml
- generated/pgv3.percona.com_perconapgupgrades.yaml
6 changes: 3 additions & 3 deletions build/crd/pgadmins/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- generated/upstream.pgv2.percona.com_pgadmins.yaml
- generated/upstream.pgv3.percona.com_pgadmins.yaml

patches:
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: pgadmins.upstream.pgv2.percona.com
name: pgadmins.upstream.pgv3.percona.com
path: todos.yaml
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: pgadmins.upstream.pgv2.percona.com
name: pgadmins.upstream.pgv3.percona.com
# The version below should match the version on the PostgresCluster CRD
patch: |-
- op: add
Expand Down
6 changes: 3 additions & 3 deletions build/crd/pgupgrades/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- generated/upstream.pgv2.percona.com_pgupgrades.yaml
- generated/upstream.pgv3.percona.com_pgupgrades.yaml

patches:
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: pgupgrades.upstream.pgv2.percona.com
name: pgupgrades.upstream.pgv3.percona.com
path: todos.yaml
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: pgupgrades.upstream.pgv2.percona.com
name: pgupgrades.upstream.pgv3.percona.com
# The version below should match the version on the PostgresCluster CRD
patch: |-
- op: add
Expand Down
10 changes: 5 additions & 5 deletions build/crd/postgresclusters/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,32 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- generated/upstream.pgv2.percona.com_postgresclusters.yaml
- generated/upstream.pgv3.percona.com_postgresclusters.yaml

patchesJson6902:
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
path: condition.yaml
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
path: todos.yaml
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
path: validation.yaml
- target:
group: apiextensions.k8s.io
version: v1
kind: CustomResourceDefinition
name: postgresclusters.upstream.pgv2.percona.com
name: postgresclusters.upstream.pgv3.percona.com
patch: |-
- op: add
path: "/metadata/labels"
Expand Down
4 changes: 2 additions & 2 deletions cmd/extension-installer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"os"
"path"

"github.com/percona/percona-postgresql-operator/v2/percona/extensions"
"github.com/percona/percona-postgresql-operator/v3/percona/extensions"
)

func main() {
Expand Down Expand Up @@ -77,7 +77,7 @@ func initStorage(storageType extensions.StorageType, endpoint, bucket, region st
case extensions.StorageTypeS3:
return extensions.NewS3(endpoint, region, bucket, s3ForcePathStyle, disableSSL)
default:
log.Fatalf("unknown storage type: %s", os.Getenv("STORAGE_TYPE"))
log.Fatalf("unknown storage type: %s", string(storageType))
}

return nil
Expand Down
6 changes: 5 additions & 1 deletion cmd/pgbackrest/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,10 @@ func (k *KubeAPI) Exec(ctx context.Context, namespace, pod, container string, st
}, ParameterCodec)

exec, err := remotecommand.NewSPDYExecutor(k.Config, "POST", request.URL())
if err != nil {
log.Error(err)
return err
}

stdoutReader, stdoutWriter := io.Pipe()
defer func() {
Expand Down Expand Up @@ -384,7 +388,7 @@ else
fi
`

localHashCmd := exec.Command("bash", "-ceu", "--", localScript)
localHashCmd := exec.CommandContext(ctx, "bash", "-ceu", "--", localScript)
hashOutput, err := localHashCmd.Output()
if err != nil {
log.Fatalf("unable to calculate hash for pgBackRest config: %v", err)
Expand Down
Loading
Loading