From 06ac340fe006ea7cbc60079e3c3370ef294eddea Mon Sep 17 00:00:00 2001 From: Mikkel Oscar Lyderik Larsen Date: Tue, 2 Dec 2025 19:57:50 +0100 Subject: [PATCH] Sort postgresql.crd.yaml Signed-off-by: Mikkel Oscar Lyderik Larsen --- manifests/postgresql.crd.yaml | 592 +++++++++++++++++----------------- 1 file changed, 298 insertions(+), 294 deletions(-) diff --git a/manifests/postgresql.crd.yaml b/manifests/postgresql.crd.yaml index 7a1b21a4d..f8108d448 100644 --- a/manifests/postgresql.crd.yaml +++ b/manifests/postgresql.crd.yaml @@ -5,191 +5,177 @@ metadata: spec: group: acid.zalan.do names: + categories: + - all kind: postgresql listKind: postgresqlList plural: postgresqls - singular: postgresql shortNames: - pg - categories: - - all + singular: postgresql scope: Namespaced versions: - - name: v1 - served: true - storage: true - subresources: - status: {} - additionalPrinterColumns: - - name: Team - type: string - description: Team responsible for Postgres cluster + - additionalPrinterColumns: + - description: Team responsible for Postgres cluster jsonPath: .spec.teamId - - name: Version + name: Team type: string - description: PostgreSQL version + - description: PostgreSQL version jsonPath: .spec.postgresql.version - - name: Pods - type: integer - description: Number of Pods per Postgres cluster + name: Version + type: string + - description: Number of Pods per Postgres cluster jsonPath: .spec.numberOfInstances - - name: Volume - type: string - description: Size of the bound volume + name: Pods + type: integer + - description: Size of the bound volume jsonPath: .spec.volume.size - - name: CPU-Request + name: Volume type: string - description: Requested CPU for Postgres containers + - description: Requested CPU for Postgres containers jsonPath: .spec.resources.requests.cpu - - name: Memory-Request + name: CPU-Request type: string - description: Requested memory for Postgres containers + - description: Requested memory for Postgres containers jsonPath: .spec.resources.requests.memory - - name: Age - type: date - jsonPath: .metadata.creationTimestamp - - name: Status + name: Memory-Request type: string - description: Current sync status of postgresql resource + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current sync status of postgresql resource jsonPath: .status.PostgresClusterStatus + name: Status + type: string + name: v1 schema: openAPIV3Schema: - type: object - required: - - kind - - apiVersion - - spec properties: - kind: - type: string - enum: - - postgresql apiVersion: - type: string enum: - - acid.zalan.do/v1 + - acid.zalan.do/v1 + type: string + kind: + enum: + - postgresql + type: string spec: - type: object - required: - - numberOfInstances - - teamId - - postgresql - - volume properties: additionalVolumes: - type: array items: - type: object - required: - - name - - mountPath - - volumeSource properties: isSubPathExpr: type: boolean - name: - type: string mountPath: type: string + name: + type: string subPath: type: string targetContainers: - type: array - nullable: true items: type: string + nullable: true + type: array volumeSource: type: object x-kubernetes-preserve-unknown-fields: true - allowedSourceRanges: + required: + - mountPath + - name + - volumeSource + type: object type: array - nullable: true + allowedSourceRanges: items: + pattern: ^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\/(\d|[1-2]\d|3[0-2])$ type: string - pattern: '^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\/(\d|[1-2]\d|3[0-2])$' + nullable: true + type: array clone: - type: object - required: - - cluster properties: cluster: type: string - s3_endpoint: - type: string s3_access_key_id: type: string - s3_secret_access_key: + s3_endpoint: type: string s3_force_path_style: type: boolean + s3_secret_access_key: + type: string s3_wal_path: type: string timestamp: - type: string pattern: '^([0-9]+)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(([+-]([01][0-9]|2[0-3]):[0-5][0-9]))$' # The regexp matches the date-time format (RFC 3339 Section 5.6) that specifies a timezone as an offset relative to UTC # Example: 1996-12-19T16:39:57-08:00 # Note: this field requires a timezone + + type: string uid: format: uuid type: string - connectionPooler: + required: + - cluster type: object + connectionPooler: properties: dockerImage: type: string maxDBConnections: type: integer mode: - type: string enum: - - "session" - - "transaction" + - "session" + - "transaction" + type: string numberOfInstances: - type: integer minimum: 1 + type: integer resources: - type: object properties: limits: - type: object properties: cpu: - type: string pattern: '^(\d+m|\d+(\.\d{1,3})?)$' - memory: type: string + memory: pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' + type: string + type: object requests: - type: object properties: cpu: - type: string pattern: '^(\d+m|\d+(\.\d{1,3})?)$' - memory: type: string + memory: pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' + type: string + type: object + type: object schema: type: string user: type: string - databases: type: object + databases: additionalProperties: type: string - # Note: usernames specified here as database owners must be declared in the users key of the spec key. + # Note: usernames specified here as database owners must be declared in the users key of the spec key. + type: object dockerImage: type: string enableConnectionPooler: type: boolean - enableReplicaConnectionPooler: - type: boolean enableLogicalBackup: type: boolean enableMasterLoadBalancer: type: boolean enableMasterPoolerLoadBalancer: type: boolean + enableReplicaConnectionPooler: + type: boolean enableReplicaLoadBalancer: type: boolean enableReplicaPoolerLoadBalancer: @@ -197,156 +183,155 @@ spec: enableShmVolume: type: boolean env: - type: array - nullable: true items: type: object x-kubernetes-preserve-unknown-fields: true - init_containers: - type: array - description: deprecated nullable: true - items: - type: object - x-kubernetes-preserve-unknown-fields: true + type: array initContainers: - type: array - nullable: true items: type: object x-kubernetes-preserve-unknown-fields: true + nullable: true + type: array + init_containers: + description: deprecated + items: + type: object + x-kubernetes-preserve-unknown-fields: true + nullable: true + type: array logicalBackupRetention: type: string logicalBackupSchedule: - type: string pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$' + type: string maintenanceWindows: - type: array items: - type: string pattern: '^\ *((Mon|Tue|Wed|Thu|Fri|Sat|Sun):(2[0-3]|[01]?\d):([0-5]?\d)|(2[0-3]|[01]?\d):([0-5]?\d))-((2[0-3]|[01]?\d):([0-5]?\d)|(2[0-3]|[01]?\d):([0-5]?\d))\ *$' + type: string + type: array masterServiceAnnotations: - type: object additionalProperties: type: string - nodeAffinity: type: object + nodeAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: - type: array items: - type: object + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + type: integer required: - preference - weight - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - required: - - key - - operator - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchFields: - type: array - items: - type: object - required: - - key - - operator - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer + type: object + type: array requiredDuringSchedulingIgnoredDuringExecution: - type: object - required: - - nodeSelectorTerms properties: nodeSelectorTerms: - type: array items: - type: object properties: matchExpressions: - type: array items: - type: object - required: - - key - - operator properties: key: type: string operator: type: string values: - type: array items: type: string + type: array + required: + - key + - operator + type: object + type: array matchFields: - type: array items: - type: object - required: - - key - - operator properties: key: type: string operator: type: string values: - type: array items: type: string - numberOfInstances: - type: integer - minimum: 0 - patroni: + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object type: object + numberOfInstances: + minimum: 0 + type: integer + patroni: properties: failsafe_mode: type: boolean initdb: - type: object additionalProperties: type: string + type: object loop_wait: type: integer maximum_lag_on_failover: type: integer pg_hba: - type: array items: type: string + type: array retry_timeout: type: integer slots: - type: object additionalProperties: - type: object additionalProperties: type: string + type: object + type: object synchronous_mode: type: boolean synchronous_mode_strict: @@ -355,69 +340,67 @@ spec: type: integer ttl: type: integer - podAnnotations: type: object + podAnnotations: additionalProperties: type: string - pod_priority_class_name: - type: string - description: deprecated + type: object podPriorityClassName: type: string + pod_priority_class_name: + description: deprecated + type: string postgresql: - type: object - required: - - version properties: - version: - type: string - enum: - - "13" - - "14" - - "15" - - "16" - - "17" parameters: - type: object additionalProperties: type: string - preparedDatabases: + type: object + version: + enum: + - "13" + - "14" + - "15" + - "16" + - "17" + type: string + required: + - version type: object + preparedDatabases: additionalProperties: - type: object properties: defaultUsers: type: boolean extensions: - type: object additionalProperties: type: string - schemas: type: object + schemas: additionalProperties: - type: object properties: - defaultUsers: - type: boolean defaultRoles: type: boolean + defaultUsers: + type: boolean + type: object + type: object secretNamespace: type: string - replicaLoadBalancer: - type: boolean - description: deprecated - replicaServiceAnnotations: + type: object type: object + replicaLoadBalancer: + description: deprecated + type: boolean + replicaServiceAnnotations: additionalProperties: type: string - resources: type: object + resources: properties: limits: - type: object properties: cpu: - type: string # Decimal natural followed by m, or decimal natural followed by # dot followed by up to three decimal digits. # @@ -431,8 +414,15 @@ spec: pattern: '^(\d+m|\d+(\.\d{1,3})?)$' # Note: the value specified here must not be zero or be lower # than the corresponding request. - memory: + type: string + hugepages-1Gi: + pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' + type: string + hugepages-2Mi: + pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' + type: string + memory: # You can express memory as a plain integer or as a fixed-point # integer using one of these suffixes: E, P, T, G, M, k. You can # also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki @@ -441,56 +431,44 @@ spec: pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' # Note: the value specified here must not be zero or be higher # than the corresponding limit. - hugepages-2Mi: + type: string - pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' - hugepages-1Gi: - type: string - pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' - requests: type: object + requests: properties: cpu: - type: string pattern: '^(\d+m|\d+(\.\d{1,3})?)$' - memory: type: string - pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' - hugepages-2Mi: - type: string - pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' hugepages-1Gi: - type: string pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' + type: string + hugepages-2Mi: + pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' + type: string + memory: + pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' + type: string + type: object + type: object schedulerName: type: string serviceAnnotations: - type: object additionalProperties: type: string + type: object sidecars: - type: array - nullable: true items: type: object x-kubernetes-preserve-unknown-fields: true - spiloRunAsUser: + nullable: true + type: array + spiloFSGroup: type: integer spiloRunAsGroup: type: integer - spiloFSGroup: + spiloRunAsUser: type: integer standby: - type: object - properties: - s3_wal_path: - type: string - gs_wal_path: - type: string - standby_host: - type: string - standby_port: - type: string oneOf: - required: - s3_wal_path @@ -498,39 +476,39 @@ spec: - gs_wal_path - required: - standby_host + properties: + gs_wal_path: + type: string + s3_wal_path: + type: string + standby_host: + type: string + standby_port: + type: string + type: object streams: - type: array items: - type: object - required: - - applicationId - - database - - tables properties: applicationId: type: string batchSize: type: integer cpu: - type: string pattern: '^(\d+m|\d+(\.\d{1,3})?)$' + type: string database: type: string enableRecovery: type: boolean filter: - type: object additionalProperties: type: string - memory: - type: string - pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' - tables: type: object + memory: + pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' + type: string + tables: additionalProperties: - type: object - required: - - eventType properties: eventType: type: string @@ -542,55 +520,61 @@ spec: type: string recoveryEventType: type: string + required: + - eventType + type: object + type: object + required: + - applicationId + - database + - tables + type: object + type: array teamId: type: string tls: - type: object - required: - - secretName properties: - secretName: + caFile: + type: string + caSecretName: type: string certificateFile: type: string privateKeyFile: type: string - caFile: - type: string - caSecretName: + secretName: type: string + required: + - secretName + type: object tolerations: - type: array items: - type: object properties: + effect: + enum: + - NoExecute + - NoSchedule + - PreferNoSchedule + type: string key: type: string operator: - type: string enum: - - Equal - - Exists - value: + - Equal + - Exists type: string - effect: - type: string - enum: - - NoExecute - - NoSchedule - - PreferNoSchedule tolerationSeconds: type: integer + value: + type: string + type: object + type: array useLoadBalancer: - type: boolean description: deprecated + type: boolean users: - type: object additionalProperties: - type: array - nullable: true items: - type: string enum: - bypassrls - BYPASSRLS @@ -620,68 +604,88 @@ spec: - SUPERUSER - nosuperuser - NOSUPERUSER - usersIgnoringSecretRotation: - type: array - nullable: true - items: - type: string - usersWithInPlaceSecretRotation: - type: array - nullable: true - items: - type: string - usersWithSecretRotation: - type: array - nullable: true - items: - type: string - volume: + type: string + nullable: true + type: array type: object - required: - - size + usersIgnoringSecretRotation: + items: + type: string + nullable: true + type: array + usersWithInPlaceSecretRotation: + items: + type: string + nullable: true + type: array + usersWithSecretRotation: + items: + type: string + nullable: true + type: array + volume: properties: - isSubPathExpr: - type: boolean iops: type: integer + isSubPathExpr: + type: boolean selector: - type: object properties: matchExpressions: - type: array items: - type: object - required: - - key - - operator properties: key: type: string operator: - type: string enum: - - DoesNotExist - - Exists - - In - - NotIn + - DoesNotExist + - Exists + - In + - NotIn + type: string values: - type: array items: type: string + type: array + required: + - key + - operator + type: object + type: array matchLabels: type: object x-kubernetes-preserve-unknown-fields: true + type: object size: - type: string pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' # Note: the value specified here must not be zero. + + type: string storageClass: type: string subPath: type: string throughput: type: integer - status: + required: + - size + type: object + required: + - numberOfInstances + - teamId + - postgresql + - volume type: object + status: additionalProperties: type: string + type: object + required: + - kind + - apiVersion + - spec + type: object + served: true + storage: true + subresources: + status: {}