Skip to content

Updates to v5.8.0 #300

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions helm/install/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ description: Installer for PGO, the open source Postgres Operator from Crunchy D

type: application
# The version below should match the version on the PostgresCluster CRD
version: 5.7.4
appVersion: 5.7.4
version: 5.8.0
appVersion: 5.8.0
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
labels:
app.kubernetes.io/name: pgo
app.kubernetes.io/version: 5.7.4
controller-gen.kubebuilder.io/version: v0.17.2
name: crunchybridgeclusters.postgres-operator.crunchydata.com
labels:
app.kubernetes.io/version: 5.8.0
spec:
group: postgres-operator.crunchydata.com
names:
Expand Down Expand Up @@ -44,11 +43,7 @@ spec:
to be managed by Crunchy Data Bridge
properties:
clusterName:
description: |-
The name of the cluster
---
According to Bridge API/GUI errors,
"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.
description: The name of the cluster
maxLength: 50
minLength: 5
pattern: ^[A-Za-z][A-Za-z0-9\-_ ]*[A-Za-z0-9]$
Expand Down Expand Up @@ -94,6 +89,7 @@ spec:
- aws
- azure
- gcp
maxLength: 10
type: string
x-kubernetes-validations:
- message: immutable
Expand Down Expand Up @@ -161,8 +157,7 @@ spec:
conditions:
description: conditions represent the observations of postgres cluster's current state.
items:
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\
\ \"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}"
description: Condition contains details for one aspect of the current state of this API Resource.
properties:
lastTransitionTime:
description: |-
Expand Down Expand Up @@ -203,12 +198,7 @@ spec:
- Unknown
type: string
type:
description: |-
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
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])$
type: string
Expand Down
709 changes: 669 additions & 40 deletions helm/install/crds/postgres-operator.crunchydata.com_pgadmins.yaml

Large diffs are not rendered by default.

90 changes: 57 additions & 33 deletions helm/install/crds/postgres-operator.crunchydata.com_pgupgrades.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
labels:
app.kubernetes.io/name: pgo
app.kubernetes.io/version: 5.7.4
controller-gen.kubebuilder.io/version: v0.17.2
name: pgupgrades.postgres-operator.crunchydata.com
labels:
app.kubernetes.io/version: 5.8.0
spec:
group: postgres-operator.crunchydata.com
names:
Expand Down Expand Up @@ -309,7 +308,7 @@ spec:
pod labels will be ignored. The default value is empty.
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
Also, matchLabelKeys cannot be set when labelSelector isn't set.
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
items:
type: string
type: array
Expand All @@ -324,7 +323,7 @@ spec:
pod labels will be ignored. The default value is empty.
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
items:
type: string
type: array
Expand Down Expand Up @@ -485,7 +484,7 @@ spec:
pod labels will be ignored. The default value is empty.
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
Also, matchLabelKeys cannot be set when labelSelector isn't set.
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
items:
type: string
type: array
Expand All @@ -500,7 +499,7 @@ spec:
pod labels will be ignored. The default value is empty.
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
items:
type: string
type: array
Expand Down Expand Up @@ -654,7 +653,7 @@ spec:
pod labels will be ignored. The default value is empty.
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
Also, matchLabelKeys cannot be set when labelSelector isn't set.
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
items:
type: string
type: array
Expand All @@ -669,7 +668,7 @@ spec:
pod labels will be ignored. The default value is empty.
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
items:
type: string
type: array
Expand Down Expand Up @@ -830,7 +829,7 @@ spec:
pod labels will be ignored. The default value is empty.
The same key is forbidden to exist in both matchLabelKeys and labelSelector.
Also, matchLabelKeys cannot be set when labelSelector isn't set.
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
items:
type: string
type: array
Expand All @@ -845,7 +844,7 @@ spec:
pod labels will be ignored. The default value is empty.
The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
items:
type: string
type: array
Expand Down Expand Up @@ -926,8 +925,9 @@ spec:
type: object
fromPostgresVersion:
description: The major version of PostgreSQL before the upgrade.
format: int32
maximum: 17
minimum: 10
minimum: 11
type: integer
image:
description: The image name to use for major PostgreSQL upgrades.
Expand All @@ -941,24 +941,37 @@ spec:
- Always
- Never
- IfNotPresent
maxLength: 15
type: string
imagePullSecrets:
description: |-
The image pull secrets used to pull from a private registry.
Changing this value causes all running PGUpgrade pods to restart.
https://k8s.io/docs/tasks/configure-pod-container/pull-image-private-registry/
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
type: array
jobs:
description: |-
The number of simultaneous processes pg_upgrade should use.
More info: https://www.postgresql.org/docs/current/pgupgrade.html
format: int32
minimum: 0
type: integer
metadata:
description: Metadata contains metadata for custom resources
properties:
Expand All @@ -972,14 +985,14 @@ spec:
type: object
type: object
postgresClusterName:
description: The name of the cluster to be updated
description: The name of the Postgres cluster to upgrade.
minLength: 1
type: string
priorityClassName:
description: |-
Priority class name for the PGUpgrade pod. Changing this
value causes PGUpgrade pod to restart.
More info: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/
More info: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption
type: string
resources:
description: Resource requirements for the PGUpgrade container.
Expand All @@ -989,11 +1002,9 @@ spec:
Claims lists the names of resources, defined in spec.resourceClaims,
that are used by this container.


This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate.


This field is immutable. It can only be set for containers.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
Expand All @@ -1004,6 +1015,12 @@ spec:
the Pod where this field is used. It makes that resource available
inside a container.
type: string
request:
description: |-
Request is the name chosen for a request in the referenced claim.
If empty, everything from the claim is made available, otherwise
only the result of this request.
type: string
required:
- name
type: object
Expand Down Expand Up @@ -1036,15 +1053,11 @@ spec:
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
type: object
toPostgresImage:
description: |-
The image name to use for PostgreSQL containers after upgrade.
When omitted, the value comes from an operator environment variable.
type: string
toPostgresVersion:
description: The major version of PostgreSQL to be upgraded to.
format: int32
maximum: 17
minimum: 10
minimum: 11
type: integer
tolerations:
description: |-
Expand Down Expand Up @@ -1087,19 +1100,35 @@ spec:
type: string
type: object
type: array
transferMethod:
description: |-
The method pg_upgrade should use to transfer files to the new cluster.
More info: https://www.postgresql.org/docs/current/pgupgrade.html
enum:
- Clone
- Copy
- CopyFileRange
- Link
maxLength: 15
type: string
required:
- fromPostgresVersion
- postgresClusterName
- toPostgresVersion
type: object
x-kubernetes-validations:
- rule: self.fromPostgresVersion < self.toPostgresVersion
- message: Only Copy or Link before PostgreSQL 12
rule: '!has(self.transferMethod) || (self.toPostgresVersion < 12 ? self.transferMethod in ["Copy","Link"] : true)'
- message: Only Clone, Copy, or Link before PostgreSQL 17
rule: '!has(self.transferMethod) || (self.toPostgresVersion < 17 ? self.transferMethod in ["Clone","Copy","Link"] : true)'
status:
description: PGUpgradeStatus defines the observed state of PGUpgrade
properties:
conditions:
description: conditions represent the observations of PGUpgrade's current state.
items:
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\
\ \"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}"
description: Condition contains details for one aspect of the current state of this API Resource.
properties:
lastTransitionTime:
description: |-
Expand Down Expand Up @@ -1140,12 +1169,7 @@ spec:
- Unknown
type: string
type:
description: |-
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
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])$
type: string
Expand Down
Loading