Skip to content

Commit 2a788cc

Browse files
tony-landrethtony-landreth
authored andcommitted
Updates to v5.8.0
1 parent bbd7335 commit 2a788cc

18 files changed

+4352
-695
lines changed

helm/install/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ description: Installer for PGO, the open source Postgres Operator from Crunchy D
44

55
type: application
66
# The version below should match the version on the PostgresCluster CRD
7-
version: 5.7.4
8-
appVersion: 5.7.4
7+
version: 5.8.0
8+
appVersion: 5.8.0

helm/install/crds/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.15.0
6-
labels:
7-
app.kubernetes.io/name: pgo
8-
app.kubernetes.io/version: 5.7.4
5+
controller-gen.kubebuilder.io/version: v0.17.2
96
name: crunchybridgeclusters.postgres-operator.crunchydata.com
7+
labels:
8+
app.kubernetes.io/version: 5.8.0
109
spec:
1110
group: postgres-operator.crunchydata.com
1211
names:
@@ -44,11 +43,7 @@ spec:
4443
to be managed by Crunchy Data Bridge
4544
properties:
4645
clusterName:
47-
description: |-
48-
The name of the cluster
49-
---
50-
According to Bridge API/GUI errors,
51-
"Field name should be between 5 and 50 characters in length, containing only unicode characters, unicode numbers, hyphens, spaces, or underscores, and starting with a character", and ending with a character or number.
46+
description: The name of the cluster
5247
maxLength: 50
5348
minLength: 5
5449
pattern: ^[A-Za-z][A-Za-z0-9\-_ ]*[A-Za-z0-9]$
@@ -94,6 +89,7 @@ spec:
9489
- aws
9590
- azure
9691
- gcp
92+
maxLength: 10
9793
type: string
9894
x-kubernetes-validations:
9995
- message: immutable
@@ -161,8 +157,7 @@ spec:
161157
conditions:
162158
description: conditions represent the observations of postgres cluster's current state.
163159
items:
164-
description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and\
165-
\ \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}"
160+
description: Condition contains details for one aspect of the current state of this API Resource.
166161
properties:
167162
lastTransitionTime:
168163
description: |-
@@ -203,12 +198,7 @@ spec:
203198
- Unknown
204199
type: string
205200
type:
206-
description: |-
207-
type of condition in CamelCase or in foo.example.com/CamelCase.
208-
---
209-
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
210-
useful (see .node.status.conditions), the ability to deconflict is important.
211-
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
201+
description: type of condition in CamelCase or in foo.example.com/CamelCase.
212202
maxLength: 316
213203
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
214204
type: string

helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml

Lines changed: 669 additions & 40 deletions
Large diffs are not rendered by default.

helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml

Lines changed: 57 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.15.0
6-
labels:
7-
app.kubernetes.io/name: pgo
8-
app.kubernetes.io/version: 5.7.4
5+
controller-gen.kubebuilder.io/version: v0.17.2
96
name: pgupgrades.postgres-operator.crunchydata.com
7+
labels:
8+
app.kubernetes.io/version: 5.8.0
109
spec:
1110
group: postgres-operator.crunchydata.com
1211
names:
@@ -309,7 +308,7 @@ spec:
309308
pod labels will be ignored. The default value is empty.
310309
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
311310
Also, matchLabelKeys cannot be set when labelSelector isn't set.
312-
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
311+
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
313312
items:
314313
type: string
315314
type: array
@@ -324,7 +323,7 @@ spec:
324323
pod labels will be ignored. The default value is empty.
325324
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
326325
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
327-
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
326+
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
328327
items:
329328
type: string
330329
type: array
@@ -485,7 +484,7 @@ spec:
485484
pod labels will be ignored. The default value is empty.
486485
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
487486
Also, matchLabelKeys cannot be set when labelSelector isn't set.
488-
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
487+
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
489488
items:
490489
type: string
491490
type: array
@@ -500,7 +499,7 @@ spec:
500499
pod labels will be ignored. The default value is empty.
501500
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
502501
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
503-
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
502+
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
504503
items:
505504
type: string
506505
type: array
@@ -654,7 +653,7 @@ spec:
654653
pod labels will be ignored. The default value is empty.
655654
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
656655
Also, matchLabelKeys cannot be set when labelSelector isn't set.
657-
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
656+
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
658657
items:
659658
type: string
660659
type: array
@@ -669,7 +668,7 @@ spec:
669668
pod labels will be ignored. The default value is empty.
670669
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
671670
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
672-
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
671+
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
673672
items:
674673
type: string
675674
type: array
@@ -830,7 +829,7 @@ spec:
830829
pod labels will be ignored. The default value is empty.
831830
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
832831
Also, matchLabelKeys cannot be set when labelSelector isn't set.
833-
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
832+
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
834833
items:
835834
type: string
836835
type: array
@@ -845,7 +844,7 @@ spec:
845844
pod labels will be ignored. The default value is empty.
846845
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
847846
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
848-
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
847+
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
849848
items:
850849
type: string
851850
type: array
@@ -926,8 +925,9 @@ spec:
926925
type: object
927926
fromPostgresVersion:
928927
description: The major version of PostgreSQL before the upgrade.
928+
format: int32
929929
maximum: 17
930-
minimum: 10
930+
minimum: 11
931931
type: integer
932932
image:
933933
description: The image name to use for major PostgreSQL upgrades.
@@ -941,24 +941,37 @@ spec:
941941
- Always
942942
- Never
943943
- IfNotPresent
944+
maxLength: 15
944945
type: string
945946
imagePullSecrets:
946947
description: |-
947948
The image pull secrets used to pull from a private registry.
948949
Changing this value causes all running PGUpgrade pods to restart.
949-
https://k8s.io/docs/tasks/configure-pod-container/pull-image-private-registry/
950+
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry
950951
items:
951952
description: |-
952953
LocalObjectReference contains enough information to let you locate the
953954
referenced object inside the same namespace.
954955
properties:
955956
name:
956957
default: ""
957-
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
958+
description: |-
959+
Name of the referent.
960+
This field is effectively required, but due to backwards compatibility is
961+
allowed to be empty. Instances of this type with an empty value here are
962+
almost certainly wrong.
963+
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
958964
type: string
959965
type: object
960966
x-kubernetes-map-type: atomic
961967
type: array
968+
jobs:
969+
description: |-
970+
The number of simultaneous processes pg_upgrade should use.
971+
More info: https://www.postgresql.org/docs/current/pgupgrade.html
972+
format: int32
973+
minimum: 0
974+
type: integer
962975
metadata:
963976
description: Metadata contains metadata for custom resources
964977
properties:
@@ -972,14 +985,14 @@ spec:
972985
type: object
973986
type: object
974987
postgresClusterName:
975-
description: The name of the cluster to be updated
988+
description: The name of the Postgres cluster to upgrade.
976989
minLength: 1
977990
type: string
978991
priorityClassName:
979992
description: |-
980993
Priority class name for the PGUpgrade pod. Changing this
981994
value causes PGUpgrade pod to restart.
982-
More info: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/
995+
More info: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption
983996
type: string
984997
resources:
985998
description: Resource requirements for the PGUpgrade container.
@@ -989,11 +1002,9 @@ spec:
9891002
Claims lists the names of resources, defined in spec.resourceClaims,
9901003
that are used by this container.
9911004
992-
9931005
This is an alpha field and requires enabling the
9941006
DynamicResourceAllocation feature gate.
9951007
996-
9971008
This field is immutable. It can only be set for containers.
9981009
items:
9991010
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
@@ -1004,6 +1015,12 @@ spec:
10041015
the Pod where this field is used. It makes that resource available
10051016
inside a container.
10061017
type: string
1018+
request:
1019+
description: |-
1020+
Request is the name chosen for a request in the referenced claim.
1021+
If empty, everything from the claim is made available, otherwise
1022+
only the result of this request.
1023+
type: string
10071024
required:
10081025
- name
10091026
type: object
@@ -1036,15 +1053,11 @@ spec:
10361053
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
10371054
type: object
10381055
type: object
1039-
toPostgresImage:
1040-
description: |-
1041-
The image name to use for PostgreSQL containers after upgrade.
1042-
When omitted, the value comes from an operator environment variable.
1043-
type: string
10441056
toPostgresVersion:
10451057
description: The major version of PostgreSQL to be upgraded to.
1058+
format: int32
10461059
maximum: 17
1047-
minimum: 10
1060+
minimum: 11
10481061
type: integer
10491062
tolerations:
10501063
description: |-
@@ -1087,19 +1100,35 @@ spec:
10871100
type: string
10881101
type: object
10891102
type: array
1103+
transferMethod:
1104+
description: |-
1105+
The method pg_upgrade should use to transfer files to the new cluster.
1106+
More info: https://www.postgresql.org/docs/current/pgupgrade.html
1107+
enum:
1108+
- Clone
1109+
- Copy
1110+
- CopyFileRange
1111+
- Link
1112+
maxLength: 15
1113+
type: string
10901114
required:
10911115
- fromPostgresVersion
10921116
- postgresClusterName
10931117
- toPostgresVersion
10941118
type: object
1119+
x-kubernetes-validations:
1120+
- rule: self.fromPostgresVersion < self.toPostgresVersion
1121+
- message: Only Copy or Link before PostgreSQL 12
1122+
rule: '!has(self.transferMethod) || (self.toPostgresVersion < 12 ? self.transferMethod in ["Copy","Link"] : true)'
1123+
- message: Only Clone, Copy, or Link before PostgreSQL 17
1124+
rule: '!has(self.transferMethod) || (self.toPostgresVersion < 17 ? self.transferMethod in ["Clone","Copy","Link"] : true)'
10951125
status:
10961126
description: PGUpgradeStatus defines the observed state of PGUpgrade
10971127
properties:
10981128
conditions:
10991129
description: conditions represent the observations of PGUpgrade's current state.
11001130
items:
1101-
description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and\
1102-
\ \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}"
1131+
description: Condition contains details for one aspect of the current state of this API Resource.
11031132
properties:
11041133
lastTransitionTime:
11051134
description: |-
@@ -1140,12 +1169,7 @@ spec:
11401169
- Unknown
11411170
type: string
11421171
type:
1143-
description: |-
1144-
type of condition in CamelCase or in foo.example.com/CamelCase.
1145-
---
1146-
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
1147-
useful (see .node.status.conditions), the ability to deconflict is important.
1148-
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1172+
description: type of condition in CamelCase or in foo.example.com/CamelCase.
11491173
maxLength: 316
11501174
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
11511175
type: string

0 commit comments

Comments
 (0)