charts/stackgres-operator/crds/SGPostgresConfig.yaml
2024-05-30 20:42:52 +08:00

67 lines
3.1 KiB
YAML

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: sgpgconfigs.stackgres.io
spec:
group: stackgres.io
scope: Namespaced
names:
kind: SGPostgresConfig
listKind: SGPostgresConfigList
plural: sgpgconfigs
singular: sgpgconfig
shortNames:
- sgpgc
- sgpostgresconfig
- sgpostgresconfigs
versions:
- name: v1
served: true
storage: true
additionalPrinterColumns:
- name: version
type: string
jsonPath: .spec.postgresVersion
schema:
openAPIV3Schema:
type: object
required: ["metadata", "spec"]
properties:
metadata:
type: object
properties:
name:
type: string
description: |
Name of the Postgres Configuration. The configuration may be referenced by zero or more SGClusters, and if so it would be referenced by its name. Following [Kubernetes naming conventions](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/identifiers.md), it must be an rfc1035/rfc1123 subdomain, that is, up to 253 characters consisting of one or more lowercase labels separated by `.`. Where each label is an alphanumeric (a-z, and 0-9) string, with the `-` character allowed anywhere except the first or last character.
The name must be unique across all Postgres configurations in the same namespace.
spec:
type: object
properties:
postgresVersion:
type: string
description: |
The **major** Postgres version the configuration is for. Postgres major versions contain one number starting with version 10 (`10`, `11`, `12`, etc), and two numbers separated by a dot for previous versions (`9.6`, `9.5`, etc).
Note that Postgres maintains full compatibility across minor versions, and hence a configuration for a given major version will work for any minor version of that same major version.
Check [StackGres component versions](https://stackgres.io/doc/latest/intro/versions) to see the Postgres versions supported by this version of StackGres.
postgresql.conf:
type: object
additionalProperties:
type: string
description: |
The `postgresql.conf` parameters the configuration contains, represented as an object where the keys are valid names for the `postgresql.conf` configuration file parameters of the given `postgresVersion`. You may check [postgresqlco.nf](https://postgresqlco.nf) as a reference on how to tune and find the valid parameters for a given major version.
required: ["postgresVersion", "postgresql.conf"]
status:
type: object
properties:
defaultParameters:
type: object
additionalProperties:
type: string
description: |
The `postgresql.conf` default parameters which are used if not set.
required: ["defaultParameters"]