From 74fe3e99007db051636149f04f6b123350cde1f2 Mon Sep 17 00:00:00 2001 From: Benjamin Blattberg Date: Mon, 5 Feb 2024 08:45:01 -0600 Subject: [PATCH 01/11] Update Copyright (#244) Issue: [PGO-812] --- LICENSE.md | 2 +- kustomize/monitoring/alertmanager/config/alertmanager.yml | 2 +- .../monitoring/grafana/config/crunchy_grafana_dashboards.yml | 2 +- .../monitoring/grafana/config/crunchy_grafana_datasource.yml | 2 +- .../monitoring/prometheus/config/crunchy-alert-rules-pg.yml | 2 +- kustomize/monitoring/prometheus/config/prometheus.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 2eba1808..2f3818f7 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -175,7 +175,7 @@ END OF TERMS AND CONDITIONS - Copyright 2017 - 2023 Crunchy Data Solutions, Inc. + Copyright 2017 - 2024 Crunchy Data Solutions, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/kustomize/monitoring/alertmanager/config/alertmanager.yml b/kustomize/monitoring/alertmanager/config/alertmanager.yml index 2aa9a0a1..7e235f9f 100644 --- a/kustomize/monitoring/alertmanager/config/alertmanager.yml +++ b/kustomize/monitoring/alertmanager/config/alertmanager.yml @@ -1,6 +1,6 @@ ### # -# Copyright © 2017-2023 Crunchy Data Solutions, Inc. All Rights Reserved. +# Copyright © 2017-2024 Crunchy Data Solutions, Inc. All Rights Reserved. # ### diff --git a/kustomize/monitoring/grafana/config/crunchy_grafana_dashboards.yml b/kustomize/monitoring/grafana/config/crunchy_grafana_dashboards.yml index 4845ec8e..12432445 100644 --- a/kustomize/monitoring/grafana/config/crunchy_grafana_dashboards.yml +++ b/kustomize/monitoring/grafana/config/crunchy_grafana_dashboards.yml @@ -1,6 +1,6 @@ ### # -# Copyright © 2017-2023 Crunchy Data Solutions, Inc. All Rights Reserved. +# Copyright © 2017-2024 Crunchy Data Solutions, Inc. All Rights Reserved. # ### apiVersion: 1 diff --git a/kustomize/monitoring/grafana/config/crunchy_grafana_datasource.yml b/kustomize/monitoring/grafana/config/crunchy_grafana_datasource.yml index 3a9f276e..e7c4dfcd 100644 --- a/kustomize/monitoring/grafana/config/crunchy_grafana_datasource.yml +++ b/kustomize/monitoring/grafana/config/crunchy_grafana_datasource.yml @@ -1,6 +1,6 @@ ### # -# Copyright © 2017-2023 Crunchy Data Solutions, Inc. All Rights Reserved. +# Copyright © 2017-2024 Crunchy Data Solutions, Inc. All Rights Reserved. # ### diff --git a/kustomize/monitoring/prometheus/config/crunchy-alert-rules-pg.yml b/kustomize/monitoring/prometheus/config/crunchy-alert-rules-pg.yml index 64bb0146..078197ac 100644 --- a/kustomize/monitoring/prometheus/config/crunchy-alert-rules-pg.yml +++ b/kustomize/monitoring/prometheus/config/crunchy-alert-rules-pg.yml @@ -1,6 +1,6 @@ ### # -# Copyright © 2017-2023 Crunchy Data Solutions, Inc. All Rights Reserved. +# Copyright © 2017-2024 Crunchy Data Solutions, Inc. All Rights Reserved. # ### diff --git a/kustomize/monitoring/prometheus/config/prometheus.yml b/kustomize/monitoring/prometheus/config/prometheus.yml index e60b0b92..345b6af4 100644 --- a/kustomize/monitoring/prometheus/config/prometheus.yml +++ b/kustomize/monitoring/prometheus/config/prometheus.yml @@ -1,6 +1,6 @@ ### # -# Copyright © 2017-2023 Crunchy Data Solutions, Inc. All Rights Reserved. +# Copyright © 2017-2024 Crunchy Data Solutions, Inc. All Rights Reserved. # ### --- From 78c413d4595cab363234e42b01fb88e7fe0f2ae0 Mon Sep 17 00:00:00 2001 From: Greg Nokes Date: Fri, 9 Feb 2024 14:23:57 -0800 Subject: [PATCH 02/11] Update readme for 2024 --- README.md | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index bcaf8a23..324f1f2b 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,29 @@ -# [PGO](https://github.com/CrunchyData/postgres-operator), Crunchy [Postgres Operator](https://github.com/CrunchyData/postgres-operator) Examples +# Examples for Using [PGO](https://github.com/CrunchyData/postgres-operator), the Postgres Operator from Crunchy Data -This repository contains examples for deploying PGO, the Postgres Operator from Crunchy Data, using a variety of examples. +This repository contains a collection of installers and examples for deploying, operating and maintaining Postgres clusters using PGO, the Postgres Operator from Crunchy Data as part of [Crunchy Postgres for Kubernetes](https://www.crunchydata.com/products/crunchy-postgresql-for-kubernetes). -For general questions or community support, we welcome you to join our [community Discord](https://discord.gg/BnsMEeaPBV). If you believe you have discovered a bug, please open an issue in the [PGO project](https://github.com/CrunchyData/postgres-operator). +The use of these examples with PGO and other container images (aside from those provided by Crunchy Data) will require modifications of the examples. -The examples are grouped by various tools that can be used to deploy them. +### Using these Examples +The examples are grouped by various tools that can be used to deploy them. +Each of the examples has its own README that guides you through the process of deploying it. The best way to get started is to fork this repository and experiment with the examples. +The examples as provided are designed for the use of PGO along with Crunchy Data's Postgres distribution, Crunchy Postgres, as Crunchy Postgres for Kubernetes. For more information on the use of container images downloaded from the Crunchy Data Developer Portal or other third party sources, please see 'License and Terms' below. -Each of the examples has its own README that guides you through the process of deploying it. +### Help with the Examples + +* For general questions or community support, we welcome you to join our [community Discord](https://discord.gg/BnsMEeaPBV). +* If you believe you have discovered a bug, please open an issue in the [PGO project](https://github.com/CrunchyData/postgres-operator). +* You can find the full Crunchy Postgres for Kubernetes documentation [here](https://access.crunchydata.com/documentation/postgres-operator/v5/). +* You can find out more information about PGO, the Postgres Operator from [Crunchy Data](https://www.crunchydata.com), at the [project page](https://github.com/CrunchyData/postgres-operator). + +### FAQs, License and Terms -You can find the full [PGO documentation](https://access.crunchydata.com/documentation/postgres-operator/v5/) for the project here: +For more information regarding PGO, the Postgres Operator project from Crunchy Data, and Crunchy Postgres for Kubernetes, please see the [frequently asked questions](https://access.crunchydata.com/documentation/postgres-operator/latest/faq). -[https://access.crunchydata.com/documentation/postgres-operator/v5/](https://access.crunchydata.com/documentation/postgres-operator/v5/) +For information regarding the software versions of the components included and Kubernetes version compatibility, please see the [components and compatibility section of the Crunchy Postgres for Kubernetes documentation](https://access.crunchydata.com/documentation/postgres-operator/latest/references/components). -You can find out more information about [PGO](https://github.com/CrunchyData/postgres-operator), the [Postgres Operator](https://github.com/CrunchyData/postgres-operator) from [Crunchy Data](https://www.crunchydata.com) at the project page: +The examples provided in this project repository are available subject to the [Apache 2.0](https://github.com/CrunchyData/postgres-operator-examples/blob/-/LICENSE.md) license with the PGO logo and branding assets covered by our [trademark guidelines](https://github.com/CrunchyData/postgres-operator/blob/-/docs/static/logos/TRADEMARKS.md). -[https://github.com/CrunchyData/postgres-operator](https://github.com/CrunchyData/postgres-operator) +The examples as provided in this repo are designed for the use of PGO along with Crunchy Data's Postgres distribution, Crunchy Postgres, as Crunchy Postgres for Kubernetes. The unmodified use of these examples will result in downloading container images from Crunchy Data repositories - specifically the Crunchy Data Developer Portal. The use of container images downloaded from the Crunchy Data Developer Portal are subject to the [Crunchy Data Developer Program terms](https://www.crunchydata.com/developers/terms-of-use). From 9cbce08338f412d410f9bc238ce22d0fbcaef26d Mon Sep 17 00:00:00 2001 From: Benjamin Blattberg Date: Thu, 22 Feb 2024 16:00:03 -0600 Subject: [PATCH 03/11] Feb release (#254) --- helm/install/Chart.yaml | 4 +-- ...res-operator.crunchydata.com_pgadmins.yaml | 2 +- ...s-operator.crunchydata.com_pgupgrades.yaml | 2 +- ...ator.crunchydata.com_postgresclusters.yaml | 2 +- helm/install/values.yaml | 32 +++++++++---------- helm/postgres/Chart.yaml | 4 +-- helm/postgres/values.yaml | 8 ++--- kustomize/azure/postgres.yaml | 4 +-- kustomize/certmanager/postgres/postgres.yaml | 4 +-- kustomize/gcs/postgres.yaml | 4 +-- kustomize/high-availability/ha-postgres.yaml | 6 ++-- ...res-operator.crunchydata.com_pgadmins.yaml | 2 +- ...s-operator.crunchydata.com_pgupgrades.yaml | 2 +- ...ator.crunchydata.com_postgresclusters.yaml | 2 +- kustomize/install/default/kustomization.yaml | 4 +-- kustomize/install/manager/manager.yaml | 30 ++++++++--------- .../singlenamespace/kustomization.yaml | 4 +-- kustomize/keycloak/postgres.yaml | 4 +-- kustomize/multi-backup-repo/postgres.yaml | 4 +-- kustomize/postgres/postgres.yaml | 6 ++-- kustomize/s3/postgres.yaml | 4 +-- 21 files changed, 67 insertions(+), 67 deletions(-) diff --git a/helm/install/Chart.yaml b/helm/install/Chart.yaml index 90877e93..0431d4b3 100644 --- a/helm/install/Chart.yaml +++ b/helm/install/Chart.yaml @@ -4,5 +4,5 @@ description: Installer for PGO, the open source Postgres Operator from Crunchy D type: application # The version below should match the version on the PostgresCluster CRD -version: 5.5.0 -appVersion: 5.5.0 +version: 5.5.1 +appVersion: 5.5.1 diff --git a/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml b/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml index 2f331ecf..13093f61 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.0 + app.kubernetes.io/version: 5.5.1 name: pgadmins.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml b/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml index 6223e485..71c0c407 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.0 + app.kubernetes.io/version: 5.5.1 name: pgupgrades.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml b/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml index 47ac03ae..1e79770c 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.0 + app.kubernetes.io/version: 5.5.1 name: postgresclusters.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/helm/install/values.yaml b/helm/install/values.yaml index 79618d7f..cf515155 100644 --- a/helm/install/values.yaml +++ b/helm/install/values.yaml @@ -2,40 +2,40 @@ # controllerImages are used to run the operator's controllers. # The cluster image defined below runs the PostgresCluster and PGUpgrade controllers. controllerImages: - cluster: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi8-5.5.0-0 + cluster: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi8-5.5.1-0 # relatedImages are used when an image is omitted from PostgresCluster, PGAdmin or PGUpgrade specs. relatedImages: postgres_16: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.1-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 postgres_16_gis_3.4: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.1-3.4-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.2-3.4-0 postgres_16_gis_3.3: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.1-3.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.2-3.3-0 postgres_15: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgres_15_gis_3.3: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.5-3.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.6-3.3-0 postgres_14: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.10-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.11-0 postgres_14_gis_3.1: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.10-3.1-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.1-0 postgres_14_gis_3.2: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.10-3.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.2-0 postgres_14_gis_3.3: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.10-3.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.3-0 pgadmin: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-19 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-22 pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 pgbouncer: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-3 pgexporter: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-3 pgupgrade: - image: registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.0-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.1-0 standalone_pgadmin: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-7.8-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-7.8-3 # singleNamespace controls where PGO watches for PostgresClusters. When false, # PGO watches for and responds to PostgresClusters in all namespaces. When true, diff --git a/helm/postgres/Chart.yaml b/helm/postgres/Chart.yaml index a71b03c4..a5ff8f3e 100644 --- a/helm/postgres/Chart.yaml +++ b/helm/postgres/Chart.yaml @@ -3,5 +3,5 @@ name: postgrescluster description: A Helm chart for Kubernetes type: application # The version below should match the version on the PostgresCluster CRD -version: 5.5.0 -appVersion: 5.5.0 +version: 5.5.1 +appVersion: 5.5.1 diff --git a/helm/postgres/values.yaml b/helm/postgres/values.yaml index 765c6b14..56d1ecd9 100644 --- a/helm/postgres/values.yaml +++ b/helm/postgres/values.yaml @@ -47,19 +47,19 @@ postgresVersion: 16 # below value. "postgresVersion" needs to match the version of Postgres that is # used here. If using the GIS-enabled Postgres image, you need to ensure # "postGISVersion" matches the version of PostGIS used. -# imagePostgres: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 +# imagePostgres: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 # imagePgBackRest is the pgBackRest backup utility image. This defaults to the # below value. -# imagePgBackRest: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 +# imagePgBackRest: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 # imagePgBouncer is the image for the PgBouncer connection pooler. This defaults # to the below value. -# imagePgBouncer: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-0 +# imagePgBouncer: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-3 # imageExporter is the image name for the exporter used as a part of monitoring. # This defaults to the value below. -# imageExporter: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-0 +# imageExporter: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-3 ########################### # Basic Postgres Settings # diff --git a/kustomize/azure/postgres.yaml b/kustomize/azure/postgres.yaml index 6e75df42..3796feaf 100644 --- a/kustomize/azure/postgres.yaml +++ b/kustomize/azure/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-azure spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgresVersion: 15 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 configuration: - secret: name: pgo-azure-creds diff --git a/kustomize/certmanager/postgres/postgres.yaml b/kustomize/certmanager/postgres/postgres.yaml index f844557f..0804c026 100644 --- a/kustomize/certmanager/postgres/postgres.yaml +++ b/kustomize/certmanager/postgres/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgresVersion: 15 customReplicationTLSSecret: name: hippo-repl-tls @@ -19,7 +19,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 repos: - name: repo1 volume: diff --git a/kustomize/gcs/postgres.yaml b/kustomize/gcs/postgres.yaml index 5a66a23e..65a6deba 100644 --- a/kustomize/gcs/postgres.yaml +++ b/kustomize/gcs/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-gcs spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgresVersion: 15 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 configuration: - secret: name: pgo-gcs-creds diff --git a/kustomize/high-availability/ha-postgres.yaml b/kustomize/high-availability/ha-postgres.yaml index db2d55b8..811a074d 100644 --- a/kustomize/high-availability/ha-postgres.yaml +++ b/kustomize/high-availability/ha-postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-ha spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgresVersion: 15 instances: - name: pgha1 @@ -26,7 +26,7 @@ spec: postgres-operator.crunchydata.com/instance-set: pgha1 backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 repos: - name: repo1 volume: @@ -38,7 +38,7 @@ spec: storage: 1Gi proxy: pgBouncer: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-3 replicas: 2 affinity: podAntiAffinity: diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml index 2f331ecf..13093f61 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.0 + app.kubernetes.io/version: 5.5.1 name: pgadmins.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml index 6223e485..71c0c407 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.0 + app.kubernetes.io/version: 5.5.1 name: pgupgrades.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml index 47ac03ae..1e79770c 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.0 + app.kubernetes.io/version: 5.5.1 name: postgresclusters.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/kustomize/install/default/kustomization.yaml b/kustomize/install/default/kustomization.yaml index 2dc4361f..52088eb0 100644 --- a/kustomize/install/default/kustomization.yaml +++ b/kustomize/install/default/kustomization.yaml @@ -8,7 +8,7 @@ labels: pairs: app.kubernetes.io/name: pgo # The version below should match the version on the PostgresCluster CRD - app.kubernetes.io/version: 5.5.0 + app.kubernetes.io/version: 5.5.1 postgres-operator.crunchydata.com/control-plane: postgres-operator resources: @@ -19,4 +19,4 @@ resources: images: - name: postgres-operator newName: registry.developers.crunchydata.com/crunchydata/postgres-operator - newTag: ubi8-5.5.0-0 + newTag: ubi8-5.5.1-0 diff --git a/kustomize/install/manager/manager.yaml b/kustomize/install/manager/manager.yaml index a825b338..6cce0fa7 100644 --- a/kustomize/install/manager/manager.yaml +++ b/kustomize/install/manager/manager.yaml @@ -27,35 +27,35 @@ spec: - name: CRUNCHY_DEBUG value: "true" - name: RELATED_IMAGE_POSTGRES_14 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.10-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.11-0" - name: RELATED_IMAGE_POSTGRES_14_GIS_3.1 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.10-3.1-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.1-0" - name: RELATED_IMAGE_POSTGRES_14_GIS_3.2 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.10-3.2-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.2-0" - name: RELATED_IMAGE_POSTGRES_14_GIS_3.3 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.10-3.3-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.3-0" - name: RELATED_IMAGE_POSTGRES_15 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0" - name: RELATED_IMAGE_POSTGRES_15_GIS_3.3 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.5-3.3-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.6-3.3-0" - name: RELATED_IMAGE_POSTGRES_16 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.1-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0" - name: RELATED_IMAGE_POSTGRES_16_GIS_3.3 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.1-3.3-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.2-3.3-0" - name: RELATED_IMAGE_POSTGRES_16_GIS_3.4 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.1-3.4-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.2-3.4-0" - name: RELATED_IMAGE_PGADMIN - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-19" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-22" - name: RELATED_IMAGE_PGBACKREST - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0" - name: RELATED_IMAGE_PGBOUNCER - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-3" - name: RELATED_IMAGE_PGEXPORTER - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-3" - name: RELATED_IMAGE_PGUPGRADE - value: "registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.0-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.1-0" - name: RELATED_IMAGE_STANDALONE_PGADMIN - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-7.8-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-7.8-3" securityContext: allowPrivilegeEscalation: false capabilities: { drop: [ALL] } diff --git a/kustomize/install/singlenamespace/kustomization.yaml b/kustomize/install/singlenamespace/kustomization.yaml index 7d2f7066..08bb9a0f 100644 --- a/kustomize/install/singlenamespace/kustomization.yaml +++ b/kustomize/install/singlenamespace/kustomization.yaml @@ -8,7 +8,7 @@ labels: pairs: app.kubernetes.io/name: pgo # The version below should match the version on the PostgresCluster CRD - app.kubernetes.io/version: 5.5.0 + app.kubernetes.io/version: 5.5.1 postgres-operator.crunchydata.com/control-plane: postgres-operator resources: @@ -19,7 +19,7 @@ resources: images: - name: postgres-operator newName: registry.developers.crunchydata.com/crunchydata/postgres-operator - newTag: ubi8-5.5.0-0 + newTag: ubi8-5.5.1-0 patches: - path: manager-target.yaml diff --git a/kustomize/keycloak/postgres.yaml b/kustomize/keycloak/postgres.yaml index 7b45c1a6..5c48aa45 100644 --- a/kustomize/keycloak/postgres.yaml +++ b/kustomize/keycloak/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: keycloakdb spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgresVersion: 15 instances: - replicas: 2 @@ -25,7 +25,7 @@ spec: postgres-operator.crunchydata.com/instance-set: "00" backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 repos: - name: repo1 volume: diff --git a/kustomize/multi-backup-repo/postgres.yaml b/kustomize/multi-backup-repo/postgres.yaml index ee2f3610..f48147f1 100644 --- a/kustomize/multi-backup-repo/postgres.yaml +++ b/kustomize/multi-backup-repo/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-multi-repo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 configuration: - secret: name: pgo-multi-repo-creds diff --git a/kustomize/postgres/postgres.yaml b/kustomize/postgres/postgres.yaml index 32eabcf7..cf2b167f 100644 --- a/kustomize/postgres/postgres.yaml +++ b/kustomize/postgres/postgres.yaml @@ -3,8 +3,8 @@ kind: PostgresCluster metadata: name: hippo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 - postgresVersion: 15 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 + postgresVersion: 16 instances: - name: instance1 dataVolumeClaimSpec: @@ -15,7 +15,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 repos: - name: repo1 volume: diff --git a/kustomize/s3/postgres.yaml b/kustomize/s3/postgres.yaml index 6ecb51bd..0cb33677 100644 --- a/kustomize/s3/postgres.yaml +++ b/kustomize/s3/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-s3 spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.5-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgresVersion: 15 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.47-2 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 configuration: - secret: name: pgo-s3-creds From a0433f25483a9170aa49bf3fecb790f0f9090928 Mon Sep 17 00:00:00 2001 From: Benjamin Blattberg Date: Tue, 27 Feb 2024 09:56:54 -0600 Subject: [PATCH 04/11] Remove all PG14 from installers (#257) --- helm/install/values.yaml | 8 -------- kustomize/install/manager/manager.yaml | 8 -------- 2 files changed, 16 deletions(-) diff --git a/helm/install/values.yaml b/helm/install/values.yaml index cf515155..a490f770 100644 --- a/helm/install/values.yaml +++ b/helm/install/values.yaml @@ -16,14 +16,6 @@ relatedImages: image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 postgres_15_gis_3.3: image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.6-3.3-0 - postgres_14: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.11-0 - postgres_14_gis_3.1: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.1-0 - postgres_14_gis_3.2: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.2-0 - postgres_14_gis_3.3: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.3-0 pgadmin: image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-22 pgbackrest: diff --git a/kustomize/install/manager/manager.yaml b/kustomize/install/manager/manager.yaml index 6cce0fa7..e964a63e 100644 --- a/kustomize/install/manager/manager.yaml +++ b/kustomize/install/manager/manager.yaml @@ -26,14 +26,6 @@ spec: fieldPath: metadata.namespace - name: CRUNCHY_DEBUG value: "true" - - name: RELATED_IMAGE_POSTGRES_14 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.11-0" - - name: RELATED_IMAGE_POSTGRES_14_GIS_3.1 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.1-0" - - name: RELATED_IMAGE_POSTGRES_14_GIS_3.2 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.2-0" - - name: RELATED_IMAGE_POSTGRES_14_GIS_3.3 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-14.11-3.3-0" - name: RELATED_IMAGE_POSTGRES_15 value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0" - name: RELATED_IMAGE_POSTGRES_15_GIS_3.3 From 5d21c5c68c3c8811055eef0f0656ae9b70e5755c Mon Sep 17 00:00:00 2001 From: Benjamin Blattberg Date: Wed, 28 Feb 2024 12:07:18 -0600 Subject: [PATCH 05/11] Make PG 16 default (#259) Now that we have released our .2 release of the newest PG, we should update to using that in our examples. --- kustomize/azure/postgres.yaml | 4 ++-- kustomize/certmanager/postgres/postgres.yaml | 4 ++-- kustomize/gcs/postgres.yaml | 4 ++-- kustomize/high-availability/ha-postgres.yaml | 4 ++-- kustomize/keycloak/postgres.yaml | 4 ++-- kustomize/multi-backup-repo/postgres.yaml | 2 +- kustomize/postgres/postgres.yaml | 2 +- kustomize/s3/postgres.yaml | 4 ++-- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/kustomize/azure/postgres.yaml b/kustomize/azure/postgres.yaml index 3796feaf..f7463cda 100644 --- a/kustomize/azure/postgres.yaml +++ b/kustomize/azure/postgres.yaml @@ -3,8 +3,8 @@ kind: PostgresCluster metadata: name: hippo-azure spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 - postgresVersion: 15 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + postgresVersion: 16 instances: - dataVolumeClaimSpec: accessModes: diff --git a/kustomize/certmanager/postgres/postgres.yaml b/kustomize/certmanager/postgres/postgres.yaml index 0804c026..64a96858 100644 --- a/kustomize/certmanager/postgres/postgres.yaml +++ b/kustomize/certmanager/postgres/postgres.yaml @@ -3,8 +3,8 @@ kind: PostgresCluster metadata: name: hippo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 - postgresVersion: 15 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + postgresVersion: 16 customReplicationTLSSecret: name: hippo-repl-tls customTLSSecret: diff --git a/kustomize/gcs/postgres.yaml b/kustomize/gcs/postgres.yaml index 65a6deba..9a14da29 100644 --- a/kustomize/gcs/postgres.yaml +++ b/kustomize/gcs/postgres.yaml @@ -3,8 +3,8 @@ kind: PostgresCluster metadata: name: hippo-gcs spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 - postgresVersion: 15 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + postgresVersion: 16 instances: - dataVolumeClaimSpec: accessModes: diff --git a/kustomize/high-availability/ha-postgres.yaml b/kustomize/high-availability/ha-postgres.yaml index 811a074d..e0dfefcd 100644 --- a/kustomize/high-availability/ha-postgres.yaml +++ b/kustomize/high-availability/ha-postgres.yaml @@ -3,8 +3,8 @@ kind: PostgresCluster metadata: name: hippo-ha spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 - postgresVersion: 15 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + postgresVersion: 16 instances: - name: pgha1 replicas: 2 diff --git a/kustomize/keycloak/postgres.yaml b/kustomize/keycloak/postgres.yaml index 5c48aa45..18c8652c 100644 --- a/kustomize/keycloak/postgres.yaml +++ b/kustomize/keycloak/postgres.yaml @@ -3,8 +3,8 @@ kind: PostgresCluster metadata: name: keycloakdb spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 - postgresVersion: 15 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + postgresVersion: 16 instances: - replicas: 2 dataVolumeClaimSpec: diff --git a/kustomize/multi-backup-repo/postgres.yaml b/kustomize/multi-backup-repo/postgres.yaml index f48147f1..cf404095 100644 --- a/kustomize/multi-backup-repo/postgres.yaml +++ b/kustomize/multi-backup-repo/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-multi-repo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 postgresVersion: 16 instances: - dataVolumeClaimSpec: diff --git a/kustomize/postgres/postgres.yaml b/kustomize/postgres/postgres.yaml index cf2b167f..5373b06f 100644 --- a/kustomize/postgres/postgres.yaml +++ b/kustomize/postgres/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 postgresVersion: 16 instances: - name: instance1 diff --git a/kustomize/s3/postgres.yaml b/kustomize/s3/postgres.yaml index 0cb33677..70f7027b 100644 --- a/kustomize/s3/postgres.yaml +++ b/kustomize/s3/postgres.yaml @@ -3,8 +3,8 @@ kind: PostgresCluster metadata: name: hippo-s3 spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 - postgresVersion: 15 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + postgresVersion: 16 instances: - dataVolumeClaimSpec: accessModes: From 62a661cb10b686a34cd156f15f520fcbef094a47 Mon Sep 17 00:00:00 2001 From: Roman Gherta Date: Thu, 29 Feb 2024 17:46:55 +0100 Subject: [PATCH 06/11] pgadmin config examples (#250) * pgadmin config example with readme pointing to the docs. --- kustomize/pgadmin/README.md | 8 +++++++ kustomize/pgadmin/kustomization.yaml | 8 +++++++ kustomize/pgadmin/pgadmin.yaml | 35 ++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 kustomize/pgadmin/README.md create mode 100644 kustomize/pgadmin/kustomization.yaml create mode 100644 kustomize/pgadmin/pgadmin.yaml diff --git a/kustomize/pgadmin/README.md b/kustomize/pgadmin/README.md new file mode 100644 index 00000000..eaa0007d --- /dev/null +++ b/kustomize/pgadmin/README.md @@ -0,0 +1,8 @@ +# Pgadmin considerations + +Starting with **PGO v5.5.0** the user interface has its own CRD. You have better control and can fully customize your user interface via PGAdmin.spec.config.settings as demonstrated in the included pgadmin.yaml + +For more architectural insights please refer to [docs](https://access.crunchydata.com/documentation/postgres-operator/latest/architecture/namespace-scoped-pgadmin-4) + +For a list of possible pgadmin settings refer to [pgadmin docs](https://www.pgadmin.org/docs/pgadmin4/latest/config_py.html) + diff --git a/kustomize/pgadmin/kustomization.yaml b/kustomize/pgadmin/kustomization.yaml new file mode 100644 index 00000000..d0724ecd --- /dev/null +++ b/kustomize/pgadmin/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: postgres-operator + +resources: +- pgadmin.yaml + diff --git a/kustomize/pgadmin/pgadmin.yaml b/kustomize/pgadmin/pgadmin.yaml new file mode 100644 index 00000000..27f0a4b1 --- /dev/null +++ b/kustomize/pgadmin/pgadmin.yaml @@ -0,0 +1,35 @@ +apiVersion: postgres-operator.crunchydata.com/v1beta1 +kind: PGAdmin +metadata: + name: rhino + namespace: postgres-operator +spec: + dataVolumeClaimSpec: + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: 1Gi + serverGroups: + - name: supply + # An empty selector selects all postgresclusters in the Namespace + postgresClusterSelector: {} + config: + settings: + AUTHENTICATION_SOURCES: ['oauth2', 'internal'] + OAUTH2_CONFIG: + - OAUTH2_NAME: "google" + OAUTH2_DISPLAY_NAME: "Google" + OAUTH2_CLIENT_ID: "XXXXXXX" + OAUTH2_CLIENT_SECRET: "XXXXXXX" + OAUTH2_TOKEN_URL: "https://oauth2.googleapis.com/token" + OAUTH2_AUTHORIZATION_URL: "https://accounts.google.com/o/oauth2/auth" + OAUTH2_API_BASE_URL: "https://openidconnect.googleapis.com/v1/" + OAUTH2_SERVER_METADATA_URL: "https://accounts.google.com/.well-known/openid-configuration" + OAUTH2_SCOPE: "openid email profile" + OAUTH2_USERINFO_ENDPOINT: "userinfo" + OAUTH2_SSL_CERT_VERIFICATION: "False" # for testing purposes + OAUTH2_BUTTON_COLOR: "red" + OAUTH2_AUTO_CREATE_USER : "True" + DEBUG: "True" # for testing purposes + SERVER_MODE: "True" From be4cf56ee896c497e0fb30a6a982cf26f4ecbd58 Mon Sep 17 00:00:00 2001 From: Drew Sessler Date: Wed, 15 May 2024 16:06:25 -0700 Subject: [PATCH 07/11] may 2024 minor release updates --- helm/install/Chart.yaml | 4 ++-- ...res-operator.crunchydata.com_pgadmins.yaml | 2 +- ...s-operator.crunchydata.com_pgupgrades.yaml | 2 +- ...ator.crunchydata.com_postgresclusters.yaml | 6 +---- helm/install/values.yaml | 24 +++++++++---------- helm/postgres/Chart.yaml | 4 ++-- helm/postgres/values.yaml | 8 +++---- kustomize/azure/postgres.yaml | 4 ++-- kustomize/certmanager/postgres/postgres.yaml | 4 ++-- kustomize/gcs/postgres.yaml | 4 ++-- kustomize/high-availability/ha-postgres.yaml | 6 ++--- ...res-operator.crunchydata.com_pgadmins.yaml | 2 +- ...s-operator.crunchydata.com_pgupgrades.yaml | 2 +- ...ator.crunchydata.com_postgresclusters.yaml | 6 +---- kustomize/install/default/kustomization.yaml | 4 ++-- kustomize/install/manager/manager.yaml | 22 ++++++++--------- .../singlenamespace/kustomization.yaml | 4 ++-- kustomize/keycloak/postgres.yaml | 4 ++-- kustomize/multi-backup-repo/postgres.yaml | 4 ++-- kustomize/postgres/postgres.yaml | 4 ++-- kustomize/s3/postgres.yaml | 4 ++-- 21 files changed, 58 insertions(+), 66 deletions(-) diff --git a/helm/install/Chart.yaml b/helm/install/Chart.yaml index 0431d4b3..64fc0f2b 100644 --- a/helm/install/Chart.yaml +++ b/helm/install/Chart.yaml @@ -4,5 +4,5 @@ description: Installer for PGO, the open source Postgres Operator from Crunchy D type: application # The version below should match the version on the PostgresCluster CRD -version: 5.5.1 -appVersion: 5.5.1 +version: 5.5.2 +appVersion: 5.5.2 diff --git a/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml b/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml index 13093f61..123bcfbd 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.1 + app.kubernetes.io/version: 5.5.2 name: pgadmins.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml b/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml index 71c0c407..e56982df 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.1 + app.kubernetes.io/version: 5.5.2 name: pgupgrades.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml b/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml index 1e79770c..384d237b 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.1 + app.kubernetes.io/version: 5.5.2 name: postgresclusters.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com @@ -15425,8 +15425,6 @@ spec: type: object type: object registrationRequired: - description: Version information for installations with a registration - requirement. properties: pgoVersion: type: string @@ -15439,8 +15437,6 @@ spec: description: The instance set associated with the startupInstance type: string tokenRequired: - description: Signals the need for a token to be applied when registration - is required. type: string userInterface: description: Current state of the PostgreSQL user interface. diff --git a/helm/install/values.yaml b/helm/install/values.yaml index a490f770..905b3e8e 100644 --- a/helm/install/values.yaml +++ b/helm/install/values.yaml @@ -2,32 +2,32 @@ # controllerImages are used to run the operator's controllers. # The cluster image defined below runs the PostgresCluster and PGUpgrade controllers. controllerImages: - cluster: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi8-5.5.1-0 + cluster: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi8-5.5.2-0 # relatedImages are used when an image is omitted from PostgresCluster, PGAdmin or PGUpgrade specs. relatedImages: postgres_16: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgres_16_gis_3.4: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.2-3.4-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.4-0 postgres_16_gis_3.3: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.2-3.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.3-0 postgres_15: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.7-0 postgres_15_gis_3.3: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.6-3.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.7-3.3-0 pgadmin: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-22 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-25 pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 pgbouncer: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-3 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-0 pgexporter: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-3 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-6 pgupgrade: - image: registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.1-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.2-0 standalone_pgadmin: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-7.8-3 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-8.6-0 # singleNamespace controls where PGO watches for PostgresClusters. When false, # PGO watches for and responds to PostgresClusters in all namespaces. When true, diff --git a/helm/postgres/Chart.yaml b/helm/postgres/Chart.yaml index a5ff8f3e..8fd2e3e9 100644 --- a/helm/postgres/Chart.yaml +++ b/helm/postgres/Chart.yaml @@ -3,5 +3,5 @@ name: postgrescluster description: A Helm chart for Kubernetes type: application # The version below should match the version on the PostgresCluster CRD -version: 5.5.1 -appVersion: 5.5.1 +version: 5.5.2 +appVersion: 5.5.2 diff --git a/helm/postgres/values.yaml b/helm/postgres/values.yaml index 56d1ecd9..7321f3ac 100644 --- a/helm/postgres/values.yaml +++ b/helm/postgres/values.yaml @@ -47,19 +47,19 @@ postgresVersion: 16 # below value. "postgresVersion" needs to match the version of Postgres that is # used here. If using the GIS-enabled Postgres image, you need to ensure # "postGISVersion" matches the version of PostGIS used. -# imagePostgres: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0 +# imagePostgres: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 # imagePgBackRest is the pgBackRest backup utility image. This defaults to the # below value. -# imagePgBackRest: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 +# imagePgBackRest: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 # imagePgBouncer is the image for the PgBouncer connection pooler. This defaults # to the below value. -# imagePgBouncer: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-3 +# imagePgBouncer: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-0 # imageExporter is the image name for the exporter used as a part of monitoring. # This defaults to the value below. -# imageExporter: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-3 +# imageExporter: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-6 ########################### # Basic Postgres Settings # diff --git a/kustomize/azure/postgres.yaml b/kustomize/azure/postgres.yaml index f7463cda..7e08ab0e 100644 --- a/kustomize/azure/postgres.yaml +++ b/kustomize/azure/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-azure spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 configuration: - secret: name: pgo-azure-creds diff --git a/kustomize/certmanager/postgres/postgres.yaml b/kustomize/certmanager/postgres/postgres.yaml index 64a96858..a4cdfe02 100644 --- a/kustomize/certmanager/postgres/postgres.yaml +++ b/kustomize/certmanager/postgres/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgresVersion: 16 customReplicationTLSSecret: name: hippo-repl-tls @@ -19,7 +19,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 repos: - name: repo1 volume: diff --git a/kustomize/gcs/postgres.yaml b/kustomize/gcs/postgres.yaml index 9a14da29..d316a8d4 100644 --- a/kustomize/gcs/postgres.yaml +++ b/kustomize/gcs/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-gcs spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 configuration: - secret: name: pgo-gcs-creds diff --git a/kustomize/high-availability/ha-postgres.yaml b/kustomize/high-availability/ha-postgres.yaml index e0dfefcd..654a6540 100644 --- a/kustomize/high-availability/ha-postgres.yaml +++ b/kustomize/high-availability/ha-postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-ha spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgresVersion: 16 instances: - name: pgha1 @@ -26,7 +26,7 @@ spec: postgres-operator.crunchydata.com/instance-set: pgha1 backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 repos: - name: repo1 volume: @@ -38,7 +38,7 @@ spec: storage: 1Gi proxy: pgBouncer: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-3 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-0 replicas: 2 affinity: podAntiAffinity: diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml index 13093f61..123bcfbd 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.1 + app.kubernetes.io/version: 5.5.2 name: pgadmins.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml index 71c0c407..e56982df 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.1 + app.kubernetes.io/version: 5.5.2 name: pgupgrades.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml index 1e79770c..384d237b 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml @@ -6,7 +6,7 @@ metadata: creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.1 + app.kubernetes.io/version: 5.5.2 name: postgresclusters.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com @@ -15425,8 +15425,6 @@ spec: type: object type: object registrationRequired: - description: Version information for installations with a registration - requirement. properties: pgoVersion: type: string @@ -15439,8 +15437,6 @@ spec: description: The instance set associated with the startupInstance type: string tokenRequired: - description: Signals the need for a token to be applied when registration - is required. type: string userInterface: description: Current state of the PostgreSQL user interface. diff --git a/kustomize/install/default/kustomization.yaml b/kustomize/install/default/kustomization.yaml index 52088eb0..007decd1 100644 --- a/kustomize/install/default/kustomization.yaml +++ b/kustomize/install/default/kustomization.yaml @@ -8,7 +8,7 @@ labels: pairs: app.kubernetes.io/name: pgo # The version below should match the version on the PostgresCluster CRD - app.kubernetes.io/version: 5.5.1 + app.kubernetes.io/version: 5.5.2 postgres-operator.crunchydata.com/control-plane: postgres-operator resources: @@ -19,4 +19,4 @@ resources: images: - name: postgres-operator newName: registry.developers.crunchydata.com/crunchydata/postgres-operator - newTag: ubi8-5.5.1-0 + newTag: ubi8-5.5.2-0 diff --git a/kustomize/install/manager/manager.yaml b/kustomize/install/manager/manager.yaml index e964a63e..aac17bad 100644 --- a/kustomize/install/manager/manager.yaml +++ b/kustomize/install/manager/manager.yaml @@ -27,27 +27,27 @@ spec: - name: CRUNCHY_DEBUG value: "true" - name: RELATED_IMAGE_POSTGRES_15 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.6-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.7-0" - name: RELATED_IMAGE_POSTGRES_15_GIS_3.3 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.6-3.3-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.7-3.3-0" - name: RELATED_IMAGE_POSTGRES_16 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0" - name: RELATED_IMAGE_POSTGRES_16_GIS_3.3 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.2-3.3-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.3-0" - name: RELATED_IMAGE_POSTGRES_16_GIS_3.4 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.2-3.4-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.4-0" - name: RELATED_IMAGE_PGADMIN - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-22" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-25" - name: RELATED_IMAGE_PGBACKREST - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0" - name: RELATED_IMAGE_PGBOUNCER - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.21-3" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-0" - name: RELATED_IMAGE_PGEXPORTER - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-3" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-6" - name: RELATED_IMAGE_PGUPGRADE - value: "registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.1-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.2-0" - name: RELATED_IMAGE_STANDALONE_PGADMIN - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-7.8-3" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-8.6-0" securityContext: allowPrivilegeEscalation: false capabilities: { drop: [ALL] } diff --git a/kustomize/install/singlenamespace/kustomization.yaml b/kustomize/install/singlenamespace/kustomization.yaml index 08bb9a0f..1ab8487d 100644 --- a/kustomize/install/singlenamespace/kustomization.yaml +++ b/kustomize/install/singlenamespace/kustomization.yaml @@ -8,7 +8,7 @@ labels: pairs: app.kubernetes.io/name: pgo # The version below should match the version on the PostgresCluster CRD - app.kubernetes.io/version: 5.5.1 + app.kubernetes.io/version: 5.5.2 postgres-operator.crunchydata.com/control-plane: postgres-operator resources: @@ -19,7 +19,7 @@ resources: images: - name: postgres-operator newName: registry.developers.crunchydata.com/crunchydata/postgres-operator - newTag: ubi8-5.5.1-0 + newTag: ubi8-5.5.2-0 patches: - path: manager-target.yaml diff --git a/kustomize/keycloak/postgres.yaml b/kustomize/keycloak/postgres.yaml index 18c8652c..fda00f78 100644 --- a/kustomize/keycloak/postgres.yaml +++ b/kustomize/keycloak/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: keycloakdb spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgresVersion: 16 instances: - replicas: 2 @@ -25,7 +25,7 @@ spec: postgres-operator.crunchydata.com/instance-set: "00" backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 repos: - name: repo1 volume: diff --git a/kustomize/multi-backup-repo/postgres.yaml b/kustomize/multi-backup-repo/postgres.yaml index cf404095..79639c0a 100644 --- a/kustomize/multi-backup-repo/postgres.yaml +++ b/kustomize/multi-backup-repo/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-multi-repo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 configuration: - secret: name: pgo-multi-repo-creds diff --git a/kustomize/postgres/postgres.yaml b/kustomize/postgres/postgres.yaml index 5373b06f..bb67e44e 100644 --- a/kustomize/postgres/postgres.yaml +++ b/kustomize/postgres/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgresVersion: 16 instances: - name: instance1 @@ -15,7 +15,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 repos: - name: repo1 volume: diff --git a/kustomize/s3/postgres.yaml b/kustomize/s3/postgres.yaml index 70f7027b..c286e9a5 100644 --- a/kustomize/s3/postgres.yaml +++ b/kustomize/s3/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-s3 spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.49-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 configuration: - secret: name: pgo-s3-creds From 5654daea0d3ed575a835275a9c7e66d72551c3bc Mon Sep 17 00:00:00 2001 From: Anthony Landreth Date: Fri, 10 May 2024 08:26:07 -0400 Subject: [PATCH 08/11] Set SeccompProfile to RuntimeDefault Issue: PGO-845 --- helm/install/templates/manager.yaml | 2 ++ kustomize/install/manager/manager.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/helm/install/templates/manager.yaml b/helm/install/templates/manager.yaml index a7820173..5052e9ea 100644 --- a/helm/install/templates/manager.yaml +++ b/helm/install/templates/manager.yaml @@ -46,6 +46,8 @@ spec: {{- toYaml .Values.resources.controller | nindent 10 }} {{- end }} securityContext: + seccompProfile: + type: RuntimeDefault allowPrivilegeEscalation: false capabilities: { drop: [ALL] } readOnlyRootFilesystem: true diff --git a/kustomize/install/manager/manager.yaml b/kustomize/install/manager/manager.yaml index aac17bad..8fef856c 100644 --- a/kustomize/install/manager/manager.yaml +++ b/kustomize/install/manager/manager.yaml @@ -49,6 +49,8 @@ spec: - name: RELATED_IMAGE_STANDALONE_PGADMIN value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-8.6-0" securityContext: + seccompProfile: + type: RuntimeDefault allowPrivilegeEscalation: false capabilities: { drop: [ALL] } readOnlyRootFilesystem: true From ae452671c32e87d8baf0d6dfdb7fc079c546693f Mon Sep 17 00:00:00 2001 From: Drew Sessler Date: Wed, 5 Jun 2024 11:11:54 -0700 Subject: [PATCH 09/11] Bump versions for 5.6 release. Add crunchybridgecluster CRD. --- helm/install/Chart.yaml | 4 +- ...crunchydata.com_crunchybridgeclusters.yaml | 295 ++++++++++++++++++ ...res-operator.crunchydata.com_pgadmins.yaml | 100 +++++- ...s-operator.crunchydata.com_pgupgrades.yaml | 4 +- ...ator.crunchydata.com_postgresclusters.yaml | 112 ++++++- helm/install/values.yaml | 24 +- helm/postgres/Chart.yaml | 4 +- helm/postgres/values.yaml | 8 +- kustomize/azure/postgres.yaml | 4 +- kustomize/certmanager/postgres/postgres.yaml | 4 +- kustomize/gcs/postgres.yaml | 4 +- kustomize/high-availability/ha-postgres.yaml | 6 +- ...crunchydata.com_crunchybridgeclusters.yaml | 295 ++++++++++++++++++ ...res-operator.crunchydata.com_pgadmins.yaml | 100 +++++- ...s-operator.crunchydata.com_pgupgrades.yaml | 4 +- ...ator.crunchydata.com_postgresclusters.yaml | 112 ++++++- kustomize/install/default/kustomization.yaml | 4 +- kustomize/install/manager/manager.yaml | 22 +- .../singlenamespace/kustomization.yaml | 4 +- kustomize/keycloak/postgres.yaml | 4 +- kustomize/multi-backup-repo/postgres.yaml | 4 +- kustomize/postgres/postgres.yaml | 4 +- kustomize/s3/postgres.yaml | 4 +- 23 files changed, 1036 insertions(+), 90 deletions(-) create mode 100644 helm/install/crds/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml create mode 100644 kustomize/install/crd/bases/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml diff --git a/helm/install/Chart.yaml b/helm/install/Chart.yaml index 64fc0f2b..d06df99d 100644 --- a/helm/install/Chart.yaml +++ b/helm/install/Chart.yaml @@ -4,5 +4,5 @@ description: Installer for PGO, the open source Postgres Operator from Crunchy D type: application # The version below should match the version on the PostgresCluster CRD -version: 5.5.2 -appVersion: 5.5.2 +version: 5.6.0 +appVersion: 5.6.0 diff --git a/helm/install/crds/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml b/helm/install/crds/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml new file mode 100644 index 00000000..14f1a901 --- /dev/null +++ b/helm/install/crds/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml @@ -0,0 +1,295 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null + labels: + app.kubernetes.io/name: pgo + app.kubernetes.io/version: 5.6.0 + name: crunchybridgeclusters.postgres-operator.crunchydata.com +spec: + group: postgres-operator.crunchydata.com + names: + kind: CrunchyBridgeCluster + listKind: CrunchyBridgeClusterList + plural: crunchybridgeclusters + singular: crunchybridgecluster + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: CrunchyBridgeCluster is the Schema for the crunchybridgeclusters + API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: CrunchyBridgeClusterSpec defines the desired state of CrunchyBridgeCluster + to be managed by Crunchy Data Bridge + properties: + clusterName: + description: The name of the cluster --- According to Bridge API/GUI + errors, "Field name should be between 5 and 50 characters in length, + containing only unicode characters, unicode numbers, hyphens, spaces, + or underscores, and starting with a character", and ending with + a character or number. + maxLength: 50 + minLength: 5 + pattern: ^[A-Za-z][A-Za-z0-9\-_ ]*[A-Za-z0-9]$ + type: string + isHa: + description: Whether the cluster is high availability, meaning that + it has a secondary it can fail over to quickly in case the primary + becomes unavailable. + type: boolean + isProtected: + description: Whether the cluster is protected. Protected clusters + can't be destroyed until their protected flag is removed + type: boolean + majorVersion: + description: The ID of the cluster's major Postgres version. Currently + Bridge offers 13-16 + maximum: 16 + minimum: 13 + type: integer + metadata: + description: Metadata contains metadata for custom resources + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + plan: + description: The ID of the cluster's plan. Determines instance, CPU, + and memory. + type: string + provider: + description: The cloud provider where the cluster is located. Currently + Bridge offers aws, azure, and gcp only + enum: + - aws + - azure + - gcp + type: string + x-kubernetes-validations: + - message: immutable + rule: self == oldSelf + region: + description: The provider region where the cluster is located. + type: string + x-kubernetes-validations: + - message: immutable + rule: self == oldSelf + roles: + description: Roles for which to create Secrets that contain their + credentials which are retrieved from the Bridge API. An empty list + creates no role secrets. Removing a role from this list does NOT + drop the role nor revoke their access, but it will delete that role's + secret from the kube cluster. + items: + properties: + name: + description: 'Name of the role within Crunchy Bridge. More info: + https://docs.crunchybridge.com/concepts/users' + type: string + secretName: + description: The name of the Secret that will hold the role + credentials. + maxLength: 253 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + - secretName + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + secret: + description: The name of the secret containing the API key and team + id + type: string + storage: + anyOf: + - type: integer + - type: string + description: The amount of storage available to the cluster in gigabytes. + The amount must be an integer, followed by Gi (gibibytes) or G (gigabytes) + to match Kubernetes conventions. If the amount is given in Gi, we + round to the nearest G value. The minimum value allowed by Bridge + is 10 GB. The maximum value allowed by Bridge is 65535 GB. + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - clusterName + - isHa + - majorVersion + - plan + - provider + - region + - storage + type: object + status: + description: CrunchyBridgeClusterStatus defines the observed state of + CrunchyBridgeCluster + properties: + conditions: + description: conditions represent the observations of postgres cluster's + current state. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's + current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + host: + description: The Hostname of the postgres cluster in Bridge, provided + by Bridge API and null until then. + type: string + id: + description: The ID of the postgres cluster in Bridge, provided by + Bridge API and null until then. + type: string + isHa: + description: Whether the cluster is high availability, meaning that + it has a secondary it can fail over to quickly in case the primary + becomes unavailable. + type: boolean + isProtected: + description: Whether the cluster is protected. Protected clusters + can't be destroyed until their protected flag is removed + type: boolean + majorVersion: + description: The cluster's major Postgres version. + type: integer + name: + description: The name of the cluster in Bridge. + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + on which the status was based. + format: int64 + minimum: 0 + type: integer + ongoingUpgrade: + description: The cluster upgrade as represented by Bridge + items: + properties: + flavor: + type: string + starting_from: + type: string + state: + type: string + required: + - flavor + - starting_from + - state + type: object + type: array + plan: + description: The ID of the cluster's plan. Determines instance, CPU, + and memory. + type: string + responses: + description: Most recent, raw responses from Bridge API + type: object + x-kubernetes-preserve-unknown-fields: true + state: + description: State of cluster in Bridge. + type: string + storage: + anyOf: + - type: integer + - type: string + description: The amount of storage available to the cluster. + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml b/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml index 123bcfbd..cf432f93 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml @@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 + controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.2 + app.kubernetes.io/version: 5.6.0 name: pgadmins.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com @@ -20,7 +20,7 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: PGAdmin is the Schema for the pgadmins API + description: PGAdmin is the Schema for the PGAdmin API properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -860,6 +860,24 @@ spec: to any of these values will be loaded without validation. Be careful, as you may put pgAdmin into an unusable state. properties: + configDatabaseURI: + description: 'A Secret containing the value for the CONFIG_DATABASE_URI + setting. More info: https://www.pgadmin.org/docs/pgadmin4/latest/external_database.html' + properties: + key: + description: The key of the secret to select from. Must be + a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + optional: + description: Specify whether the Secret or its key must be + defined + type: boolean + required: + - key + type: object files: description: Files allows the user to mount projected volumes into the pgAdmin container so that files can be referenced by @@ -1082,6 +1100,10 @@ spec: type: object type: object type: array + gunicorn: + description: 'Settings for the gunicorn server. More info: https://docs.gunicorn.org/en/latest/settings.html' + type: object + x-kubernetes-preserve-unknown-fields: true ldapBindPassword: description: 'A Secret containing the value for the LDAP_BIND_PASSWORD setting. More info: https://www.pgadmin.org/docs/pgadmin4/latest/ldap.html' @@ -1347,6 +1369,10 @@ spec: unique in the pgAdmin's ServerGroups since it becomes the ServerGroup name in pgAdmin. type: string + postgresClusterName: + description: PostgresClusterName selects one cluster to add + to pgAdmin by name. + type: string postgresClusterSelector: description: PostgresClusterSelector selects clusters to dynamically add to pgAdmin by matching labels. An empty selector like @@ -1395,9 +1421,18 @@ spec: type: object required: - name - - postgresClusterSelector type: object + x-kubernetes-validations: + - message: exactly one of "postgresClusterName" or "postgresClusterSelector" + is required + rule: '[has(self.postgresClusterName),has(self.postgresClusterSelector)].exists_one(x,x)' type: array + serviceName: + description: ServiceName will be used as the name of a ClusterIP service + pointing to the pgAdmin pod and port. If the service already exists, + PGO will update the service. For more information about services + reference the Kubernetes and CrunchyData documentation. https://kubernetes.io/docs/concepts/services-networking/service/ + type: string tolerations: description: 'Tolerations of the PGAdmin pod. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration' items: @@ -1438,6 +1473,50 @@ spec: type: string type: object type: array + users: + description: pgAdmin users that are managed via the PGAdmin spec. + Users can still be added via the pgAdmin GUI, but those users will + not show up here. + items: + properties: + passwordRef: + description: A reference to the secret that holds the user's + password. + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + role: + description: Role determines whether the user has admin privileges + or not. Defaults to User. Valid options are Administrator + and User. + enum: + - Administrator + - User + type: string + username: + description: The username for User in pgAdmin. Must be unique + in the pgAdmin's users list. + type: string + required: + - passwordRef + - username + type: object + type: array + x-kubernetes-list-map-keys: + - username + x-kubernetes-list-type: map required: - dataVolumeClaimSpec type: object @@ -1445,9 +1524,8 @@ spec: description: PGAdminStatus defines the observed state of PGAdmin properties: conditions: - description: 'conditions represent the observations of pgadmin''s - current state. Known .status.conditions.type are: "PersistentVolumeResizing", - "Progressing", "ProxyAvailable"' + description: 'conditions represent the observations of pgAdmin''s + current state. Known .status.conditions.type is: "PersistentVolumeResizing"' items: description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct @@ -1518,6 +1596,14 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + imageSHA: + description: ImageSHA represents the image SHA for the container running + pgAdmin. + type: string + majorVersion: + description: MajorVersion represents the major version of the running + pgAdmin. + type: integer observedGeneration: description: observedGeneration represents the .metadata.generation on which the status was based. diff --git a/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml b/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml index e56982df..2893e2f0 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml @@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 + controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.2 + app.kubernetes.io/version: 5.6.0 name: pgupgrades.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml b/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml index 384d237b..2fe5eebc 100644 --- a/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml +++ b/helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml @@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 + controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.2 + app.kubernetes.io/version: 5.6.0 name: postgresclusters.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com @@ -2695,7 +2695,7 @@ spec: - bucket type: object name: - description: The name of the the repository + description: The name of the repository pattern: ^repo[1-4] type: string s3: @@ -4438,10 +4438,10 @@ spec: properties: pgbackrest: description: 'Defines a pgBackRest cloud-based data source that - can be used to pre-populate the the PostgreSQL data directory - for a new PostgreSQL cluster using a pgBackRest restore. The - PGBackRest field is incompatible with the PostgresCluster field: - only one data source can be used for pre-populating a new PostgreSQL + can be used to pre-populate the PostgreSQL data directory for + a new PostgreSQL cluster using a pgBackRest restore. The PGBackRest + field is incompatible with the PostgresCluster field: only one + data source can be used for pre-populating a new PostgreSQL cluster' properties: affinity: @@ -5615,7 +5615,7 @@ spec: - bucket type: object name: - description: The name of the the repository + description: The name of the repository pattern: ^repo[1-4] type: string s3: @@ -10396,7 +10396,7 @@ spec: description: 'Patroni dynamic configuration settings. Changes to this value will be automatically reloaded without validation. Changes to certain PostgreSQL parameters cause PostgreSQL to - restart. More info: https://patroni.readthedocs.io/en/latest/SETTINGS.html' + restart. More info: https://patroni.readthedocs.io/en/latest/dynamic_configuration.html' type: object x-kubernetes-preserve-unknown-fields: true leaderLeaseDurationSeconds: @@ -13060,6 +13060,18 @@ spec: service: description: Specification of the service that exposes PgBouncer. properties: + externalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + internalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string metadata: description: Metadata contains metadata for custom resources properties: @@ -13319,10 +13331,66 @@ spec: required: - pgBouncer type: object + replicaService: + description: Specification of the service that exposes PostgreSQL + replica instances + properties: + externalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + internalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + metadata: + description: Metadata contains metadata for custom resources + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + nodePort: + description: The port on which this service is exposed when type + is NodePort or LoadBalancer. Value must be in-range and not + in use or the operation will fail. If unspecified, a port will + be allocated if this Service requires one. - https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + format: int32 + type: integer + type: + default: ClusterIP + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types' + enum: + - ClusterIP + - NodePort + - LoadBalancer + type: string + type: object service: description: Specification of the service that exposes the PostgreSQL primary instance. properties: + externalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + internalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string metadata: description: Metadata contains metadata for custom resources properties: @@ -14793,6 +14861,18 @@ spec: service: description: Specification of the service that exposes pgAdmin. properties: + externalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + internalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string metadata: description: Metadata contains metadata for custom resources properties: @@ -15048,8 +15128,14 @@ spec: options: description: 'ALTER ROLE options except for PASSWORD. This field is ignored for the "postgres" user. More info: https://www.postgresql.org/docs/current/role-attributes.html' + maxLength: 200 pattern: ^[^;]*$ type: string + x-kubernetes-validations: + - message: cannot assign password + rule: '!self.matches("(?i:PASSWORD)")' + - message: cannot contain comments + rule: '!self.matches("(?:--|/[*]|[*]/)")' password: description: Properties of the password generated for this user. properties: @@ -15070,6 +15156,7 @@ spec: required: - name type: object + maxItems: 64 type: array x-kubernetes-list-map-keys: - name @@ -15157,6 +15244,11 @@ spec: description: Current state of PostgreSQL instances. items: properties: + desiredPGDataVolume: + additionalProperties: + type: string + description: Desired Size of the pgData volume + type: object name: type: string readyReplicas: @@ -15291,7 +15383,7 @@ spec: type: boolean repoOptionsHash: description: A hash of the required fields in the spec for - defining an Azure, GCS or S3 repository, Utilizd to detect + defining an Azure, GCS or S3 repository, Utilized to detect changes to these fields and then execute pgBackRest stanza-create commands accordingly. type: string diff --git a/helm/install/values.yaml b/helm/install/values.yaml index 905b3e8e..27deed09 100644 --- a/helm/install/values.yaml +++ b/helm/install/values.yaml @@ -2,32 +2,32 @@ # controllerImages are used to run the operator's controllers. # The cluster image defined below runs the PostgresCluster and PGUpgrade controllers. controllerImages: - cluster: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi8-5.5.2-0 + cluster: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi8-5.6.0-0 # relatedImages are used when an image is omitted from PostgresCluster, PGAdmin or PGUpgrade specs. relatedImages: postgres_16: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgres_16_gis_3.4: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.4-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.4-1 postgres_16_gis_3.3: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.3-1 postgres_15: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.7-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.7-1 postgres_15_gis_3.3: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.7-3.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.7-3.3-1 pgadmin: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-25 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-26 pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 pgbouncer: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-1 pgexporter: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-6 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-7 pgupgrade: - image: registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.2-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.6.0-0 standalone_pgadmin: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-8.6-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-8.6-1 # singleNamespace controls where PGO watches for PostgresClusters. When false, # PGO watches for and responds to PostgresClusters in all namespaces. When true, diff --git a/helm/postgres/Chart.yaml b/helm/postgres/Chart.yaml index 8fd2e3e9..420d926f 100644 --- a/helm/postgres/Chart.yaml +++ b/helm/postgres/Chart.yaml @@ -3,5 +3,5 @@ name: postgrescluster description: A Helm chart for Kubernetes type: application # The version below should match the version on the PostgresCluster CRD -version: 5.5.2 -appVersion: 5.5.2 +version: 5.6.0 +appVersion: 5.6.0 diff --git a/helm/postgres/values.yaml b/helm/postgres/values.yaml index 7321f3ac..38dffbd6 100644 --- a/helm/postgres/values.yaml +++ b/helm/postgres/values.yaml @@ -47,19 +47,19 @@ postgresVersion: 16 # below value. "postgresVersion" needs to match the version of Postgres that is # used here. If using the GIS-enabled Postgres image, you need to ensure # "postGISVersion" matches the version of PostGIS used. -# imagePostgres: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 +# imagePostgres: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 # imagePgBackRest is the pgBackRest backup utility image. This defaults to the # below value. -# imagePgBackRest: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 +# imagePgBackRest: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 # imagePgBouncer is the image for the PgBouncer connection pooler. This defaults # to the below value. -# imagePgBouncer: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-0 +# imagePgBouncer: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-1 # imageExporter is the image name for the exporter used as a part of monitoring. # This defaults to the value below. -# imageExporter: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-6 +# imageExporter: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-7 ########################### # Basic Postgres Settings # diff --git a/kustomize/azure/postgres.yaml b/kustomize/azure/postgres.yaml index 7e08ab0e..4fdd9868 100644 --- a/kustomize/azure/postgres.yaml +++ b/kustomize/azure/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-azure spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 configuration: - secret: name: pgo-azure-creds diff --git a/kustomize/certmanager/postgres/postgres.yaml b/kustomize/certmanager/postgres/postgres.yaml index a4cdfe02..2f335e9c 100644 --- a/kustomize/certmanager/postgres/postgres.yaml +++ b/kustomize/certmanager/postgres/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgresVersion: 16 customReplicationTLSSecret: name: hippo-repl-tls @@ -19,7 +19,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 repos: - name: repo1 volume: diff --git a/kustomize/gcs/postgres.yaml b/kustomize/gcs/postgres.yaml index d316a8d4..df76c0e3 100644 --- a/kustomize/gcs/postgres.yaml +++ b/kustomize/gcs/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-gcs spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 configuration: - secret: name: pgo-gcs-creds diff --git a/kustomize/high-availability/ha-postgres.yaml b/kustomize/high-availability/ha-postgres.yaml index 654a6540..857bd9b7 100644 --- a/kustomize/high-availability/ha-postgres.yaml +++ b/kustomize/high-availability/ha-postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-ha spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgresVersion: 16 instances: - name: pgha1 @@ -26,7 +26,7 @@ spec: postgres-operator.crunchydata.com/instance-set: pgha1 backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 repos: - name: repo1 volume: @@ -38,7 +38,7 @@ spec: storage: 1Gi proxy: pgBouncer: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-1 replicas: 2 affinity: podAntiAffinity: diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml new file mode 100644 index 00000000..14f1a901 --- /dev/null +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml @@ -0,0 +1,295 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null + labels: + app.kubernetes.io/name: pgo + app.kubernetes.io/version: 5.6.0 + name: crunchybridgeclusters.postgres-operator.crunchydata.com +spec: + group: postgres-operator.crunchydata.com + names: + kind: CrunchyBridgeCluster + listKind: CrunchyBridgeClusterList + plural: crunchybridgeclusters + singular: crunchybridgecluster + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: CrunchyBridgeCluster is the Schema for the crunchybridgeclusters + API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: CrunchyBridgeClusterSpec defines the desired state of CrunchyBridgeCluster + to be managed by Crunchy Data Bridge + properties: + clusterName: + description: The name of the cluster --- According to Bridge API/GUI + errors, "Field name should be between 5 and 50 characters in length, + containing only unicode characters, unicode numbers, hyphens, spaces, + or underscores, and starting with a character", and ending with + a character or number. + maxLength: 50 + minLength: 5 + pattern: ^[A-Za-z][A-Za-z0-9\-_ ]*[A-Za-z0-9]$ + type: string + isHa: + description: Whether the cluster is high availability, meaning that + it has a secondary it can fail over to quickly in case the primary + becomes unavailable. + type: boolean + isProtected: + description: Whether the cluster is protected. Protected clusters + can't be destroyed until their protected flag is removed + type: boolean + majorVersion: + description: The ID of the cluster's major Postgres version. Currently + Bridge offers 13-16 + maximum: 16 + minimum: 13 + type: integer + metadata: + description: Metadata contains metadata for custom resources + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + plan: + description: The ID of the cluster's plan. Determines instance, CPU, + and memory. + type: string + provider: + description: The cloud provider where the cluster is located. Currently + Bridge offers aws, azure, and gcp only + enum: + - aws + - azure + - gcp + type: string + x-kubernetes-validations: + - message: immutable + rule: self == oldSelf + region: + description: The provider region where the cluster is located. + type: string + x-kubernetes-validations: + - message: immutable + rule: self == oldSelf + roles: + description: Roles for which to create Secrets that contain their + credentials which are retrieved from the Bridge API. An empty list + creates no role secrets. Removing a role from this list does NOT + drop the role nor revoke their access, but it will delete that role's + secret from the kube cluster. + items: + properties: + name: + description: 'Name of the role within Crunchy Bridge. More info: + https://docs.crunchybridge.com/concepts/users' + type: string + secretName: + description: The name of the Secret that will hold the role + credentials. + maxLength: 253 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + - secretName + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + secret: + description: The name of the secret containing the API key and team + id + type: string + storage: + anyOf: + - type: integer + - type: string + description: The amount of storage available to the cluster in gigabytes. + The amount must be an integer, followed by Gi (gibibytes) or G (gigabytes) + to match Kubernetes conventions. If the amount is given in Gi, we + round to the nearest G value. The minimum value allowed by Bridge + is 10 GB. The maximum value allowed by Bridge is 65535 GB. + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - clusterName + - isHa + - majorVersion + - plan + - provider + - region + - storage + type: object + status: + description: CrunchyBridgeClusterStatus defines the observed state of + CrunchyBridgeCluster + properties: + conditions: + description: conditions represent the observations of postgres cluster's + current state. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's + current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + host: + description: The Hostname of the postgres cluster in Bridge, provided + by Bridge API and null until then. + type: string + id: + description: The ID of the postgres cluster in Bridge, provided by + Bridge API and null until then. + type: string + isHa: + description: Whether the cluster is high availability, meaning that + it has a secondary it can fail over to quickly in case the primary + becomes unavailable. + type: boolean + isProtected: + description: Whether the cluster is protected. Protected clusters + can't be destroyed until their protected flag is removed + type: boolean + majorVersion: + description: The cluster's major Postgres version. + type: integer + name: + description: The name of the cluster in Bridge. + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + on which the status was based. + format: int64 + minimum: 0 + type: integer + ongoingUpgrade: + description: The cluster upgrade as represented by Bridge + items: + properties: + flavor: + type: string + starting_from: + type: string + state: + type: string + required: + - flavor + - starting_from + - state + type: object + type: array + plan: + description: The ID of the cluster's plan. Determines instance, CPU, + and memory. + type: string + responses: + description: Most recent, raw responses from Bridge API + type: object + x-kubernetes-preserve-unknown-fields: true + state: + description: State of cluster in Bridge. + type: string + storage: + anyOf: + - type: integer + - type: string + description: The amount of storage available to the cluster. + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml index 123bcfbd..cf432f93 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml @@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 + controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.2 + app.kubernetes.io/version: 5.6.0 name: pgadmins.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com @@ -20,7 +20,7 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: PGAdmin is the Schema for the pgadmins API + description: PGAdmin is the Schema for the PGAdmin API properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -860,6 +860,24 @@ spec: to any of these values will be loaded without validation. Be careful, as you may put pgAdmin into an unusable state. properties: + configDatabaseURI: + description: 'A Secret containing the value for the CONFIG_DATABASE_URI + setting. More info: https://www.pgadmin.org/docs/pgadmin4/latest/external_database.html' + properties: + key: + description: The key of the secret to select from. Must be + a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + optional: + description: Specify whether the Secret or its key must be + defined + type: boolean + required: + - key + type: object files: description: Files allows the user to mount projected volumes into the pgAdmin container so that files can be referenced by @@ -1082,6 +1100,10 @@ spec: type: object type: object type: array + gunicorn: + description: 'Settings for the gunicorn server. More info: https://docs.gunicorn.org/en/latest/settings.html' + type: object + x-kubernetes-preserve-unknown-fields: true ldapBindPassword: description: 'A Secret containing the value for the LDAP_BIND_PASSWORD setting. More info: https://www.pgadmin.org/docs/pgadmin4/latest/ldap.html' @@ -1347,6 +1369,10 @@ spec: unique in the pgAdmin's ServerGroups since it becomes the ServerGroup name in pgAdmin. type: string + postgresClusterName: + description: PostgresClusterName selects one cluster to add + to pgAdmin by name. + type: string postgresClusterSelector: description: PostgresClusterSelector selects clusters to dynamically add to pgAdmin by matching labels. An empty selector like @@ -1395,9 +1421,18 @@ spec: type: object required: - name - - postgresClusterSelector type: object + x-kubernetes-validations: + - message: exactly one of "postgresClusterName" or "postgresClusterSelector" + is required + rule: '[has(self.postgresClusterName),has(self.postgresClusterSelector)].exists_one(x,x)' type: array + serviceName: + description: ServiceName will be used as the name of a ClusterIP service + pointing to the pgAdmin pod and port. If the service already exists, + PGO will update the service. For more information about services + reference the Kubernetes and CrunchyData documentation. https://kubernetes.io/docs/concepts/services-networking/service/ + type: string tolerations: description: 'Tolerations of the PGAdmin pod. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration' items: @@ -1438,6 +1473,50 @@ spec: type: string type: object type: array + users: + description: pgAdmin users that are managed via the PGAdmin spec. + Users can still be added via the pgAdmin GUI, but those users will + not show up here. + items: + properties: + passwordRef: + description: A reference to the secret that holds the user's + password. + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + role: + description: Role determines whether the user has admin privileges + or not. Defaults to User. Valid options are Administrator + and User. + enum: + - Administrator + - User + type: string + username: + description: The username for User in pgAdmin. Must be unique + in the pgAdmin's users list. + type: string + required: + - passwordRef + - username + type: object + type: array + x-kubernetes-list-map-keys: + - username + x-kubernetes-list-type: map required: - dataVolumeClaimSpec type: object @@ -1445,9 +1524,8 @@ spec: description: PGAdminStatus defines the observed state of PGAdmin properties: conditions: - description: 'conditions represent the observations of pgadmin''s - current state. Known .status.conditions.type are: "PersistentVolumeResizing", - "Progressing", "ProxyAvailable"' + description: 'conditions represent the observations of pgAdmin''s + current state. Known .status.conditions.type is: "PersistentVolumeResizing"' items: description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct @@ -1518,6 +1596,14 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + imageSHA: + description: ImageSHA represents the image SHA for the container running + pgAdmin. + type: string + majorVersion: + description: MajorVersion represents the major version of the running + pgAdmin. + type: integer observedGeneration: description: observedGeneration represents the .metadata.generation on which the status was based. diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml index e56982df..2893e2f0 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml @@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 + controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.2 + app.kubernetes.io/version: 5.6.0 name: pgupgrades.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com diff --git a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml index 384d237b..2fe5eebc 100644 --- a/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml +++ b/kustomize/install/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml @@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 + controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null labels: app.kubernetes.io/name: pgo - app.kubernetes.io/version: 5.5.2 + app.kubernetes.io/version: 5.6.0 name: postgresclusters.postgres-operator.crunchydata.com spec: group: postgres-operator.crunchydata.com @@ -2695,7 +2695,7 @@ spec: - bucket type: object name: - description: The name of the the repository + description: The name of the repository pattern: ^repo[1-4] type: string s3: @@ -4438,10 +4438,10 @@ spec: properties: pgbackrest: description: 'Defines a pgBackRest cloud-based data source that - can be used to pre-populate the the PostgreSQL data directory - for a new PostgreSQL cluster using a pgBackRest restore. The - PGBackRest field is incompatible with the PostgresCluster field: - only one data source can be used for pre-populating a new PostgreSQL + can be used to pre-populate the PostgreSQL data directory for + a new PostgreSQL cluster using a pgBackRest restore. The PGBackRest + field is incompatible with the PostgresCluster field: only one + data source can be used for pre-populating a new PostgreSQL cluster' properties: affinity: @@ -5615,7 +5615,7 @@ spec: - bucket type: object name: - description: The name of the the repository + description: The name of the repository pattern: ^repo[1-4] type: string s3: @@ -10396,7 +10396,7 @@ spec: description: 'Patroni dynamic configuration settings. Changes to this value will be automatically reloaded without validation. Changes to certain PostgreSQL parameters cause PostgreSQL to - restart. More info: https://patroni.readthedocs.io/en/latest/SETTINGS.html' + restart. More info: https://patroni.readthedocs.io/en/latest/dynamic_configuration.html' type: object x-kubernetes-preserve-unknown-fields: true leaderLeaseDurationSeconds: @@ -13060,6 +13060,18 @@ spec: service: description: Specification of the service that exposes PgBouncer. properties: + externalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + internalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string metadata: description: Metadata contains metadata for custom resources properties: @@ -13319,10 +13331,66 @@ spec: required: - pgBouncer type: object + replicaService: + description: Specification of the service that exposes PostgreSQL + replica instances + properties: + externalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + internalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + metadata: + description: Metadata contains metadata for custom resources + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + nodePort: + description: The port on which this service is exposed when type + is NodePort or LoadBalancer. Value must be in-range and not + in use or the operation will fail. If unspecified, a port will + be allocated if this Service requires one. - https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + format: int32 + type: integer + type: + default: ClusterIP + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types' + enum: + - ClusterIP + - NodePort + - LoadBalancer + type: string + type: object service: description: Specification of the service that exposes the PostgreSQL primary instance. properties: + externalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + internalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string metadata: description: Metadata contains metadata for custom resources properties: @@ -14793,6 +14861,18 @@ spec: service: description: Specification of the service that exposes pgAdmin. properties: + externalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string + internalTrafficPolicy: + description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies' + enum: + - Cluster + - Local + type: string metadata: description: Metadata contains metadata for custom resources properties: @@ -15048,8 +15128,14 @@ spec: options: description: 'ALTER ROLE options except for PASSWORD. This field is ignored for the "postgres" user. More info: https://www.postgresql.org/docs/current/role-attributes.html' + maxLength: 200 pattern: ^[^;]*$ type: string + x-kubernetes-validations: + - message: cannot assign password + rule: '!self.matches("(?i:PASSWORD)")' + - message: cannot contain comments + rule: '!self.matches("(?:--|/[*]|[*]/)")' password: description: Properties of the password generated for this user. properties: @@ -15070,6 +15156,7 @@ spec: required: - name type: object + maxItems: 64 type: array x-kubernetes-list-map-keys: - name @@ -15157,6 +15244,11 @@ spec: description: Current state of PostgreSQL instances. items: properties: + desiredPGDataVolume: + additionalProperties: + type: string + description: Desired Size of the pgData volume + type: object name: type: string readyReplicas: @@ -15291,7 +15383,7 @@ spec: type: boolean repoOptionsHash: description: A hash of the required fields in the spec for - defining an Azure, GCS or S3 repository, Utilizd to detect + defining an Azure, GCS or S3 repository, Utilized to detect changes to these fields and then execute pgBackRest stanza-create commands accordingly. type: string diff --git a/kustomize/install/default/kustomization.yaml b/kustomize/install/default/kustomization.yaml index 007decd1..45e7a87d 100644 --- a/kustomize/install/default/kustomization.yaml +++ b/kustomize/install/default/kustomization.yaml @@ -8,7 +8,7 @@ labels: pairs: app.kubernetes.io/name: pgo # The version below should match the version on the PostgresCluster CRD - app.kubernetes.io/version: 5.5.2 + app.kubernetes.io/version: 5.6.0 postgres-operator.crunchydata.com/control-plane: postgres-operator resources: @@ -19,4 +19,4 @@ resources: images: - name: postgres-operator newName: registry.developers.crunchydata.com/crunchydata/postgres-operator - newTag: ubi8-5.5.2-0 + newTag: ubi8-5.6.0-0 diff --git a/kustomize/install/manager/manager.yaml b/kustomize/install/manager/manager.yaml index 8fef856c..09abbb0a 100644 --- a/kustomize/install/manager/manager.yaml +++ b/kustomize/install/manager/manager.yaml @@ -27,27 +27,27 @@ spec: - name: CRUNCHY_DEBUG value: "true" - name: RELATED_IMAGE_POSTGRES_15 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.7-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.7-1" - name: RELATED_IMAGE_POSTGRES_15_GIS_3.3 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.7-3.3-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-15.7-3.3-1" - name: RELATED_IMAGE_POSTGRES_16 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1" - name: RELATED_IMAGE_POSTGRES_16_GIS_3.3 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.3-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.3-1" - name: RELATED_IMAGE_POSTGRES_16_GIS_3.4 - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.4-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.4-1" - name: RELATED_IMAGE_PGADMIN - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-25" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-4.30-26" - name: RELATED_IMAGE_PGBACKREST - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1" - name: RELATED_IMAGE_PGBOUNCER - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-1" - name: RELATED_IMAGE_PGEXPORTER - value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-6" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-7" - name: RELATED_IMAGE_PGUPGRADE - value: "registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.5.2-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.6.0-0" - name: RELATED_IMAGE_STANDALONE_PGADMIN - value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-8.6-0" + value: "registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-8.6-1" securityContext: seccompProfile: type: RuntimeDefault diff --git a/kustomize/install/singlenamespace/kustomization.yaml b/kustomize/install/singlenamespace/kustomization.yaml index 1ab8487d..99b1f538 100644 --- a/kustomize/install/singlenamespace/kustomization.yaml +++ b/kustomize/install/singlenamespace/kustomization.yaml @@ -8,7 +8,7 @@ labels: pairs: app.kubernetes.io/name: pgo # The version below should match the version on the PostgresCluster CRD - app.kubernetes.io/version: 5.5.2 + app.kubernetes.io/version: 5.6.0 postgres-operator.crunchydata.com/control-plane: postgres-operator resources: @@ -19,7 +19,7 @@ resources: images: - name: postgres-operator newName: registry.developers.crunchydata.com/crunchydata/postgres-operator - newTag: ubi8-5.5.2-0 + newTag: ubi8-5.6.0-0 patches: - path: manager-target.yaml diff --git a/kustomize/keycloak/postgres.yaml b/kustomize/keycloak/postgres.yaml index fda00f78..41a443c7 100644 --- a/kustomize/keycloak/postgres.yaml +++ b/kustomize/keycloak/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: keycloakdb spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgresVersion: 16 instances: - replicas: 2 @@ -25,7 +25,7 @@ spec: postgres-operator.crunchydata.com/instance-set: "00" backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 repos: - name: repo1 volume: diff --git a/kustomize/multi-backup-repo/postgres.yaml b/kustomize/multi-backup-repo/postgres.yaml index 79639c0a..c1ddfa1e 100644 --- a/kustomize/multi-backup-repo/postgres.yaml +++ b/kustomize/multi-backup-repo/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-multi-repo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 configuration: - secret: name: pgo-multi-repo-creds diff --git a/kustomize/postgres/postgres.yaml b/kustomize/postgres/postgres.yaml index bb67e44e..434b0e11 100644 --- a/kustomize/postgres/postgres.yaml +++ b/kustomize/postgres/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgresVersion: 16 instances: - name: instance1 @@ -15,7 +15,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 repos: - name: repo1 volume: diff --git a/kustomize/s3/postgres.yaml b/kustomize/s3/postgres.yaml index c286e9a5..63b4d5f9 100644 --- a/kustomize/s3/postgres.yaml +++ b/kustomize/s3/postgres.yaml @@ -3,7 +3,7 @@ kind: PostgresCluster metadata: name: hippo-s3 spec: - image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1 postgresVersion: 16 instances: - dataVolumeClaimSpec: @@ -14,7 +14,7 @@ spec: storage: 1Gi backups: pgbackrest: - image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-0 + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1 configuration: - secret: name: pgo-s3-creds From b7213e593eb059aa9959ae701686fa1f2a960105 Mon Sep 17 00:00:00 2001 From: Val Date: Mon, 10 Jun 2024 13:16:55 -0400 Subject: [PATCH 10/11] Update kustomization.yaml adding crunchy bridge resource --- kustomize/install/crd/kustomization.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/kustomize/install/crd/kustomization.yaml b/kustomize/install/crd/kustomization.yaml index 2509f42f..e2625322 100644 --- a/kustomize/install/crd/kustomization.yaml +++ b/kustomize/install/crd/kustomization.yaml @@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: +- bases/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml - bases/postgres-operator.crunchydata.com_postgresclusters.yaml - bases/postgres-operator.crunchydata.com_pgupgrades.yaml - bases/postgres-operator.crunchydata.com_pgadmins.yaml From 9fec4999214ad43d31bdc11646e614da2dc51617 Mon Sep 17 00:00:00 2001 From: Drew Sessler Date: Mon, 10 Jun 2024 11:36:23 -0700 Subject: [PATCH 11/11] Add RBAC for crunchybridgecluster. --- helm/install/templates/role.yaml | 18 ++++++++++++++++++ kustomize/install/rbac/cluster/role.yaml | 18 ++++++++++++++++++ kustomize/install/rbac/namespace/role.yaml | 18 ++++++++++++++++++ 3 files changed, 54 insertions(+) diff --git a/helm/install/templates/role.yaml b/helm/install/templates/role.yaml index c0eafd91..3b9bf0db 100644 --- a/helm/install/templates/role.yaml +++ b/helm/install/templates/role.yaml @@ -102,6 +102,24 @@ rules: - list - patch - watch +- apiGroups: + - postgres-operator.crunchydata.com + resources: + - crunchybridgeclusters + verbs: + - get + - list + - patch + - update + - watch +- apiGroups: + - postgres-operator.crunchydata.com + resources: + - crunchybridgeclusters/finalizers + - crunchybridgeclusters/status + verbs: + - patch + - update - apiGroups: - postgres-operator.crunchydata.com resources: diff --git a/kustomize/install/rbac/cluster/role.yaml b/kustomize/install/rbac/cluster/role.yaml index ac454385..b3c7218e 100644 --- a/kustomize/install/rbac/cluster/role.yaml +++ b/kustomize/install/rbac/cluster/role.yaml @@ -99,6 +99,24 @@ rules: - list - patch - watch +- apiGroups: + - postgres-operator.crunchydata.com + resources: + - crunchybridgeclusters + verbs: + - get + - list + - patch + - update + - watch +- apiGroups: + - postgres-operator.crunchydata.com + resources: + - crunchybridgeclusters/finalizers + - crunchybridgeclusters/status + verbs: + - patch + - update - apiGroups: - postgres-operator.crunchydata.com resources: diff --git a/kustomize/install/rbac/namespace/role.yaml b/kustomize/install/rbac/namespace/role.yaml index 90bc3b9d..06771d13 100644 --- a/kustomize/install/rbac/namespace/role.yaml +++ b/kustomize/install/rbac/namespace/role.yaml @@ -99,6 +99,24 @@ rules: - list - patch - watch +- apiGroups: + - postgres-operator.crunchydata.com + resources: + - crunchybridgeclusters + verbs: + - get + - list + - patch + - update + - watch +- apiGroups: + - postgres-operator.crunchydata.com + resources: + - crunchybridgeclusters/finalizers + - crunchybridgeclusters/status + verbs: + - patch + - update - apiGroups: - postgres-operator.crunchydata.com resources: