Skip to content

Deploy releases/k8s-manifests 7827551 - #224

Merged
themightychris merged 6 commits into
deploys/k8s-manifestsfrom
releases/k8s-manifests
Sep 28, 2026
Merged

themightychris merged 6 commits into
deploys/k8s-manifestsfrom
releases/k8s-manifests

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

kubectl diff reports that applying 7827551 will change:

diff -uN /tmp/LIVE-4184432204/barmancloud.cnpg.io.v1.ObjectStore.cloudnative-pg.gcs-cnpg /tmp/MERGED-3991501814/barmancloud.cnpg.io.v1.ObjectStore.cloudnative-pg.gcs-cnpg
--- /tmp/LIVE-4184432204/barmancloud.cnpg.io.v1.ObjectStore.cloudnative-pg.gcs-cnpg	2026-09-28 19:39:05.185573862 +0000
+++ /tmp/MERGED-3991501814/barmancloud.cnpg.io.v1.ObjectStore.cloudnative-pg.gcs-cnpg	2026-09-28 19:39:05.193573961 +0000
@@ -1 +1,17 @@
-{}
+apiVersion: barmancloud.cnpg.io/v1
+kind: ObjectStore
+metadata:
+  name: gcs-cnpg
+  namespace: cloudnative-pg
+spec:
+  configuration:
+    data:
+      compression: gzip
+    destinationPath: gs://cnpg-live/
+    googleCredentials:
+      applicationCredentials:
+        key: gcsCredentials
+        name: cnpg-backup-creds
+    wal:
+      compression: gzip
+  retentionPolicy: 30d
diff -uN /tmp/LIVE-4184432204/bitnami.com.v1alpha1.SealedSecret.cloudnative-pg.cnpg-backup-creds /tmp/MERGED-3991501814/bitnami.com.v1alpha1.SealedSecret.cloudnative-pg.cnpg-backup-creds
--- /tmp/LIVE-4184432204/bitnami.com.v1alpha1.SealedSecret.cloudnative-pg.cnpg-backup-creds	2026-09-28 19:39:05.185573862 +0000
+++ /tmp/MERGED-3991501814/bitnami.com.v1alpha1.SealedSecret.cloudnative-pg.cnpg-backup-creds	2026-09-28 19:39:05.193573961 +0000
@@ -1 +1,12 @@
-{}
+apiVersion: bitnami.com/v1alpha1
+kind: SealedSecret
+metadata:
+  name: cnpg-backup-creds
+  namespace: cloudnative-pg
+spec:
+  encryptedData:
+    gcsCredentials: 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
+  template:
+    metadata:
+      name: cnpg-backup-creds
+      namespace: cloudnative-pg
diff -uN /tmp/LIVE-4184432204/postgresql.cnpg.io.v1.Cluster.cloudnative-pg.shared-cluster /tmp/MERGED-3991501814/postgresql.cnpg.io.v1.Cluster.cloudnative-pg.shared-cluster
--- /tmp/LIVE-4184432204/postgresql.cnpg.io.v1.Cluster.cloudnative-pg.shared-cluster	2026-09-28 19:39:05.186573874 +0000
+++ /tmp/MERGED-3991501814/postgresql.cnpg.io.v1.Cluster.cloudnative-pg.shared-cluster	2026-09-28 19:39:05.194573973 +0000
@@ -27,6 +27,12 @@
       name: cnpg-default-monitoring
     disableDefaultQueries: false
     enablePodMonitor: false
+  plugins:
+  - enabled: true
+    isWALArchiver: true
+    name: barman-cloud.cloudnative-pg.io
+    parameters:
+      barmanObjectName: gcs-cnpg
   postgresGID: 26
   postgresUID: 26
   postgresql:
diff -uN /tmp/LIVE-4184432204/postgresql.cnpg.io.v1.ScheduledBackup.cloudnative-pg.shared-cluster-nightly /tmp/MERGED-3991501814/postgresql.cnpg.io.v1.ScheduledBackup.cloudnative-pg.shared-cluster-nightly
--- /tmp/LIVE-4184432204/postgresql.cnpg.io.v1.ScheduledBackup.cloudnative-pg.shared-cluster-nightly	2026-09-28 19:39:05.186573874 +0000
+++ /tmp/MERGED-3991501814/postgresql.cnpg.io.v1.ScheduledBackup.cloudnative-pg.shared-cluster-nightly	2026-09-28 19:39:05.195573986 +0000
@@ -1 +1,14 @@
-{}
+apiVersion: postgresql.cnpg.io/v1
+kind: ScheduledBackup
+metadata:
+  name: shared-cluster-nightly
+  namespace: cloudnative-pg
+spec:
+  backupOwnerReference: self
+  cluster:
+    name: shared-cluster
+  immediate: true
+  method: plugin
+  pluginConfiguration:
+    name: barman-cloud.cloudnative-pg.io
+  schedule: 0 0 4 * * *

themightychris and others added 4 commits September 28, 2026 15:07
ObjectStore linode-cnpg -> s3://cfp-live-cluster-cnpg/ (us-east), sealed
bucket-limited access key, continuous WAL archiving via the Barman Cloud
plugin, nightly base backup at 04:00 UTC, 30-day retention. immediate: true
takes a first backup on apply so the store is proven. Mirrors
CodeForPhilly/cfp-sandbox-cluster.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
feat(cnpg): back up shared-cluster to Linode Object Storage
Source-holobranch: k8s-manifests-github
Source-commit: 0889296
Source: 0889296
ObjectStore gcs-cnpg -> gs://cnpg-live/ in GCP project openphl-1177
(us-east4), replacing the Linode bucket from #223 before it ever took a
backup. Off-provider so backups survive losing the Linode account or
region. Sealed service-account key scoped to this one bucket.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
feat(cnpg): move shared-cluster backups off Linode to GCS
Source-holobranch: k8s-manifests-github
Source-commit: 4c1912f
Source: 4c1912f
@github-actions github-actions Bot changed the title Deploy releases/k8s-manifests cb92288 Deploy releases/k8s-manifests 7827551 Sep 28, 2026
@themightychris
themightychris merged commit 8c74572 into deploys/k8s-manifests Sep 28, 2026
1 check passed
@github-actions

Copy link
Copy Markdown
Author

kubectl apply output (excluding unchanged) for 8c74572 was:

customresourcedefinition.apiextensions.k8s.io/backends.gateway.envoyproxy.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/backendtlspolicies.gateway.networking.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/backendtrafficpolicies.gateway.envoyproxy.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/backups.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/clienttrafficpolicies.gateway.envoyproxy.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/clusterimagecatalogs.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/clusters.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/databaseroles.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/databases.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/envoyextensionpolicies.gateway.envoyproxy.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/envoypatchpolicies.gateway.envoyproxy.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/envoyproxies.gateway.envoyproxy.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/failoverquorums.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/grpcroutes.gateway.networking.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/httproutefilters.gateway.envoyproxy.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/imagecatalogs.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/listenersets.gateway.networking.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/objectstores.barmancloud.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/poolers.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/publications.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/scheduledbackups.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/sealedsecrets.bitnami.com serverside-applied
customresourcedefinition.apiextensions.k8s.io/securitypolicies.gateway.envoyproxy.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/subscriptions.postgresql.cnpg.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/tlsroutes.gateway.networking.k8s.io serverside-applied
clusterrole.rbac.authorization.k8s.io/envoy-gateway-gateway-helm-envoy-gateway-role configured
clusterrole.rbac.authorization.k8s.io/grafana-clusterrole configured
clusterrole.rbac.authorization.k8s.io/prometheus-alertmanager configured
clusterrole.rbac.authorization.k8s.io/prometheus-pushgateway configured
clusterrolebinding.rbac.authorization.k8s.io/sealed-secrets configured
mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook configured
mutatingwebhookconfiguration.admissionregistration.k8s.io/cnpg-mutating-webhook-configuration configured
mutatingwebhookconfiguration.admissionregistration.k8s.io/envoy-gateway-topology-injector.envoy-gateway-system configured
validatingadmissionpolicy.admissionregistration.k8s.io/safe-upgrades.gateway.networking.k8s.io configured
validatingadmissionpolicybinding.admissionregistration.k8s.io/safe-upgrades.gateway.networking.k8s.io configured
validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook configured
validatingwebhookconfiguration.admissionregistration.k8s.io/cnpg-validating-webhook-configuration configured
gateway.gateway.networking.k8s.io/balancer configured
httproute.gateway.networking.k8s.io/balancer configured
gateway.gateway.networking.k8s.io/chime configured
httproute.gateway.networking.k8s.io/chime configured
gateway.gateway.networking.k8s.io/choose-native-plants configured
httproute.gateway.networking.k8s.io/choose-native-plants configured
cluster.postgresql.cnpg.io/shared-cluster configured
configmap/cnpg-controller-manager-config configured
objectstore.barmancloud.cnpg.io/gcs-cnpg created
scheduledbackup.postgresql.cnpg.io/shared-cluster-nightly created
sealedsecret.bitnami.com/cnpg-backup-creds created
deployment.apps/code-for-philly configured
gateway.gateway.networking.k8s.io/code-for-philly configured
httproute.gateway.networking.k8s.io/code-for-philly configured
deployment.apps/codeforphilly configured
gateway.gateway.networking.k8s.io/codeforphilly configured
httproute.gateway.networking.k8s.io/codeforphilly configured
gateway.gateway.networking.k8s.io/echo-http configured
httproute.gateway.networking.k8s.io/echo-http configured
deployment.apps/envoy-gateway configured
httproute.gateway.networking.k8s.io/http-redirect configured
configmap/grafana-dashboards-default configured
deployment.apps/grafana configured
gateway.gateway.networking.k8s.io/grafana configured
httproute.gateway.networking.k8s.io/grafana configured
deployment.apps/metrics-server configured
secret/promtail configured
statefulset.apps/loki configured
deployment.apps/prometheus-alertmanager configured
deployment.apps/prometheus-kube-state-metrics configured
deployment.apps/prometheus-pushgateway configured
deployment.apps/prometheus-server configured
serviceaccount/prometheus-kube-state-metrics configured
deployment.apps/sealed-secrets configured
gateway.gateway.networking.k8s.io/sealed-secrets configured
httproute.gateway.networking.k8s.io/sealed-secrets configured
rolebinding.rbac.authorization.k8s.io/sealed-secrets-key-admin configured
service/sealed-secrets configured
gateway.gateway.networking.k8s.io/third-places configured
httproute.gateway.networking.k8s.io/third-places configured
statefulset.apps/third-places-postgresql configured
gateway.gateway.networking.k8s.io/vaultwarden configured
httproute.gateway.networking.k8s.io/bitwarden-redirect configured
httproute.gateway.networking.k8s.io/vaultwarden configured
statefulset.apps/vaultwarden-postgresql configured

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant