Skip to content

Commit e55874e

Browse files
Merge pull request #140 from CodeForPhilly/releases/k8s-manifests
Deploy releases/k8s-manifests ad4db8b
2 parents 4423147 + ad4db8b commit e55874e

22 files changed

Lines changed: 4392 additions & 744 deletions

_/ClusterRole/cloudnative-pg-edit.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,23 @@ metadata:
55
app.kubernetes.io/instance: cloudnative-pg
66
app.kubernetes.io/managed-by: Helm
77
app.kubernetes.io/name: cloudnative-pg
8-
app.kubernetes.io/version: 1.25.0
9-
helm.sh/chart: cloudnative-pg-0.23.1
8+
app.kubernetes.io/version: 1.29.0
9+
helm.sh/chart: cloudnative-pg-0.28.0
1010
name: cloudnative-pg-edit
1111
rules:
1212
- apiGroups:
1313
- postgresql.cnpg.io
1414
resources:
1515
- backups
1616
- clusters
17+
- clusters/status
1718
- databases
19+
- failoverquorums
1820
- poolers
1921
- publications
2022
- scheduledbackups
23+
- imagecatalogs
24+
- clusterimagecatalogs
2125
- subscriptions
2226
verbs:
2327
- create

_/ClusterRole/cloudnative-pg-view.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,23 @@ metadata:
55
app.kubernetes.io/instance: cloudnative-pg
66
app.kubernetes.io/managed-by: Helm
77
app.kubernetes.io/name: cloudnative-pg
8-
app.kubernetes.io/version: 1.25.0
9-
helm.sh/chart: cloudnative-pg-0.23.1
8+
app.kubernetes.io/version: 1.29.0
9+
helm.sh/chart: cloudnative-pg-0.28.0
1010
name: cloudnative-pg-view
1111
rules:
1212
- apiGroups:
1313
- postgresql.cnpg.io
1414
resources:
1515
- backups
1616
- clusters
17+
- clusters/status
1718
- databases
19+
- failoverquorums
1820
- poolers
1921
- publications
2022
- scheduledbackups
23+
- imagecatalogs
24+
- clusterimagecatalogs
2125
- subscriptions
2226
verbs:
2327
- get

_/ClusterRole/cloudnative-pg.yaml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ metadata:
55
app.kubernetes.io/instance: cloudnative-pg
66
app.kubernetes.io/managed-by: Helm
77
app.kubernetes.io/name: cloudnative-pg
8-
app.kubernetes.io/version: 1.25.0
9-
helm.sh/chart: cloudnative-pg-0.23.1
8+
app.kubernetes.io/version: 1.29.0
9+
helm.sh/chart: cloudnative-pg-0.28.0
1010
name: cloudnative-pg
1111
rules:
1212
- apiGroups:
@@ -165,6 +165,16 @@ rules:
165165
- patch
166166
- update
167167
- watch
168+
- apiGroups:
169+
- postgresql.cnpg.io
170+
resources:
171+
- failoverquorums
172+
verbs:
173+
- create
174+
- delete
175+
- get
176+
- list
177+
- watch
168178
- apiGroups:
169179
- postgresql.cnpg.io
170180
resources:
@@ -197,6 +207,7 @@ rules:
197207
resources:
198208
- clusters/status
199209
- poolers/status
210+
- failoverquorums/status
200211
verbs:
201212
- get
202213
- patch

_/ClusterRoleBinding/cloudnative-pg.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ metadata:
55
app.kubernetes.io/instance: cloudnative-pg
66
app.kubernetes.io/managed-by: Helm
77
app.kubernetes.io/name: cloudnative-pg
8-
app.kubernetes.io/version: 1.25.0
9-
helm.sh/chart: cloudnative-pg-0.23.1
8+
app.kubernetes.io/version: 1.29.0
9+
helm.sh/chart: cloudnative-pg-0.28.0
1010
name: cloudnative-pg
1111
roleRef:
1212
apiGroup: rbac.authorization.k8s.io

_/CustomResourceDefinition/backups.postgresql.cnpg.io.yaml

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.5
5+
controller-gen.kubebuilder.io/version: v0.20.1
66
helm.sh/resource-policy: keep
77
name: backups.postgresql.cnpg.io
88
spec:
@@ -33,7 +33,7 @@ spec:
3333
name: v1
3434
schema:
3535
openAPIV3Schema:
36-
description: Backup is the Schema for the backups API
36+
description: A Backup resource is a request for a PostgreSQL backup by the user.
3737
properties:
3838
apiVersion:
3939
description: >-
@@ -200,6 +200,9 @@ spec:
200200
required:
201201
- cluster
202202
type: object
203+
x-kubernetes-validations:
204+
- message: BackupSpec is immutable once set
205+
rule: oldSelf == self
203206
status:
204207
description: >-
205208
Most recently observed status of the backup. This data may not
@@ -274,6 +277,14 @@ spec:
274277
- key
275278
- name
276279
type: object
280+
useDefaultAzureCredentials:
281+
description: >-
282+
Use the default Azure authentication flow, which
283+
includes DefaultAzureCredential.
284+
285+
This allows authentication using environment variables
286+
and managed identities.
287+
type: boolean
277288
type: object
278289
backupId:
279290
description: The ID of the Barman backup
@@ -381,7 +392,25 @@ spec:
381392
podName:
382393
description: The pod name
383394
type: string
395+
sessionID:
396+
description: >-
397+
The instance manager session ID. This is a unique
398+
identifier generated at instance manager
399+
400+
startup and changes on every restart (including
401+
container reboots). Used to detect if
402+
403+
the instance manager was restarted during long-running
404+
operations like backups, which
405+
406+
would terminate any running backup process.
407+
type: string
384408
type: object
409+
majorVersion:
410+
description: |-
411+
The PostgreSQL major version that was running when the
412+
backup was taken.
413+
type: integer
385414
method:
386415
description: The backup method being used
387416
type: string
@@ -398,6 +427,16 @@ spec:
398427
type: string
399428
description: A map containing the plugin metadata
400429
type: object
430+
reconciliationStartedAt:
431+
description: When the backup process was started by the operator
432+
format: date-time
433+
type: string
434+
reconciliationTerminatedAt:
435+
description: >-
436+
When the reconciliation was terminated by the operator
437+
(either successfully or not)
438+
format: date-time
439+
type: string
401440
s3Credentials:
402441
description: The credentials to use to upload data to S3
403442
properties:
@@ -498,11 +537,11 @@ spec:
498537
type: array
499538
type: object
500539
startedAt:
501-
description: When the backup was started
540+
description: When the backup execution was started by the backup tool
502541
format: date-time
503542
type: string
504543
stoppedAt:
505-
description: When the backup was terminated
544+
description: When the backup execution was terminated by the backup tool
506545
format: date-time
507546
type: string
508547
tablespaceMapFile:

_/CustomResourceDefinition/clusterimagecatalogs.postgresql.cnpg.io.yaml

Lines changed: 170 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.5
5+
controller-gen.kubebuilder.io/version: v0.20.1
66
helm.sh/resource-policy: keep
77
name: clusterimagecatalogs.postgresql.cnpg.io
88
spec:
@@ -66,6 +66,175 @@ spec:
6666
items:
6767
description: CatalogImage defines the image and major version
6868
properties:
69+
extensions:
70+
description: The configuration of the extensions to be added
71+
items:
72+
description: >-
73+
ExtensionConfiguration is the configuration used to
74+
add
75+
76+
PostgreSQL extensions to the Cluster.
77+
properties:
78+
bin_path:
79+
description: >-
80+
A list of directories within the image to be
81+
appended to the
82+
83+
PostgreSQL process's `PATH` environment
84+
variable.
85+
items:
86+
type: string
87+
type: array
88+
dynamic_library_path:
89+
description: >-
90+
The list of directories inside the image which
91+
should be added to dynamic_library_path.
92+
93+
If not defined, defaults to "/lib".
94+
items:
95+
type: string
96+
type: array
97+
env:
98+
description: >-
99+
Env is a list of custom environment variables to
100+
be set in the
101+
102+
PostgreSQL process for this extension. It is the
103+
responsibility of the
104+
105+
cluster administrator to ensure the variables
106+
are correct for the
107+
108+
specific extension. Note that changes to these
109+
variables require
110+
111+
a manual cluster restart to take effect.
112+
items:
113+
description: >-
114+
ExtensionEnvVar defines an environment
115+
variable for a specific extension
116+
117+
image volume.
118+
properties:
119+
name:
120+
description: >-
121+
Name of the environment variable to be
122+
injected into the
123+
124+
PostgreSQL process.
125+
minLength: 1
126+
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
127+
type: string
128+
value:
129+
description: >-
130+
Value of the environment variable.
131+
CloudNativePG performs a direct
132+
133+
replacement of this value, with support
134+
for placeholder expansion.
135+
136+
The ${`image_root`} placeholder resolves
137+
to the absolute mount path
138+
139+
of the extension's volume (e.g.,
140+
`/extensions/my-extension`). This
141+
142+
is particularly useful for allowing
143+
applications or libraries to
144+
145+
locate specific directories within the
146+
mounted image.
147+
148+
Unrecognized placeholders are rejected. To
149+
include a literal ${...}
150+
151+
in the value, escape it as $${...}.
152+
minLength: 1
153+
type: string
154+
required:
155+
- name
156+
- value
157+
type: object
158+
type: array
159+
x-kubernetes-list-map-keys:
160+
- name
161+
x-kubernetes-list-type: map
162+
extension_control_path:
163+
description: >-
164+
The list of directories inside the image which
165+
should be added to extension_control_path.
166+
167+
If not defined, defaults to "/share".
168+
items:
169+
type: string
170+
type: array
171+
image:
172+
description: The image containing the extension.
173+
properties:
174+
pullPolicy:
175+
description: >-
176+
Policy for pulling OCI objects. Possible
177+
values are:
178+
179+
Always: the kubelet always attempts to pull
180+
the reference. Container creation will fail
181+
If the pull fails.
182+
183+
Never: the kubelet never pulls the reference
184+
and only uses a local image or artifact.
185+
Container creation will fail if the
186+
reference isn't present.
187+
188+
IfNotPresent: the kubelet pulls if the
189+
reference isn't already present on disk.
190+
Container creation will fail if the
191+
reference isn't present and the pull fails.
192+
193+
Defaults to Always if :latest tag is
194+
specified, or IfNotPresent otherwise.
195+
type: string
196+
reference:
197+
description: >-
198+
Required: Image or artifact reference to be
199+
used.
200+
201+
Behaves in the same way as
202+
pod.spec.containers[*].image.
203+
204+
Pull secrets will be assembled in the same
205+
way as for the container image by looking up
206+
node credentials, SA image pull secrets, and
207+
pod spec image pull secrets.
208+
209+
More info:
210+
https://kubernetes.io/docs/concepts/containers/images
211+
212+
This field is optional to allow higher level
213+
config management to default or override
214+
215+
container images in workload controllers
216+
like Deployments and StatefulSets.
217+
type: string
218+
type: object
219+
ld_library_path:
220+
description: >-
221+
The list of directories inside the image which
222+
should be added to ld_library_path.
223+
items:
224+
type: string
225+
type: array
226+
name:
227+
description: The name of the extension, required
228+
minLength: 1
229+
pattern: ^[a-z0-9]([-a-z0-9_]*[a-z0-9])?$
230+
type: string
231+
required:
232+
- name
233+
type: object
234+
type: array
235+
x-kubernetes-list-map-keys:
236+
- name
237+
x-kubernetes-list-type: map
69238
image:
70239
description: The image reference
71240
type: string

0 commit comments

Comments
 (0)