This commit is contained in:
parent
d7c49ac804
commit
5398a15d0e
3 changed files with 197 additions and 23 deletions
|
@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.8.0
|
controller-gen.kubebuilder.io/version: v0.9.0
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: pgo
|
app.kubernetes.io/name: pgo
|
||||||
app.kubernetes.io/version: 5.5.0
|
app.kubernetes.io/version: 5.6.0
|
||||||
name: pgadmins.postgres-operator.crunchydata.com
|
name: pgadmins.postgres-operator.crunchydata.com
|
||||||
spec:
|
spec:
|
||||||
group: postgres-operator.crunchydata.com
|
group: postgres-operator.crunchydata.com
|
||||||
|
@ -20,7 +20,7 @@ spec:
|
||||||
- name: v1beta1
|
- name: v1beta1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: PGAdmin is the Schema for the pgadmins API
|
description: PGAdmin is the Schema for the PGAdmin API
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this representation
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
@ -860,6 +860,24 @@ spec:
|
||||||
to any of these values will be loaded without validation. Be careful,
|
to any of these values will be loaded without validation. Be careful,
|
||||||
as you may put pgAdmin into an unusable state.
|
as you may put pgAdmin into an unusable state.
|
||||||
properties:
|
properties:
|
||||||
|
configDatabaseURI:
|
||||||
|
description: 'A Secret containing the value for the CONFIG_DATABASE_URI
|
||||||
|
setting. More info: https://www.pgadmin.org/docs/pgadmin4/latest/external_database.html'
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be
|
||||||
|
a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be
|
||||||
|
defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
files:
|
files:
|
||||||
description: Files allows the user to mount projected volumes
|
description: Files allows the user to mount projected volumes
|
||||||
into the pgAdmin container so that files can be referenced by
|
into the pgAdmin container so that files can be referenced by
|
||||||
|
@ -1082,6 +1100,10 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
gunicorn:
|
||||||
|
description: 'Settings for the gunicorn server. More info: https://docs.gunicorn.org/en/latest/settings.html'
|
||||||
|
type: object
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
ldapBindPassword:
|
ldapBindPassword:
|
||||||
description: 'A Secret containing the value for the LDAP_BIND_PASSWORD
|
description: 'A Secret containing the value for the LDAP_BIND_PASSWORD
|
||||||
setting. More info: https://www.pgadmin.org/docs/pgadmin4/latest/ldap.html'
|
setting. More info: https://www.pgadmin.org/docs/pgadmin4/latest/ldap.html'
|
||||||
|
@ -1347,6 +1369,10 @@ spec:
|
||||||
unique in the pgAdmin's ServerGroups since it becomes the
|
unique in the pgAdmin's ServerGroups since it becomes the
|
||||||
ServerGroup name in pgAdmin.
|
ServerGroup name in pgAdmin.
|
||||||
type: string
|
type: string
|
||||||
|
postgresClusterName:
|
||||||
|
description: PostgresClusterName selects one cluster to add
|
||||||
|
to pgAdmin by name.
|
||||||
|
type: string
|
||||||
postgresClusterSelector:
|
postgresClusterSelector:
|
||||||
description: PostgresClusterSelector selects clusters to dynamically
|
description: PostgresClusterSelector selects clusters to dynamically
|
||||||
add to pgAdmin by matching labels. An empty selector like
|
add to pgAdmin by matching labels. An empty selector like
|
||||||
|
@ -1395,9 +1421,18 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
- postgresClusterSelector
|
|
||||||
type: object
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: exactly one of "postgresClusterName" or "postgresClusterSelector"
|
||||||
|
is required
|
||||||
|
rule: '[has(self.postgresClusterName),has(self.postgresClusterSelector)].exists_one(x,x)'
|
||||||
type: array
|
type: array
|
||||||
|
serviceName:
|
||||||
|
description: ServiceName will be used as the name of a ClusterIP service
|
||||||
|
pointing to the pgAdmin pod and port. If the service already exists,
|
||||||
|
PGO will update the service. For more information about services
|
||||||
|
reference the Kubernetes and CrunchyData documentation. https://kubernetes.io/docs/concepts/services-networking/service/
|
||||||
|
type: string
|
||||||
tolerations:
|
tolerations:
|
||||||
description: 'Tolerations of the PGAdmin pod. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration'
|
description: 'Tolerations of the PGAdmin pod. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration'
|
||||||
items:
|
items:
|
||||||
|
@ -1438,6 +1473,50 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
users:
|
||||||
|
description: pgAdmin users that are managed via the PGAdmin spec.
|
||||||
|
Users can still be added via the pgAdmin GUI, but those users will
|
||||||
|
not show up here.
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
passwordRef:
|
||||||
|
description: A reference to the secret that holds the user's
|
||||||
|
password.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
role:
|
||||||
|
description: Role determines whether the user has admin privileges
|
||||||
|
or not. Defaults to User. Valid options are Administrator
|
||||||
|
and User.
|
||||||
|
enum:
|
||||||
|
- Administrator
|
||||||
|
- User
|
||||||
|
type: string
|
||||||
|
username:
|
||||||
|
description: The username for User in pgAdmin. Must be unique
|
||||||
|
in the pgAdmin's users list.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- passwordRef
|
||||||
|
- username
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-map-keys:
|
||||||
|
- username
|
||||||
|
x-kubernetes-list-type: map
|
||||||
required:
|
required:
|
||||||
- dataVolumeClaimSpec
|
- dataVolumeClaimSpec
|
||||||
type: object
|
type: object
|
||||||
|
@ -1445,9 +1524,8 @@ spec:
|
||||||
description: PGAdminStatus defines the observed state of PGAdmin
|
description: PGAdminStatus defines the observed state of PGAdmin
|
||||||
properties:
|
properties:
|
||||||
conditions:
|
conditions:
|
||||||
description: 'conditions represent the observations of pgadmin''s
|
description: 'conditions represent the observations of pgAdmin''s
|
||||||
current state. Known .status.conditions.type are: "PersistentVolumeResizing",
|
current state. Known .status.conditions.type is: "PersistentVolumeResizing"'
|
||||||
"Progressing", "ProxyAvailable"'
|
|
||||||
items:
|
items:
|
||||||
description: "Condition contains details for one aspect of the current
|
description: "Condition contains details for one aspect of the current
|
||||||
state of this API Resource. --- This struct is intended for direct
|
state of this API Resource. --- This struct is intended for direct
|
||||||
|
@ -1518,6 +1596,14 @@ spec:
|
||||||
x-kubernetes-list-map-keys:
|
x-kubernetes-list-map-keys:
|
||||||
- type
|
- type
|
||||||
x-kubernetes-list-type: map
|
x-kubernetes-list-type: map
|
||||||
|
imageSHA:
|
||||||
|
description: ImageSHA represents the image SHA for the container running
|
||||||
|
pgAdmin.
|
||||||
|
type: string
|
||||||
|
majorVersion:
|
||||||
|
description: MajorVersion represents the major version of the running
|
||||||
|
pgAdmin.
|
||||||
|
type: integer
|
||||||
observedGeneration:
|
observedGeneration:
|
||||||
description: observedGeneration represents the .metadata.generation
|
description: observedGeneration represents the .metadata.generation
|
||||||
on which the status was based.
|
on which the status was based.
|
||||||
|
|
|
@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.8.0
|
controller-gen.kubebuilder.io/version: v0.9.0
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: pgo
|
app.kubernetes.io/name: pgo
|
||||||
app.kubernetes.io/version: 5.5.0
|
app.kubernetes.io/version: 5.6.0
|
||||||
name: pgupgrades.postgres-operator.crunchydata.com
|
name: pgupgrades.postgres-operator.crunchydata.com
|
||||||
spec:
|
spec:
|
||||||
group: postgres-operator.crunchydata.com
|
group: postgres-operator.crunchydata.com
|
||||||
|
|
|
@ -2,11 +2,11 @@ apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.8.0
|
controller-gen.kubebuilder.io/version: v0.9.0
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: pgo
|
app.kubernetes.io/name: pgo
|
||||||
app.kubernetes.io/version: 5.5.0
|
app.kubernetes.io/version: 5.6.0
|
||||||
name: postgresclusters.postgres-operator.crunchydata.com
|
name: postgresclusters.postgres-operator.crunchydata.com
|
||||||
spec:
|
spec:
|
||||||
group: postgres-operator.crunchydata.com
|
group: postgres-operator.crunchydata.com
|
||||||
|
@ -2695,7 +2695,7 @@ spec:
|
||||||
- bucket
|
- bucket
|
||||||
type: object
|
type: object
|
||||||
name:
|
name:
|
||||||
description: The name of the the repository
|
description: The name of the repository
|
||||||
pattern: ^repo[1-4]
|
pattern: ^repo[1-4]
|
||||||
type: string
|
type: string
|
||||||
s3:
|
s3:
|
||||||
|
@ -4438,10 +4438,10 @@ spec:
|
||||||
properties:
|
properties:
|
||||||
pgbackrest:
|
pgbackrest:
|
||||||
description: 'Defines a pgBackRest cloud-based data source that
|
description: 'Defines a pgBackRest cloud-based data source that
|
||||||
can be used to pre-populate the the PostgreSQL data directory
|
can be used to pre-populate the PostgreSQL data directory for
|
||||||
for a new PostgreSQL cluster using a pgBackRest restore. The
|
a new PostgreSQL cluster using a pgBackRest restore. The PGBackRest
|
||||||
PGBackRest field is incompatible with the PostgresCluster field:
|
field is incompatible with the PostgresCluster field: only one
|
||||||
only one data source can be used for pre-populating a new PostgreSQL
|
data source can be used for pre-populating a new PostgreSQL
|
||||||
cluster'
|
cluster'
|
||||||
properties:
|
properties:
|
||||||
affinity:
|
affinity:
|
||||||
|
@ -5615,7 +5615,7 @@ spec:
|
||||||
- bucket
|
- bucket
|
||||||
type: object
|
type: object
|
||||||
name:
|
name:
|
||||||
description: The name of the the repository
|
description: The name of the repository
|
||||||
pattern: ^repo[1-4]
|
pattern: ^repo[1-4]
|
||||||
type: string
|
type: string
|
||||||
s3:
|
s3:
|
||||||
|
@ -10396,7 +10396,7 @@ spec:
|
||||||
description: 'Patroni dynamic configuration settings. Changes
|
description: 'Patroni dynamic configuration settings. Changes
|
||||||
to this value will be automatically reloaded without validation.
|
to this value will be automatically reloaded without validation.
|
||||||
Changes to certain PostgreSQL parameters cause PostgreSQL to
|
Changes to certain PostgreSQL parameters cause PostgreSQL to
|
||||||
restart. More info: https://patroni.readthedocs.io/en/latest/SETTINGS.html'
|
restart. More info: https://patroni.readthedocs.io/en/latest/dynamic_configuration.html'
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-preserve-unknown-fields: true
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
leaderLeaseDurationSeconds:
|
leaderLeaseDurationSeconds:
|
||||||
|
@ -13060,6 +13060,18 @@ spec:
|
||||||
service:
|
service:
|
||||||
description: Specification of the service that exposes PgBouncer.
|
description: Specification of the service that exposes PgBouncer.
|
||||||
properties:
|
properties:
|
||||||
|
externalTrafficPolicy:
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies'
|
||||||
|
enum:
|
||||||
|
- Cluster
|
||||||
|
- Local
|
||||||
|
type: string
|
||||||
|
internalTrafficPolicy:
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies'
|
||||||
|
enum:
|
||||||
|
- Cluster
|
||||||
|
- Local
|
||||||
|
type: string
|
||||||
metadata:
|
metadata:
|
||||||
description: Metadata contains metadata for custom resources
|
description: Metadata contains metadata for custom resources
|
||||||
properties:
|
properties:
|
||||||
|
@ -13319,10 +13331,66 @@ spec:
|
||||||
required:
|
required:
|
||||||
- pgBouncer
|
- pgBouncer
|
||||||
type: object
|
type: object
|
||||||
|
replicaService:
|
||||||
|
description: Specification of the service that exposes PostgreSQL
|
||||||
|
replica instances
|
||||||
|
properties:
|
||||||
|
externalTrafficPolicy:
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies'
|
||||||
|
enum:
|
||||||
|
- Cluster
|
||||||
|
- Local
|
||||||
|
type: string
|
||||||
|
internalTrafficPolicy:
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies'
|
||||||
|
enum:
|
||||||
|
- Cluster
|
||||||
|
- Local
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
description: Metadata contains metadata for custom resources
|
||||||
|
properties:
|
||||||
|
annotations:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
labels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
nodePort:
|
||||||
|
description: The port on which this service is exposed when type
|
||||||
|
is NodePort or LoadBalancer. Value must be in-range and not
|
||||||
|
in use or the operation will fail. If unspecified, a port will
|
||||||
|
be allocated if this Service requires one. - https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
type:
|
||||||
|
default: ClusterIP
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types'
|
||||||
|
enum:
|
||||||
|
- ClusterIP
|
||||||
|
- NodePort
|
||||||
|
- LoadBalancer
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
service:
|
service:
|
||||||
description: Specification of the service that exposes the PostgreSQL
|
description: Specification of the service that exposes the PostgreSQL
|
||||||
primary instance.
|
primary instance.
|
||||||
properties:
|
properties:
|
||||||
|
externalTrafficPolicy:
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies'
|
||||||
|
enum:
|
||||||
|
- Cluster
|
||||||
|
- Local
|
||||||
|
type: string
|
||||||
|
internalTrafficPolicy:
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies'
|
||||||
|
enum:
|
||||||
|
- Cluster
|
||||||
|
- Local
|
||||||
|
type: string
|
||||||
metadata:
|
metadata:
|
||||||
description: Metadata contains metadata for custom resources
|
description: Metadata contains metadata for custom resources
|
||||||
properties:
|
properties:
|
||||||
|
@ -14793,6 +14861,18 @@ spec:
|
||||||
service:
|
service:
|
||||||
description: Specification of the service that exposes pgAdmin.
|
description: Specification of the service that exposes pgAdmin.
|
||||||
properties:
|
properties:
|
||||||
|
externalTrafficPolicy:
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies'
|
||||||
|
enum:
|
||||||
|
- Cluster
|
||||||
|
- Local
|
||||||
|
type: string
|
||||||
|
internalTrafficPolicy:
|
||||||
|
description: 'More info: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-policies'
|
||||||
|
enum:
|
||||||
|
- Cluster
|
||||||
|
- Local
|
||||||
|
type: string
|
||||||
metadata:
|
metadata:
|
||||||
description: Metadata contains metadata for custom resources
|
description: Metadata contains metadata for custom resources
|
||||||
properties:
|
properties:
|
||||||
|
@ -15048,8 +15128,14 @@ spec:
|
||||||
options:
|
options:
|
||||||
description: 'ALTER ROLE options except for PASSWORD. This field
|
description: 'ALTER ROLE options except for PASSWORD. This field
|
||||||
is ignored for the "postgres" user. More info: https://www.postgresql.org/docs/current/role-attributes.html'
|
is ignored for the "postgres" user. More info: https://www.postgresql.org/docs/current/role-attributes.html'
|
||||||
|
maxLength: 200
|
||||||
pattern: ^[^;]*$
|
pattern: ^[^;]*$
|
||||||
type: string
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: cannot assign password
|
||||||
|
rule: '!self.matches("(?i:PASSWORD)")'
|
||||||
|
- message: cannot contain comments
|
||||||
|
rule: '!self.matches("(?:--|/[*]|[*]/)")'
|
||||||
password:
|
password:
|
||||||
description: Properties of the password generated for this user.
|
description: Properties of the password generated for this user.
|
||||||
properties:
|
properties:
|
||||||
|
@ -15070,6 +15156,7 @@ spec:
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
type: object
|
type: object
|
||||||
|
maxItems: 64
|
||||||
type: array
|
type: array
|
||||||
x-kubernetes-list-map-keys:
|
x-kubernetes-list-map-keys:
|
||||||
- name
|
- name
|
||||||
|
@ -15157,6 +15244,11 @@ spec:
|
||||||
description: Current state of PostgreSQL instances.
|
description: Current state of PostgreSQL instances.
|
||||||
items:
|
items:
|
||||||
properties:
|
properties:
|
||||||
|
desiredPGDataVolume:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Desired Size of the pgData volume
|
||||||
|
type: object
|
||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
readyReplicas:
|
readyReplicas:
|
||||||
|
@ -15291,7 +15383,7 @@ spec:
|
||||||
type: boolean
|
type: boolean
|
||||||
repoOptionsHash:
|
repoOptionsHash:
|
||||||
description: A hash of the required fields in the spec for
|
description: A hash of the required fields in the spec for
|
||||||
defining an Azure, GCS or S3 repository, Utilizd to detect
|
defining an Azure, GCS or S3 repository, Utilized to detect
|
||||||
changes to these fields and then execute pgBackRest stanza-create
|
changes to these fields and then execute pgBackRest stanza-create
|
||||||
commands accordingly.
|
commands accordingly.
|
||||||
type: string
|
type: string
|
||||||
|
@ -15425,8 +15517,6 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
registrationRequired:
|
registrationRequired:
|
||||||
description: Version information for installations with a registration
|
|
||||||
requirement.
|
|
||||||
properties:
|
properties:
|
||||||
pgoVersion:
|
pgoVersion:
|
||||||
type: string
|
type: string
|
||||||
|
@ -15439,8 +15529,6 @@ spec:
|
||||||
description: The instance set associated with the startupInstance
|
description: The instance set associated with the startupInstance
|
||||||
type: string
|
type: string
|
||||||
tokenRequired:
|
tokenRequired:
|
||||||
description: Signals the need for a token to be applied when registration
|
|
||||||
is required.
|
|
||||||
type: string
|
type: string
|
||||||
userInterface:
|
userInterface:
|
||||||
description: Current state of the PostgreSQL user interface.
|
description: Current state of the PostgreSQL user interface.
|
||||||
|
|
Loading…
Reference in a new issue