--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.17.3 name: backups.postgresql.cnpg.io spec: group: postgresql.cnpg.io names: kind: Backup listKind: BackupList plural: backups singular: backup scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date - jsonPath: .spec.cluster.name name: Cluster type: string - jsonPath: .spec.method name: Method type: string - jsonPath: .status.phase name: Phase type: string - jsonPath: .status.error name: Error type: string name: v1 schema: openAPIV3Schema: description: A Backup resource is a request for a PostgreSQL backup by the user. properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: |- Specification of the desired behavior of the backup. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: cluster: description: The cluster to backup properties: name: description: Name of the referent. type: string required: - name type: object method: default: barmanObjectStore description: |- The backup method to be used, possible options are `barmanObjectStore`, `volumeSnapshot` or `plugin`. Defaults to: `barmanObjectStore`. enum: - barmanObjectStore - volumeSnapshot - plugin type: string online: description: |- Whether the default type of backup with volume snapshots is online/hot (`true`, default) or offline/cold (`false`) Overrides the default setting specified in the cluster field '.spec.backup.volumeSnapshot.online' type: boolean onlineConfiguration: description: |- Configuration parameters to control the online/hot backup with volume snapshots Overrides the default settings specified in the cluster '.backup.volumeSnapshot.onlineConfiguration' stanza properties: immediateCheckpoint: description: |- Control whether the I/O workload for the backup initial checkpoint will be limited, according to the `checkpoint_completion_target` setting on the PostgreSQL server. If set to true, an immediate checkpoint will be used, meaning PostgreSQL will complete the checkpoint as soon as possible. `false` by default. type: boolean waitForArchive: default: true description: |- If false, the function will return immediately after the backup is completed, without waiting for WAL to be archived. This behavior is only useful with backup software that independently monitors WAL archiving. Otherwise, WAL required to make the backup consistent might be missing and make the backup useless. By default, or when this parameter is true, pg_backup_stop will wait for WAL to be archived when archiving is enabled. On a standby, this means that it will wait only when archive_mode = always. If write activity on the primary is low, it may be useful to run pg_switch_wal on the primary in order to trigger an immediate segment switch. type: boolean type: object pluginConfiguration: description: Configuration parameters passed to the plugin managing this backup properties: name: description: Name is the name of the plugin managing this backup type: string parameters: additionalProperties: type: string description: |- Parameters are the configuration parameters passed to the backup plugin for this backup type: object required: - name type: object target: description: |- The policy to decide which instance should perform this backup. If empty, it defaults to `cluster.spec.backup.target`. Available options are empty string, `primary` and `prefer-standby`. `primary` to have backups run always on primary instances, `prefer-standby` to have backups run preferably on the most updated standby, if available. enum: - primary - prefer-standby type: string required: - cluster type: object status: description: |- Most recently observed status of the backup. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: azureCredentials: description: The credentials to use to upload data to Azure Blob Storage properties: connectionString: description: The connection string to be used properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object inheritFromAzureAD: description: Use the Azure AD based authentication without providing explicitly the keys. type: boolean storageAccount: description: The storage account where to upload data properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object storageKey: description: |- The storage account key to be used in conjunction with the storage account name properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object storageSasToken: description: |- A shared-access-signature to be used in conjunction with the storage account name properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object type: object backupId: description: The ID of the Barman backup type: string backupLabelFile: description: Backup label file content as returned by Postgres in case of online (hot) backups format: byte type: string backupName: description: The Name of the Barman backup type: string beginLSN: description: The starting xlog type: string beginWal: description: The starting WAL type: string commandError: description: The backup command output in case of error type: string commandOutput: description: Unused. Retained for compatibility with old versions. type: string destinationPath: description: |- The path where to store the backup (i.e. s3://bucket/path/to/folder) this path, with different destination folders, will be used for WALs and for data. This may not be populated in case of errors. type: string encryption: description: Encryption method required to S3 API type: string endLSN: description: The ending xlog type: string endWal: description: The ending WAL type: string endpointCA: description: |- EndpointCA store the CA bundle of the barman endpoint. Useful when using self-signed certificates to avoid errors with certificate issuer and barman-cloud-wal-archive. properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object endpointURL: description: |- Endpoint to be used to upload data to the cloud, overriding the automatic endpoint discovery type: string error: description: The detected error type: string googleCredentials: description: The credentials to use to upload data to Google Cloud Storage properties: applicationCredentials: description: The secret containing the Google Cloud Storage JSON file with the credentials properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object gkeEnvironment: description: |- If set to true, will presume that it's running inside a GKE environment, default to false. type: boolean type: object instanceID: description: Information to identify the instance where the backup has been taken from properties: ContainerID: description: The container ID type: string podName: description: The pod name type: string type: object method: description: The backup method being used type: string online: description: Whether the backup was online/hot (`true`) or offline/cold (`false`) type: boolean phase: description: The last backup status type: string pluginMetadata: additionalProperties: type: string description: A map containing the plugin metadata type: object s3Credentials: description: The credentials to use to upload data to S3 properties: accessKeyId: description: The reference to the access key id properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object inheritFromIAMRole: description: Use the role based authentication without providing explicitly the keys. type: boolean region: description: The reference to the secret containing the region name properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object secretAccessKey: description: The reference to the secret access key properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object sessionToken: description: The references to the session key properties: key: description: The key to select type: string name: description: Name of the referent. type: string required: - key - name type: object type: object serverName: description: |- The server name on S3, the cluster name is used if this parameter is omitted type: string snapshotBackupStatus: description: Status of the volumeSnapshot backup properties: elements: description: The elements list, populated with the gathered volume snapshots items: description: BackupSnapshotElementStatus is a volume snapshot that is part of a volume snapshot method backup properties: name: description: Name is the snapshot resource name type: string tablespaceName: description: |- TablespaceName is the name of the snapshotted tablespace. Only set when type is PG_TABLESPACE type: string type: description: Type is tho role of the snapshot in the cluster, such as PG_DATA, PG_WAL and PG_TABLESPACE type: string required: - name - type type: object type: array type: object startedAt: description: When the backup was started format: date-time type: string stoppedAt: description: When the backup was terminated format: date-time type: string tablespaceMapFile: description: Tablespace map file content as returned by Postgres in case of online (hot) backups format: byte type: string type: object required: - metadata - spec type: object served: true storage: true subresources: status: {}