-
Notifications
You must be signed in to change notification settings - Fork 13
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
feat(charts)!: Update Helm release postgresql to 16.6.0 #2496
base: main
Are you sure you want to change the base?
Conversation
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "cnVKOGxJTENzQQ=="
+ postgres-password: "eDJyM3NCTzhFTg=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r44
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
443ca84
to
51a9ee3
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "bVlKbDJCalN1Sw=="
+ postgres-password: "VEpXaUMxRmRESw=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r44
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
51a9ee3
to
d23f0e0
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "NXNMVzB3SGY1bA=="
+ postgres-password: "WHF6bkRRdTNraQ=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r44
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
d23f0e0
to
c0c0c81
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "Y1J5aXZwVjlIVw=="
+ postgres-password: "R0xPbHVINDM3eg=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r44
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
c0c0c81
to
7d541c4
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "VVNhYWRmdkNmbg=="
+ postgres-password: "QmVRcDhhVGt5RQ=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r44
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
7d541c4
to
0af258d
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "UkdUdWk4NVdGUw=="
+ postgres-password: "NEZWeXRvdkthRg=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r44
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
0af258d
to
f29e325
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "M1YyTlNQQ2Jwbw=="
+ postgres-password: "d2xpakxTYjFrSg=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r44
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
f29e325
to
fd6ad7f
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "eTZBNHpWOXFrQg=="
+ postgres-password: "SDRHQzlJbkxHOA=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r44
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
fd6ad7f
to
f78940b
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "Y2JFZzV0NHA3cQ=="
+ postgres-password: "Q2VESXpSSHJvWg=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r45
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
f78940b
to
914030c
Compare
Path: @@ -1,3 +1,61 @@
+# Source: postgresql/templates/primary/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ - ports:
+ - port: 5432
+ - port: 9187
+---
+# Source: postgresql/templates/primary/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
+ app.kubernetes.io/component: primary
+---
+# Source: postgresql/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: postgresql
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
+automountServiceAccountToken: false
+---
# Source: postgresql/templates/secrets.yaml
apiVersion: v1
kind: Secret
@@ -5,12 +63,12 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
type: Opaque
data:
- postgres-password: "VkhzTkVsaW1VRg=="
+ postgres-password: "WlV6dm4yaWRxbA=="
password: "JHtTRUNSRVRfUE9TVEdSRVNfUEFTU1dPUkR9"
# We don't auto-generate LDAP password when it's not provided as we do for other passwords
---
@@ -21,12 +79,12 @@
name: postgresql-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
annotations:
- prometheus.io/port: '9187'
+ prometheus.io/port: "9187"
prometheus.io/scrape: "true"
spec:
type: ClusterIP
@@ -36,8 +94,8 @@
port: 9187
targetPort: http-metrics
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc-headless.yaml
@@ -47,15 +105,11 @@
name: postgresql-hl
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- # Use this annotation in addition to the actual publishNotReadyAddresses
- # field below because the annotation will stop being respected soon but the
- # field is broken in some versions of Kubernetes:
- # https://github.com/kubernetes/kubernetes/issues/58662
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+ annotations:
spec:
type: ClusterIP
clusterIP: None
@@ -68,8 +122,8 @@
port: 5432
targetPort: tcp-postgresql
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/svc.yaml
@@ -79,11 +133,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
type: ClusterIP
sessionAffinity: None
@@ -93,8 +146,8 @@
targetPort: tcp-postgresql
nodePort: null
selector:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
---
# Source: postgresql/templates/primary/statefulset.yaml
@@ -104,11 +157,10 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- annotations:
spec:
replicas: 1
serviceName: postgresql-hl
@@ -117,16 +169,16 @@
type: RollingUpdate
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
template:
metadata:
name: postgresql
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
annotations:
backup.velero.io/backup-volumes: data
@@ -135,7 +187,8 @@
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/bitnami/postgresql"]'
pre.hook.backup.velero.io/container: fsfreeze
spec:
- serviceAccountName: default
+ serviceAccountName: postgresql
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -143,25 +196,36 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: primary
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
hostNetwork: false
hostIPC: false
- initContainers:
containers:
- name: postgresql
image: quay.io/bitnami/postgresql:14.1.0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: BITNAMI_DEBUG
value: "false"
@@ -174,21 +238,18 @@
# Authentication
- name: POSTGRES_USER
value: "${SECRET_POSTGRES_USERNAME}"
- - name: POSTGRES_POSTGRES_PASSWORD
+ - name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: postgres-password
- - name: POSTGRES_PASSWORD
+ key: password
+ - name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgresql
- key: password
- - name: POSTGRES_DB
+ key: postgres-password
+ - name: POSTGRES_DATABASE
value: "postgres"
- # Replication
- # Initdb
- # Standby
# LDAP
- name: POSTGRESQL_ENABLE_LDAP
value: "no"
@@ -238,21 +299,44 @@
exec pg_isready -U "${SECRET_POSTGRES_USERNAME}" -d "dbname=postgres" -h 127.0.0.1 -p 5432
[ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ]
resources:
- limits: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
requests:
- cpu: 250m
- memory: 256Mi
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/conf
+ subPath: app-conf-dir
+ - name: empty-dir
+ mountPath: /opt/bitnami/postgresql/tmp
+ subPath: app-tmp-dir
- name: dshm
mountPath: /dev/shm
- name: data
mountPath: /bitnami/postgresql
- name: metrics
- image: docker.io/bitnami/postgres-exporter:0.11.1-debian-11-r15
+ image: docker.io/bitnami/postgres-exporter:0.15.0-debian-12-r45
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
env:
- name: DATA_SOURCE_URI
value: 127.0.0.1:5432/postgres?sslmode=disable
@@ -260,9 +344,9 @@
valueFrom:
secretKeyRef:
name: postgresql
- key: password
+ key: postgres-password
- name: DATA_SOURCE_USER
- value: "${SECRET_POSTGRES_USERNAME}"
+ value: "postgres"
ports:
- name: http-metrics
containerPort: 9187
@@ -285,15 +369,28 @@
path: /
port: http-metrics
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: tmp-dir
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumes:
+ - name: empty-dir
+ emptyDir: {}
- name: dshm
emptyDir:
medium: Memory
volumeClaimTemplates:
- - metadata:
+ - apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
name: data
spec:
accessModes:
@@ -309,15 +406,15 @@
name: postgresql
namespace: "default"
labels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
spec:
selector:
matchLabels:
- app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
+ app.kubernetes.io/name: postgresql
app.kubernetes.io/component: metrics
endpoints:
- port: http-metrics |
420fa24
to
07fdcfa
Compare
07fdcfa
to
11b09c9
Compare
11b09c9
to
9624ade
Compare
9624ade
to
7aac044
Compare
7aac044
to
24fa00e
Compare
24fa00e
to
6f1eaf4
Compare
6f1eaf4
to
9656632
Compare
9656632
to
ceb81ce
Compare
ceb81ce
to
ebc8c12
Compare
ebc8c12
to
5759e03
Compare
5759e03
to
a23f59d
Compare
CI Feedback 🧐(Feedback updated until commit 01d0f78)A test triggered by this PR failed. Here is an AI-generated analysis of the failure:
|
a23f59d
to
85f7103
Compare
85f7103
to
80e9856
Compare
Signed-off-by: Danny Froberg <[email protected]>
80e9856
to
01d0f78
Compare
This PR contains the following updates:
11.9.8
->16.6.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
bitnami/charts (postgresql)
v16.6.0
usePasswordFiles=true
by default (#32115)v16.5.6
v16.5.5
v16.5.4
v16.5.3
v16.5.2
v16.5.1
v16.5.0
v16.4.16
v16.4.15
v16.4.14
v16.4.13
v16.4.11
v16.4.9
v16.4.8
v16.4.7
v16.4.6
v16.4.5
v16.4.4
v16.4.3
v16.4.2
v16.4.1
v16.3.5
v16.3.4
v16.3.3
v16.3.2
v16.3.1
v16.3.0
v16.2.5
v16.2.4
v16.2.3
v16.2.2
v16.2.1
v16.2.0
v16.1.2
v16.1.1
v16.1.0
namespaceOverride
(#30113) (4253372), closes #30113v16.0.6
v16.0.5
v16.0.4
v16.0.3
v16.0.2
v16.0.1
v16.0.0
v15.5.38
v15.5.37
v15.5.36
v15.5.35
v15.5.34
v15.5.33
v15.5.32
v15.5.31
v15.5.30
v15.5.29
v15.5.28
v15.5.27
v15.5.26
v15.5.25
v15.5.24
v15.5.23
v15.5.22
v15.5.21
v15.5.20
v15.5.19
v15.5.18
v15.5.17
v15.5.16
v15.5.15
v15.5.14
v15.5.13
v15.5.12
v15.5.11
v15.5.10
v15.5.9
v15.5.8
v15.5.7
v15.5.6
v15.5.5
v15.5.4
v15.5.3
v15.5.2
v15.5.1
v15.5.0
v15.4.2
v15.4.1
v15.4.0
v15.3.5
v15.3.4
v15.3.3
v15.3.2
v15.3.1
v15.3.0
v15.2.13
v15.2.12
v15.2.11
v15.2.10
v15.2.9
v15.2.8
v15.2.7
v15.2.6
v15.2.5
v15.2.4
v15.2.3
v15.2.2
v15.2.1
v15.2.0
v15.1.4
v15.1.3
v15.1.2
v15.1.1
v15.1.0
v15.0.0
v14.3.3
v14.3.2
v14.3.1
v14.3.0
v14.2.4
v14.2.3
v14.2.2
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.