Skip to content

Pull latest crunchy updates #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Jun 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
1110245
Updates for August Release
jmckulk Aug 22, 2024
2be1fad
Merge pull request #277 from jmckulk/2024-08
jmckulk Aug 22, 2024
5dacafa
Bump monitoring versions
Sep 23, 2024
f4633c8
feat: Add customised env var and feature flags
jaitaiwan Jun 28, 2024
aad0f0c
Update pgAdmin example
jmckulk Oct 10, 2024
c9e6eda
Define use in postgres example
jmckulk Oct 10, 2024
5af5710
Remove Images from examples
jmckulk Oct 10, 2024
84dbf64
Merge pull request #284 from jmckulk/update-examples
jmckulk Oct 11, 2024
ebc5af4
Changes to operator installers for 5.7 release.
dsessler7 Oct 17, 2024
f873807
Remove old singlenamespace installer artifacts.
dsessler7 Oct 17, 2024
4fae505
Fix broken hyperlinks.
dsessler7 Oct 17, 2024
c50bae6
patching Kustomize monitoring installer
crunchy-containers-bot Oct 21, 2024
c285160
5.7.1 release updates (#289)
tony-landreth Nov 26, 2024
fdf9fb6
5.7.2 release
ValClarkson Dec 18, 2024
1032268
Update copyright to 2025 (#292)
benjaminjb Jan 6, 2025
c4e35f7
v5.7.3 release
Jan 21, 2025
47bcbe6
Release 5.7.4 PGO-2238
ValClarkson Feb 21, 2025
7ea0174
update
ValClarkson Feb 21, 2025
bbd7335
Adds missing gis image from last release
Mar 20, 2025
2a788cc
Updates to v5.8.0
Apr 1, 2025
295f287
Update Postgres Helm Chart to include instrumentation (#299)
benjaminjb Apr 2, 2025
152ad0a
Updates monitoring example for v5.8
Apr 3, 2025
0f684e7
Update for 2025-04 minor release (#302)
benjaminjb Apr 18, 2025
395b659
Added Helm support for Affinity and Tolerations (#304)
Dan0x54 May 6, 2025
37732f4
update for release
jmckulk May 15, 2025
edaf5c2
fix whitespace
jmckulk May 15, 2025
d7d4c98
Merge pull request #306 from CrunchyData/2025-05
jmckulk May 15, 2025
4f8d0d9
Update Examples for the Latest Version of Keycloak
andrewlecuyer May 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@

END OF TERMS AND CONDITIONS

Copyright 2017 - 2024 Crunchy Data Solutions, Inc.
Copyright 2017 - 2025 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.
Expand Down
4 changes: 2 additions & 2 deletions helm/install/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.6.0
appVersion: 5.6.0
version: 5.8.2
appVersion: 5.8.2
43 changes: 43 additions & 0 deletions helm/install/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
Crunchy Data

Crunchy PostgreSQL for Kubernetes Terms of Use

Crunchy Data Solutions, Inc. (Crunchy Data) has integrated the Crunchy Data
distribution of PostgreSQL and the PostgreSQL Operator as the commercial product,
Crunchy PostgreSQL for Kubernetes. This Crunchy PostgreSQL for Kubernetes Terms
of Use establishes a framework that will enable Crunchy Data to provide Crunchy
Data packaged open source software, made available as a series of containers (the
"Crunchy Data Software"), to users, subject to applicable terms and conditions.

By using or accessing the Crunchy Data Software, the using or accessing party
agrees to applicable terms and conditions and agrees that the applicable terms as
set forth in this Crunchy PostgreSQL for Kubernetes Terms of Use will govern the
use of the Crunchy Data Software unless otherwise agreed to in writing by Crunchy
Data and the using or accessing party. If at any time the applicable terms are
no longer acceptable to the using or accessing party, the using or accessing
party should immediately cease all use of the Crunchy Data Software.

For users with a valid Crunchy Data subscription agreement, unless otherwise
agreed to in writing, the use of Crunchy PostgreSQL for Kubernetes, including the
use of each of the containers included therein, by users with a valid Crunchy
Data subscription agreement, for both development and production purposes, is
subject to the Crunchy Data Terms of Use (the "Crunchy Data Terms of Use")
located at:

* https://access.crunchydata.com/EULA

Crunchy PostgreSQL for Kubernetes constitutes Crunchy Data Software under the
Crunchy Data Terms of Use and its use is not intended to prohibit the rights
under any open source license.

For users without a valid Crunchy Data subscription agreement, the Crunchy Data
Software is provided for use under the Crunchy Data Developer Program. Unless
otherwise agreed to in writing, the use of Crunchy PostgreSQL for Kubernetes,
including the use of each of the containers included therein, is subject to the
Crunchy Data Developer Program Terms of Use (the "Developer Terms of Use"):

* https://www.crunchydata.com/developers/terms-of-use

Crunchy PostgreSQL for Kubernetes constitutes Crunchy Developer Software under
the Crunchy Data Developer Program Terms of Use and its use is not intended to
prohibit the rights under any open source license.

Large diffs are not rendered by default.

3,867 changes: 2,352 additions & 1,515 deletions helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml

Large diffs are not rendered by default.

2,144 changes: 1,133 additions & 1,011 deletions helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml

Large diffs are not rendered by default.

31,381 changes: 16,705 additions & 14,676 deletions helm/install/crds/postgres-operator.crunchydata.com_postgresclusters.yaml

Large diffs are not rendered by default.

33 changes: 33 additions & 0 deletions helm/install/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,36 @@ imagePullSecrets:
value: {{ $object.image | quote }}
{{- end }}
{{- end }}


{{- define "install.defaultEnv" -}}
- name: CRUNCHY_DEBUG
value: {{ .Values.debug | ne false | quote }}
- name: PGO_NAMESPACE
valueFrom: { fieldRef: { apiVersion: v1, fieldPath: metadata.namespace } }
{{- if .Values.singleNamespace }}
- name: PGO_TARGET_NAMESPACE
valueFrom: { fieldRef: { apiVersion: v1, fieldPath: metadata.namespace } }
{{- end }}
{{- if .Values.workers }}
- name: PGO_WORKERS
value: {{ .Values.workers | quote }}
{{- end }}
{{- include "install.relatedImages" . }}
{{- if .Values.disable_check_for_upgrades }}
- name: CHECK_FOR_UPGRADES
value: "false"
{{- end }}
{{- if .Values.features }}
{{- $value := .Values.features }}
- name: PGO_FEATURE_GATES
{{- $out := "" -}}
{{- if eq (kindOf $value) "map" -}}
{{- range $key, $val := $value -}}
{{- $out = (print $out $key "=" $val ",") -}}
{{- end }}
{{- end }}
value: "{{ trimSuffix "," $out }}"
{{- end }}
{{- end }}{{/* define */}}

52 changes: 36 additions & 16 deletions helm/install/templates/manager.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ metadata:
{{- include "install.labels" . | nindent 4 }}
{{- include "install.clusterLabels" . | nindent 4 }}
spec:
replicas: 1
replicas: {{ .Values.replicas }}
strategy: { type: Recreate }
selector:
matchLabels:
Expand All @@ -24,22 +24,19 @@ spec:
- name: operator
image: {{ required ".Values.controllerImages.cluster is required" .Values.controllerImages.cluster | quote }}
env:
- name: CRUNCHY_DEBUG
value: {{ .Values.debug | ne false | quote }}
- name: PGO_NAMESPACE
valueFrom: { fieldRef: { apiVersion: v1, fieldPath: metadata.namespace } }
{{- if .Values.singleNamespace }}
- name: PGO_TARGET_NAMESPACE
valueFrom: { fieldRef: { apiVersion: v1, fieldPath: metadata.namespace } }
- name: PGO_INSTALLER
value: helm
- name: PGO_INSTALLER_ORIGIN
value: examples-repo
- name: PGO_CONTROLLER_LEASE_NAME
value: {{ .Values.pgoControllerLeaseName }}
{{- if .Values.envOverride }}
{{- toYaml .Values.envOverride | nindent 10 }}
{{- else -}}
{{- include "install.defaultEnv" . | nindent 10 }}
{{- end }}
{{- if .Values.workers }}
- name: PGO_WORKERS
value: {{ .Values.workers | quote }}
{{- end }}
{{- include "install.relatedImages" . | indent 8 }}
{{- if .Values.disable_check_for_upgrades }}
- name: CHECK_FOR_UPGRADES
value: "false"
{{- if .Values.extraEnv }}
{{- toYaml .Values.extraEnv | nindent 10 }}
{{- end }}
{{- if .Values.resources.controller }}
resources:
Expand All @@ -52,3 +49,26 @@ spec:
capabilities: { drop: [ALL] }
readOnlyRootFilesystem: true
runAsNonRoot: true
ports:
- containerPort: 8443
name: metrics
livenessProbe:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
{{- if .Values.tolerations }}
tolerations:
{{- toYaml .Values.tolerations | nindent 8 }}
{{- end }}
{{- if .Values.affinity }}
affinity:
{{- toYaml .Values.affinity | nindent 8 }}
{{- end }}
44 changes: 34 additions & 10 deletions helm/install/templates/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ rules:
- configmaps
- persistentvolumeclaims
- secrets
- serviceaccounts
- services
verbs:
- create
Expand Down Expand Up @@ -57,16 +58,6 @@ rules:
- list
- patch
- watch
- apiGroups:
- ''
resources:
- serviceaccounts
verbs:
- create
- get
- list
- patch
- watch
- apiGroups:
- apps
resources:
Expand All @@ -79,6 +70,18 @@ rules:
- list
- patch
- watch
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
- apiGroups:
- batch
resources:
Expand All @@ -91,6 +94,15 @@ rules:
- list
- patch
- watch
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- create
- get
- update
- watch
- apiGroups:
- policy
resources:
Expand Down Expand Up @@ -161,6 +173,18 @@ rules:
- roles
verbs:
- create
- delete
- get
- list
- patch
- watch
- apiGroups:
- snapshot.storage.k8s.io
resources:
- volumesnapshots
verbs:
- create
- delete
- get
- list
- patch
Expand Down
75 changes: 59 additions & 16 deletions helm/install/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,34 @@
# 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.6.0-0
cluster: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi9-5.8.2-0

# relatedImages are used when an image is omitted from PostgresCluster, PGAdmin or PGUpgrade specs.
relatedImages:
postgres_17:
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-17.5-2520
postgres_17_gis_3.5:
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-17.5-3.5-2520
postgres_17_gis_3.4:
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-17.5-3.4-2520
postgres_16:
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.9-2520
postgres_16_gis_3.4:
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi8-16.3-3.4-1
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.9-3.4-2520
postgres_16_gis_3.3:
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-1
postgres_15_gis_3.3:
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-26
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.9-3.3-2520
pgbackrest:
image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1
image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi9-2.54.2-2520
pgbouncer:
image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-1
image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi9-1.24-2520
pgexporter:
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-7
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi9-0.17.1-2520
pgupgrade:
image: registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi8-5.6.0-0
image: registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi9-17.5-2520
standalone_pgadmin:
image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi8-8.6-1
image: registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi9-9.2-2520
collector:
image: registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi9-5.8.2-0

# singleNamespace controls where PGO watches for PostgresClusters. When false,
# PGO watches for and responds to PostgresClusters in all namespaces. When true,
Expand All @@ -37,16 +39,57 @@ singleNamespace: false
# debug allows you to enable or disable the "debug" level of logging.
debug: true

# pgoControllerLeaseName sets the name of the Lease that holds the Leader Election
# Lock, thereby enabling High Availability for the Operator. If this is unset,
# Leader Election will be turned off. To utilize the Leader Election and make PGO
# highly available you will also need to increment the replica count.
pgoControllerLeaseName: cpk-leader-election-lease

# replicas sets the number of PGO instances.
# Warning: This should only be greater than 1 if pgoControllerLeaseName is set!
replicas: 1

# imagePullSecretNames is a list of secret names to use for pulling controller images.
# More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
imagePullSecretNames: []

# Resource configuration of the PostgresCluster and PGUpgrade controllers.
resources:
controller: {}

# Define custom labels for PGO pods
# Note: Defining labels that overlap with any Crunchy Data label, for example,
# postgres-operator.crunchydata.com, will cause an error
# customPodLabels:
# example.com: custom-label

# Enable feature gates for PGO, by explicitly seting the value for the flags
# features:
# AutoGrowVolumes: true
# Feature2: false
# Feature3: somevalue

# Define extra environment variables for the chart, which will get added to the container's env
# extraEnv:
# - name: MY_VAR
# value: "myvalue"
# - name: MY_CONFIGMAP_VAR
# valueFrom:
# configMapKeyRef:
# name: s3-settings
# key: bucket
# - name: MY_SECRET_VAR
# valueFrom:
# secretKeyRef:
# name: s3-secret
# key: key

# Override environment variables entirely !!DANGEROUS!!
# envOverride:
# - name: PG_DEBUG
# value: "true"

# tolerations allows you to define pod tolerations for the operator pods.
# tolerations: []

# affinity allows you to define pod affinity and anti-affinity rules for the operator pods.
# affinity: {}
4 changes: 2 additions & 2 deletions helm/postgres/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.6.0
appVersion: 5.6.0
version: 5.7.4
appVersion: 5.7.4
20 changes: 20 additions & 0 deletions helm/postgres/templates/postgres.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,26 @@ spec:
{{ toYaml .Values.monitoringConfig | indent 8 }}
{{- end }}
{{- end }}
{{- if .Values.instrumentation }}
instrumentation:
config:
{{- if .Values.instrumentationConfig }}
{{ toYaml .Values.instrumentationConfig | indent 6 }}
{{- end }}
image: {{ default "" .Values.instrumentationImage | quote }}
logs:
{{- if .Values.instrumentationLogs }}
{{ toYaml .Values.instrumentationLogs | indent 6 }}
{{- end }}
metrics:
{{- if .Values.instrumentationMetrics }}
{{ toYaml .Values.instrumentationMetrics | indent 6 }}
{{- end }}
resources:
{{- if .Values.instrumentationResources }}
{{ toYaml .Values.instrumentationResources | indent 6 }}
{{- end }}
{{- end }}
{{- if .Values.shutdown }}
shutdown: true
{{- end }}
Expand Down
Loading
Loading