clusterforge/cnpg-operator/CustomResourceDefinition_publications.postgresql.cnpg.io.yaml
2025-10-06 09:34:03 +00:00

137 lines
4.5 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.2
helm.sh/resource-policy: keep
name: publications.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
names:
kind: Publication
listKind: PublicationList
plural: publications
singular: publication
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- jsonPath: .spec.cluster.name
name: Cluster
type: string
- jsonPath: .spec.name
name: PG Name
type: string
- jsonPath: .status.applied
name: Applied
type: boolean
- jsonPath: .status.message
name: Message
type: string
name: v1
schema:
openAPIV3Schema:
properties:
apiVersion:
type: string
kind:
type: string
metadata:
type: object
spec:
properties:
cluster:
properties:
name:
default: ""
type: string
type: object
x-kubernetes-map-type: atomic
dbname:
type: string
x-kubernetes-validations:
- message: dbname is immutable
rule: self == oldSelf
name:
type: string
x-kubernetes-validations:
- message: name is immutable
rule: self == oldSelf
parameters:
additionalProperties:
type: string
type: object
publicationReclaimPolicy:
default: retain
enum:
- delete
- retain
type: string
target:
properties:
allTables:
type: boolean
x-kubernetes-validations:
- message: allTables is immutable
rule: self == oldSelf
objects:
items:
properties:
table:
properties:
columns:
items:
type: string
type: array
name:
type: string
only:
type: boolean
schema:
type: string
required:
- name
type: object
tablesInSchema:
type: string
type: object
x-kubernetes-validations:
- message: tablesInSchema and table are mutually exclusive
rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema) && has(self.table))
maxItems: 100000
type: array
x-kubernetes-validations:
- message: specifying a column list when the publication also publishes tablesInSchema is not supported
rule: '!(self.exists(o, has(o.table) && has(o.table.columns)) && self.exists(o, has(o.tablesInSchema)))'
type: object
x-kubernetes-validations:
- message: allTables and objects are mutually exclusive
rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables) && has(self.objects))
required:
- cluster
- dbname
- name
- target
type: object
status:
properties:
applied:
type: boolean
message:
type: string
observedGeneration:
format: int64
type: integer
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}