diff --git a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md index b33b74b43..3a0e52bf5 100644 --- a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md +++ b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md @@ -9,7 +9,7 @@ assignees: '' Please, answer some short questions which should help us to understand your problem / question better? -- **Which image of the operator are you using?** e.g. ghcr.io/zalando/postgres-operator:v1.12.0 +- **Which image of the operator are you using?** e.g. ghcr.io/zalando/postgres-operator:v1.12.2 - **Where do you run it - cloud or metal? Kubernetes or OpenShift?** [AWS K8s | GCP ... | Bare Metal K8s] - **Are you running Postgres Operator in production?** [yes | no] - **Type of issue?** [Bug report, question, feature request, etc.] diff --git a/.github/workflows/publish_ghcr_image.yaml b/.github/workflows/publish_ghcr_image.yaml index 245d30fc3..a36e9757e 100644 --- a/.github/workflows/publish_ghcr_image.yaml +++ b/.github/workflows/publish_ghcr_image.yaml @@ -65,7 +65,7 @@ jobs: context: . file: docker/Dockerfile push: true - build-args: BASE_IMAGE=alpine:3.15 + build-args: BASE_IMAGE=alpine:3 tags: "${{ steps.image.outputs.OPERATOR_IMAGE }}" platforms: linux/amd64,linux/arm64 @@ -74,7 +74,7 @@ jobs: with: context: ui push: true - build-args: BASE_IMAGE=alpine:3.15 + build-args: BASE_IMAGE=python:3.11-slim tags: "${{ steps.image_ui.outputs.UI_IMAGE }}" platforms: linux/amd64,linux/arm64 diff --git a/.gitignore b/.gitignore index 081eb5fba..66a8103d0 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,5 @@ e2e/tls *.pot mocks + +ui/.npm/ diff --git a/Makefile b/Makefile index 696311a43..e8b8e2b74 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,7 @@ mocks: GO111MODULE=on go generate ./... tools: - GO111MODULE=on go get -d k8s.io/client-go@kubernetes-1.28.7 + GO111MODULE=on go get -d k8s.io/client-go@kubernetes-1.28.10 GO111MODULE=on go install github.com/golang/mock/mockgen@v1.6.0 GO111MODULE=on go mod tidy diff --git a/README.md b/README.md index a9a0b24eb..0b8f10c91 100644 --- a/README.md +++ b/README.md @@ -57,9 +57,9 @@ production for over five years. | Release | Postgres versions | K8s versions | Golang | | :-------- | :---------------: | :---------------: | :-----: | -| v1.12.* | 11 → 16 | 1.27+ | 1.22.3 | +| v1.12.2 | 11 → 16 | 1.27+ | 1.22.3 | | v1.11.0 | 11 → 16 | 1.27+ | 1.21.7 | -| v1.10.* | 10 → 15 | 1.21+ | 1.19.8 | +| v1.10.1 | 10 → 15 | 1.21+ | 1.19.8 | | v1.9.0 | 10 → 15 | 1.21+ | 1.18.9 | | v1.8.2 | 9.5 → 14 | 1.20 → 1.24 | 1.17.4 | diff --git a/charts/postgres-operator-ui/Chart.yaml b/charts/postgres-operator-ui/Chart.yaml index 03ee2f164..1bb27c741 100644 --- a/charts/postgres-operator-ui/Chart.yaml +++ b/charts/postgres-operator-ui/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: postgres-operator-ui -version: 1.12.0 -appVersion: 1.12.0 +version: 1.12.2 +appVersion: 1.12.2 home: https://github.com/zalando/postgres-operator description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience keywords: diff --git a/charts/postgres-operator-ui/index.yaml b/charts/postgres-operator-ui/index.yaml index 5444612a4..90e3a7f0a 100644 --- a/charts/postgres-operator-ui/index.yaml +++ b/charts/postgres-operator-ui/index.yaml @@ -2,11 +2,11 @@ apiVersion: v1 entries: postgres-operator-ui: - apiVersion: v2 - appVersion: 1.12.0 - created: "2024-05-24T16:34:14.027533755+02:00" + appVersion: 1.12.2 + created: "2024-06-14T10:31:52.852963015+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience - digest: 498b8254dc0e24bc3cdc98e250a5640dc104b75e1dbba5d9fdb90a3b39e7eb8c + digest: cbcef400c23ccece27d97369ad629278265c013e0a45c0b7f33e7568a082fedd home: https://github.com/zalando/postgres-operator keywords: - postgres @@ -22,11 +22,11 @@ entries: sources: - https://github.com/zalando/postgres-operator urls: - - postgres-operator-ui-1.12.0.tgz - version: 1.12.0 + - postgres-operator-ui-1.12.2.tgz + version: 1.12.2 - apiVersion: v2 appVersion: 1.11.0 - created: "2024-05-24T16:34:14.02529813+02:00" + created: "2024-06-14T10:31:52.849576888+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: a45f2284045c2a9a79750a36997386444f39b01ac722b17c84b431457577a3a2 @@ -49,7 +49,7 @@ entries: version: 1.11.0 - apiVersion: v2 appVersion: 1.10.1 - created: "2024-05-24T16:34:14.023186291+02:00" + created: "2024-06-14T10:31:52.843219526+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 2e5e7a82aebee519ec57c6243eb8735124aa4585a3a19c66ffd69638fbeb11ce @@ -70,32 +70,9 @@ entries: urls: - postgres-operator-ui-1.10.1.tgz version: 1.10.1 - - apiVersion: v2 - appVersion: 1.10.0 - created: "2024-05-24T16:34:14.021045516+02:00" - description: Postgres Operator UI provides a graphical interface for a convenient - database-as-a-service user experience - digest: 47413650e3188539ae778a601998efa2c4f80b8aa16e3668a2fc7b72e014b605 - home: https://github.com/zalando/postgres-operator - keywords: - - postgres - - operator - - ui - - cloud-native - - patroni - - spilo - maintainers: - - email: opensource@zalando.de - name: Zalando - name: postgres-operator-ui - sources: - - https://github.com/zalando/postgres-operator - urls: - - postgres-operator-ui-1.10.0.tgz - version: 1.10.0 - apiVersion: v2 appVersion: 1.9.0 - created: "2024-05-24T16:34:14.031516234+02:00" + created: "2024-06-14T10:31:52.857573553+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: df434af6c8b697fe0631017ecc25e3c79e125361ae6622347cea41a545153bdc @@ -118,7 +95,7 @@ entries: version: 1.9.0 - apiVersion: v2 appVersion: 1.8.2 - created: "2024-05-24T16:34:14.029536821+02:00" + created: "2024-06-14T10:31:52.855335455+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: fbfc90fa8fd007a08a7c02e0ec9108bb8282cbb42b8c976d88f2193d6edff30c @@ -139,4 +116,4 @@ entries: urls: - postgres-operator-ui-1.8.2.tgz version: 1.8.2 -generated: "2024-05-24T16:34:14.018381989+02:00" +generated: "2024-06-14T10:31:52.839113675+02:00" diff --git a/charts/postgres-operator-ui/postgres-operator-ui-1.10.0.tgz b/charts/postgres-operator-ui/postgres-operator-ui-1.10.0.tgz deleted file mode 100644 index 7bc308f0f..000000000 Binary files a/charts/postgres-operator-ui/postgres-operator-ui-1.10.0.tgz and /dev/null differ diff --git a/charts/postgres-operator-ui/postgres-operator-ui-1.12.0.tgz b/charts/postgres-operator-ui/postgres-operator-ui-1.12.0.tgz deleted file mode 100644 index f8b18a56c..000000000 Binary files a/charts/postgres-operator-ui/postgres-operator-ui-1.12.0.tgz and /dev/null differ diff --git a/charts/postgres-operator-ui/postgres-operator-ui-1.12.2.tgz b/charts/postgres-operator-ui/postgres-operator-ui-1.12.2.tgz new file mode 100644 index 000000000..f34fd8f11 Binary files /dev/null and b/charts/postgres-operator-ui/postgres-operator-ui-1.12.2.tgz differ diff --git a/charts/postgres-operator-ui/values.yaml b/charts/postgres-operator-ui/values.yaml index ef3f387f8..2342496c5 100644 --- a/charts/postgres-operator-ui/values.yaml +++ b/charts/postgres-operator-ui/values.yaml @@ -8,7 +8,7 @@ replicaCount: 1 image: registry: ghcr.io repository: zalando/postgres-operator-ui - tag: v1.12.0 + tag: v1.12.2 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. diff --git a/charts/postgres-operator/Chart.yaml b/charts/postgres-operator/Chart.yaml index 0e74a457f..38c2e6da8 100644 --- a/charts/postgres-operator/Chart.yaml +++ b/charts/postgres-operator/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: postgres-operator -version: 1.12.0 -appVersion: 1.12.0 +version: 1.12.2 +appVersion: 1.12.2 home: https://github.com/zalando/postgres-operator description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes keywords: diff --git a/charts/postgres-operator/crds/operatorconfigurations.yaml b/charts/postgres-operator/crds/operatorconfigurations.yaml index 40ebd2b46..bf4ae34b1 100644 --- a/charts/postgres-operator/crds/operatorconfigurations.yaml +++ b/charts/postgres-operator/crds/operatorconfigurations.yaml @@ -508,7 +508,7 @@ spec: pattern: '^(\d+m|\d+(\.\d{1,3})?)$' logical_backup_docker_image: type: string - default: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.0" + default: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2" logical_backup_google_application_credentials: type: string logical_backup_job_prefix: diff --git a/charts/postgres-operator/index.yaml b/charts/postgres-operator/index.yaml index 876d52186..63a9d732c 100644 --- a/charts/postgres-operator/index.yaml +++ b/charts/postgres-operator/index.yaml @@ -2,11 +2,11 @@ apiVersion: v1 entries: postgres-operator: - apiVersion: v2 - appVersion: 1.12.0 - created: "2024-05-24T16:33:38.650770727+02:00" + appVersion: 1.12.2 + created: "2024-06-14T10:30:44.071387784+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes - digest: d56e9471096d3e0dfd3a35619bfd8e81895979e95a0cad44eb021335814d19cf + digest: 65858d14a40d7fd90c32bd9fc60021acc9555c161079f43a365c70171eaf21d8 home: https://github.com/zalando/postgres-operator keywords: - postgres @@ -21,11 +21,11 @@ entries: sources: - https://github.com/zalando/postgres-operator urls: - - postgres-operator-1.12.0.tgz - version: 1.12.0 + - postgres-operator-1.12.2.tgz + version: 1.12.2 - apiVersion: v2 appVersion: 1.11.0 - created: "2024-05-24T16:33:38.644616857+02:00" + created: "2024-06-14T10:30:44.065353504+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 3914b5e117bda0834f05c9207f007e2ac372864cf6e86dcc2e1362bbe46c14d9 @@ -47,7 +47,7 @@ entries: version: 1.11.0 - apiVersion: v2 appVersion: 1.10.1 - created: "2024-05-24T16:33:38.638769428+02:00" + created: "2024-06-14T10:30:44.059080224+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: cc3baa41753da92466223d0b334df27e79c882296577b404a8e9071411fcf19c @@ -67,31 +67,9 @@ entries: urls: - postgres-operator-1.10.1.tgz version: 1.10.1 - - apiVersion: v2 - appVersion: 1.10.0 - created: "2024-05-24T16:33:38.633634768+02:00" - description: Postgres Operator creates and manages PostgreSQL clusters running - in Kubernetes - digest: 60fc5c8059dfed175d14e1034b40997d9c59d33ec8ea158c0597f7228ab04b51 - home: https://github.com/zalando/postgres-operator - keywords: - - postgres - - operator - - cloud-native - - patroni - - spilo - maintainers: - - email: opensource@zalando.de - name: Zalando - name: postgres-operator - sources: - - https://github.com/zalando/postgres-operator - urls: - - postgres-operator-1.10.0.tgz - version: 1.10.0 - apiVersion: v2 appVersion: 1.9.0 - created: "2024-05-24T16:33:38.663765707+02:00" + created: "2024-06-14T10:30:44.084760658+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 64df90c898ca591eb3a330328173ffaadfbf9ddd474d8c42ed143edc9e3f4276 @@ -113,7 +91,7 @@ entries: version: 1.9.0 - apiVersion: v2 appVersion: 1.8.2 - created: "2024-05-24T16:33:38.658286963+02:00" + created: "2024-06-14T10:30:44.077744166+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: f77ffad2e98b72a621e5527015cf607935d3ed688f10ba4b626435acb9631b5b @@ -133,4 +111,4 @@ entries: urls: - postgres-operator-1.8.2.tgz version: 1.8.2 -generated: "2024-05-24T16:33:38.62797266+02:00" +generated: "2024-06-14T10:30:44.052436544+02:00" diff --git a/charts/postgres-operator/postgres-operator-1.10.0.tgz b/charts/postgres-operator/postgres-operator-1.10.0.tgz deleted file mode 100644 index 71f3483f5..000000000 Binary files a/charts/postgres-operator/postgres-operator-1.10.0.tgz and /dev/null differ diff --git a/charts/postgres-operator/postgres-operator-1.12.0.tgz b/charts/postgres-operator/postgres-operator-1.12.0.tgz deleted file mode 100644 index 7c0b999c3..000000000 Binary files a/charts/postgres-operator/postgres-operator-1.12.0.tgz and /dev/null differ diff --git a/charts/postgres-operator/postgres-operator-1.12.2.tgz b/charts/postgres-operator/postgres-operator-1.12.2.tgz new file mode 100644 index 000000000..a74c25c47 Binary files /dev/null and b/charts/postgres-operator/postgres-operator-1.12.2.tgz differ diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index acbda6b3b..5700ff783 100644 --- a/charts/postgres-operator/values.yaml +++ b/charts/postgres-operator/values.yaml @@ -1,7 +1,7 @@ image: registry: ghcr.io repository: zalando/postgres-operator - tag: v1.12.0 + tag: v1.12.2 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. @@ -362,7 +362,7 @@ configLogicalBackup: # logical_backup_memory_request: "" # image for pods of the logical backup job (example runs pg_dumpall) - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.0" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2" # path of google cloud service account json file # logical_backup_google_application_credentials: "" diff --git a/docs/administrator.md b/docs/administrator.md index b0320b36c..7db6fbbc6 100644 --- a/docs/administrator.md +++ b/docs/administrator.md @@ -1399,7 +1399,7 @@ make docker # build in image in minikube docker env eval $(minikube docker-env) -docker build -t ghcr.io/zalando/postgres-operator-ui:v1.12.0 . +docker build -t ghcr.io/zalando/postgres-operator-ui:v1.12.2 . # apply UI manifests next to a running Postgres Operator kubectl apply -f manifests/ diff --git a/docs/reference/operator_parameters.md b/docs/reference/operator_parameters.md index 8d6227032..1474c5bbe 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -821,7 +821,7 @@ grouped under the `logical_backup` key. runs `pg_dumpall` on a replica if possible and uploads compressed results to an S3 bucket under the key `////logical_backups`. The default image is the same image built with the Zalando-internal CI - pipeline. Default: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.0" + pipeline. Default: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2" * **logical_backup_google_application_credentials** Specifies the path of the google cloud service account json file. Default is empty. diff --git a/kubectl-pg/go.mod b/kubectl-pg/go.mod index a5161315c..fb32e08c4 100644 --- a/kubectl-pg/go.mod +++ b/kubectl-pg/go.mod @@ -5,9 +5,9 @@ go 1.22 require ( github.com/spf13/cobra v1.8.0 github.com/spf13/viper v1.18.2 - github.com/zalando/postgres-operator v1.11.0 + github.com/zalando/postgres-operator v1.12.0 k8s.io/api v0.28.10 - k8s.io/apiextensions-apiserver v0.28.10 + k8s.io/apiextensions-apiserver v0.25.9 k8s.io/apimachinery v0.28.10 k8s.io/client-go v0.28.10 ) @@ -43,20 +43,20 @@ require ( github.com/pelletier/go-toml/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect - github.com/sirupsen/logrus v1.9.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.21.0 // indirect + golang.org/x/crypto v0.23.0 // indirect golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.15.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/term v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/term v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect golang.org/x/time v0.5.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.33.0 // indirect diff --git a/kubectl-pg/go.sum b/kubectl-pg/go.sum index 116507d22..d42bafcc5 100644 --- a/kubectl-pg/go.sum +++ b/kubectl-pg/go.sum @@ -92,8 +92,8 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= @@ -114,21 +114,22 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/zalando/postgres-operator v1.11.0 h1:V+yDrWTU802CHnHDtcvKrb7VlOAi3gPUzjtzuz8RIAw= -github.com/zalando/postgres-operator v1.11.0/go.mod h1:pWwUQyotDTQ8ceo+BZYoqqj+tvfROViba9I2Yu6sN8o= +github.com/zalando/postgres-operator v1.12.0 h1:9C5u8UgrVQDRdzB3/T7kKWYKEf2vbF9EZHqtCRSgJtE= +github.com/zalando/postgres-operator v1.12.0/go.mod h1:tKNY4pMjnr5BhuzGiGngf1SPJ7K1vVRCmMkfmV9KZoQ= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o= golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -149,15 +150,15 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -189,8 +190,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/api v0.28.10 h1:q1Y+h3F+siuwP/qCQuqgqGJjaIuQWN0yFE7z367E3Q0= k8s.io/api v0.28.10/go.mod h1:u6EzGdzmEC2vfhyw4sD89i7OIc/2v1EAwvd1t4chQac= -k8s.io/apiextensions-apiserver v0.28.10 h1:oPw2OHjwmnAxeHsIsWcxks27UzNv1bTSQ7ei5xYStgY= -k8s.io/apiextensions-apiserver v0.28.10/go.mod h1:1ZHGxGUZO9ta7f1J6/CoaTYzYABufZolc5JkE1ekUe4= +k8s.io/apiextensions-apiserver v0.25.9 h1:Pycd6lm2auABp9wKQHCFSEPG+NPdFSTJXPST6NJFzB8= +k8s.io/apiextensions-apiserver v0.25.9/go.mod h1:ijGxmSG1GLOEaWhTuaEr0M7KUeia3mWCZa6FFQqpt1M= k8s.io/apimachinery v0.28.10 h1:cWonrYsJK3lbuf9IgMs5+L5Jzw6QR3ZGA3hzwG0HDeI= k8s.io/apimachinery v0.28.10/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o= k8s.io/client-go v0.28.10 h1:y+mvUei3+RU0rE7r2BZFA2ApTAsXSN1glGs4QfULLt4= diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index 98faba589..7f76d0b33 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -83,7 +83,7 @@ data: # logical_backup_azure_storage_account_key: "" # logical_backup_cpu_limit: "" # logical_backup_cpu_request: "" - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.0" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" # logical_backup_memory_limit: "" diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index 7289f9baf..887577940 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -506,7 +506,7 @@ spec: pattern: '^(\d+m|\d+(\.\d{1,3})?)$' logical_backup_docker_image: type: string - default: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.0" + default: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2" logical_backup_google_application_credentials: type: string logical_backup_job_prefix: diff --git a/manifests/postgres-operator.yaml b/manifests/postgres-operator.yaml index a6eae22d0..d0890bd34 100644 --- a/manifests/postgres-operator.yaml +++ b/manifests/postgres-operator.yaml @@ -19,7 +19,7 @@ spec: serviceAccountName: postgres-operator containers: - name: postgres-operator - image: ghcr.io/zalando/postgres-operator:v1.12.0 + image: ghcr.io/zalando/postgres-operator:v1.12.2 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index 8ec4784fb..ee3123e32 100644 --- a/manifests/postgresql-operator-default-configuration.yaml +++ b/manifests/postgresql-operator-default-configuration.yaml @@ -167,7 +167,7 @@ configuration: # logical_backup_cpu_request: "" # logical_backup_memory_limit: "" # logical_backup_memory_request: "" - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.0" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index 930854ffc..88f1d73c0 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -179,7 +179,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur // logical backup config result.LogicalBackupSchedule = util.Coalesce(fromCRD.LogicalBackup.Schedule, "30 00 * * *") - result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.0") + result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2") result.LogicalBackupProvider = util.Coalesce(fromCRD.LogicalBackup.BackupProvider, "s3") result.LogicalBackupAzureStorageAccountName = fromCRD.LogicalBackup.AzureStorageAccountName result.LogicalBackupAzureStorageAccountKey = fromCRD.LogicalBackup.AzureStorageAccountKey diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index dcf2c998b..829c1d19e 100644 --- a/pkg/util/config/config.go +++ b/pkg/util/config/config.go @@ -70,17 +70,17 @@ type Resources struct { type InfrastructureRole struct { // Name of a secret which describes the role, and optionally name of a // configmap with an extra information - SecretName spec.NamespacedName `name:"secretname,omitempty"` + SecretName spec.NamespacedName `json:"secretname,omitempty"` - UserKey string `name:"userkey,omitempty"` - PasswordKey string `name:"passwordkey,omitempty"` - RoleKey string `name:"rolekey,omitempty"` + UserKey string `json:"userkey,omitempty"` + PasswordKey string `json:"passwordkey,omitempty"` + RoleKey string `json:"rolekey,omitempty"` - DefaultUserValue string `name:"defaultuservalue,omitempty"` - DefaultRoleValue string `name:"defaultrolevalue,omitempty"` + DefaultUserValue string `json:"defaultuservalue,omitempty"` + DefaultRoleValue string `json:"defaultrolevalue,omitempty"` // This field point out the detailed yaml definition of the role, if exists - Details string `name:"details,omitempty"` + Details string `json:"details,omitempty"` // Specify if a secret contains multiple fields in the following format: // @@ -91,7 +91,7 @@ type InfrastructureRole struct { // If it does, Name/Password/Role are interpreted not as unique field // names, but as a template. - Template bool `name:"template,omitempty"` + Template bool `json:"template,omitempty"` } // Auth describes authentication specific configuration parameters @@ -126,7 +126,7 @@ type Scalyr struct { // LogicalBackup defines configuration for logical backup type LogicalBackup struct { LogicalBackupSchedule string `name:"logical_backup_schedule" default:"30 00 * * *"` - LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"ghcr.io/zalando/postgres-operator/logical-backup:v1.12.0"` + LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2"` LogicalBackupProvider string `name:"logical_backup_provider" default:"s3"` LogicalBackupAzureStorageAccountName string `name:"logical_backup_azure_storage_account_name" default:""` LogicalBackupAzureStorageContainer string `name:"logical_backup_azure_storage_container" default:""` diff --git a/ui/.dockerignore b/ui/.dockerignore index a53cb76a3..2bc7915f1 100644 --- a/ui/.dockerignore +++ b/ui/.dockerignore @@ -5,6 +5,8 @@ .git __pycache__ +.npm/ + app/node_modules operator_ui/static/build/*.hot-update.js operator_ui/static/build/*.hot-update.json diff --git a/ui/Dockerfile b/ui/Dockerfile index 25a0f089d..51f1d7744 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -1,4 +1,15 @@ -FROM registry.opensource.zalan.do/library/python-3.11-slim:latest +ARG BASE_IMAGE=registry.opensource.zalan.do/library/python-3.11-slim:latest +ARG NODE_IMAGE=node:lts-alpine + +FROM $NODE_IMAGE AS build + +COPY . /workdir +WORKDIR /workdir/app + +RUN npm install \ + && npm run build + +FROM $BASE_IMAGE LABEL maintainer="Team ACID @ Zalando " EXPOSE 8081 @@ -15,6 +26,7 @@ COPY start_server.sh . RUN pip install -r requirements.txt COPY operator_ui operator_ui/ +COPY --from=build /workdir/operator_ui/static/build/ operator_ui/static/build/ ARG VERSION=dev RUN sed -i "s/__version__ = .*/__version__ = '${VERSION}'/" operator_ui/__init__.py diff --git a/ui/Makefile b/ui/Makefile index 7d86b2df6..8f88982ab 100644 --- a/ui/Makefile +++ b/ui/Makefile @@ -21,8 +21,8 @@ test: tox appjs: - docker run $(TTYFLAGS) -u $$(id -u) -v $$(pwd):/workdir -w /workdir/app node:14.21.2-alpine npm install - docker run $(TTYFLAGS) -u $$(id -u) -v $$(pwd):/workdir -w /workdir/app node:14.21.2-alpine npm run build + docker run $(TTYFLAGS) -u $$(id -u) -v $$(pwd):/workdir -w /workdir/app node:lts-alpine npm install --cache /workdir/.npm + docker run $(TTYFLAGS) -u $$(id -u) -v $$(pwd):/workdir -w /workdir/app node:lts-alpine npm run build --cache /workdir/.npm docker: appjs echo `(env)` diff --git a/ui/app/package.json b/ui/app/package.json index 5fcc46466..076aa7875 100644 --- a/ui/app/package.json +++ b/ui/app/package.json @@ -1,6 +1,6 @@ { "name": "postgres-operator-ui", - "version": "1.12.0", + "version": "1.12.2", "description": "PostgreSQL Operator UI", "main": "src/app.js", "config": { diff --git a/ui/manifests/deployment.yaml b/ui/manifests/deployment.yaml index b0c0b73bb..f5ca17da9 100644 --- a/ui/manifests/deployment.yaml +++ b/ui/manifests/deployment.yaml @@ -18,7 +18,7 @@ spec: serviceAccountName: postgres-operator-ui containers: - name: "service" - image: ghcr.io/zalando/postgres-operator-ui:v1.12.0 + image: ghcr.io/zalando/postgres-operator-ui:v1.12.2 ports: - containerPort: 8081 protocol: "TCP" diff --git a/ui/setup.py b/ui/setup.py index 95ddfe182..43a1fb67d 100644 --- a/ui/setup.py +++ b/ui/setup.py @@ -69,7 +69,7 @@ setup( 'License :: OSI Approved :: MIT', 'Operating System :: OS Independent', 'Programming Language :: Python', - 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.11', 'Topic :: System :: Clustering', 'Topic :: System :: Monitoring', ],