The backup CR represent a backup of the cluster. Backups are created automatically by the CronJob generated using the settings in backup configuration or manually by creating a backup CR.
Kind: SGBackup
listKind: SGBackupList
plural: sgbackups
singular: sgbackup
Spec
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| sgCluster | ✓ | string |
The name of the
SGCluster from which this backup is/will be taken. |
||
| managedLifecycle | ✓ | booolean | false |
Indicate if this backup is permanent and should not be removed by the automated retention policy.
|
Example:
apiVersion: stackgres.io/v1
kind: SGBackup
metadata:
name: backup
spec:
sgCluster: stackgres
managedLifecycle: true
status:
internalName: base_00000002000000000000000E
sgBackupConfig:
compression: lz4
storage:
s3Compatible:
awsCredentials:
secretKeySelectors:
accessKeyId:
key: accesskey
name: minio
secretAccessKey:
key: secretkey
name: minio
endpoint: http://minio:9000
enablePathStyleAddressing: true
bucket: stackgres
region: k8s
type: s3Compatible
process:
status: Completed
jobPod: backup-backup-q79zq
managedLifecycle: true
timing:
start: "2020-01-22T10:17:24.983902Z"
stored: "2020-01-22T10:17:27.183Z"
end: "2020-01-22T10:17:27.165204Z"
backupInformation:
hostname: stackgres-1
systemIdentifier: "6784708504968245298"
postgresVersion: "110006"
pgData: /var/lib/postgresql/data
size:
compressed: 6691164
uncompressed: 24037844
lsn:
start: "234881064"
end: "234881272"
startWalFile: 00000002000000000000000E
Status
| Property | Type | Description |
|---|---|---|
| internalName | string |
The name of the backup.
|
| process | object | |
| backupInformation | object | |
| sgBackupConfig | object |
The name of the backup configuration used to perform this backup.
|
| Property | Type | Description |
|---|---|---|
| status | string |
Status of the backup.
|
| jobPod | string |
Name of the pod assigned to the backup. StackGres utilizes internally a locking mechanism based on the pod name of the job that creates the backup.
|
| failure | string |
If the status is
failed this field will contain a message indicating the failure reason. |
| managedLifecycle | boolean |
Status (may be transient) until converging to
spec.managedLifecycle. |
| timing | object |
| Property | Type | Description |
|---|---|---|
| start | string |
Start time of backup.
|
| end | string |
End time of backup.
|
| stored | string |
Time at which the backup is safely stored in the object storage.
|
| Property | Type | Description |
|---|---|---|
| hostname (deprecated) | string |
Hostname of the instance where the backup is taken from.
|
| sourcePod | string |
Pod where the backup is taken from.
|
| systemIdentifier | string |
Postgres system identifier of the cluster this backup is taken from.
|
| postgresVersion | string |
Postgres version of the server where the backup is taken from.
|
| pgData | string |
Data directory where the backup is taken from.
|
| size | object | |
| lsn | object | |
| startWalFile | string |
WAL segment file name when the backup was started.
|
| controlData | object |
An object containing data from the output of pg_controldata on the backup.
|
| Property | Type | Description |
|---|---|---|
| compressed | integer |
Size (in bytes) of the compressed backup.
|
| uncompressed | integer |
Size (in bytes) of the uncompressed backup.
|
| Property | Type | Description |
|---|---|---|
| start | string |
LSN of when the backup started.
|
| end | string |
LSN of when the backup finished.
|
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| compression | ✓ | string | lz4 |
Select the backup compression algorithm. Possible options are: lz4, lzma, brotli. The default method is
lz4. LZ4 is the fastest method, but compression ratio is the worst. LZMA is way slower, but it compresses backups about 6 times better than LZ4. Brotli is a good trade-off between speed and compression ratio, being about 3 times better than LZ4. |
|
| storage | ✓ | object |
Backup storage configuration.
|
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| type | ✓ | ✓ | string |
Specifies the type of object storage used for storing the base backups and WAL segments. Possible values:
|
|
| s3 | if type = s3 | ✓ | object |
Amazon Web Services S3 configuration.
|
|
| s3Compatible | if type = s3Compatible | ✓ | object |
AWS S3-Compatible API configuration
|
|
| gcs | if type = gcs | ✓ | object |
Google Cloud Storage configuration.
|
|
| azureBlob | if type = azureblob | ✓ | object |
Azure Blob Storage configuration.
|
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| bucket | ✓ | ✓ | string |
AWS S3 bucket name.
|
|
| path | ✓ | string |
Optional path within the S3 bucket. Note that StackGres generates in any case a folder per
StackGres cluster, using the
SGCluster.metadata.name. |
||
| awsCredentials | ✓ | ✓ | object |
Credentials to access AWS S3 for writing and reading.
|
|
| region | ✓ | string |
AWS S3 region. The Region may be detected using s3:GetBucketLocation, but to avoid giving permissions to this API call or forbid it from the applicable IAM policy, this property must be explicitely specified.
|
||
| storageClass | ✓ | string |
Amazon S3 Storage Class used for the backup object storage. By default, the
STANDARD storage class is used. Other supported values include STANDARD_IA for Infrequent Access and REDUCED_REDUNDANCY. |
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| bucket | ✓ | ✓ | string |
Bucket name.
|
|
| path | ✓ | string |
Optional path within the S3 bucket. Note that StackGres generates in any case a folder per StackGres cluster, using the
SGCluster.metadata.name. |
||
| awsCredentials | ✓ | ✓ | object |
Credentials to access AWS S3 for writing and reading.
|
|
| region | ✓ | string |
AWS S3 region. The Region may be detected using s3:GetBucketLocation, but to avoid giving permissions to this API call or forbid it from the applicable IAM policy, this property must be explicitely specified.
|
||
| storageClass | ✓ | string |
Amazon S3 Storage Class used for the backup object storage. By default, the
STANDARD storage class is used. Other supported values include STANDARD_IA for Infrequent Access and REDUCED_REDUNDANCY. |
||
| endpoint | ✓ | string |
Overrides the default url to connect to an S3-compatible service.
For example:
http://s3-like-service:9000. |
||
| enablePathStyleAddressing | ✓ | boolean |
Enable path-style addressing (i.e.
http://s3.amazonaws.com/BUCKET/KEY) when connecting to an S3-compatible service that lacks support for sub-domain style bucket URLs (i.e. http://BUCKET.s3.amazonaws.com/KEY). Defaults to false. |
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| secretKeySelectors | ✓ | ✓ | object |
A Kubernetes SecretKeySelector to reference the Secrets that contain the information about the
awsCredentials. |
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| accessKeyId | ✓ | ✓ | object |
SecretKeySelector containing the AWS Access Key ID secret.
|
|
| secretAccessKey | ✓ | ✓ | object |
SecretKeySelector containing the AWS Secret Access Key secret.
|
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| bucket | ✓ | ✓ | string |
GCS bucket name.
|
|
| path | ✓ | string |
Optional path within the GCS bucket. Note that StackGres generates in any case a folder per StackGres cluster, using the
SGCluster.metadata.name. |
||
| gcpCredentials | ✓ | ✓ | object |
Credentials to access GCS for writing and reading.
|
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| secretKeySelectors | ✓ | ✓ | object |
A Kubernetes SecretKeySelector to reference the Secrets that contain the information about the Service Account to access GCS.
|
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| serviceAccountJSON | ✓ | ✓ | object |
A service account key from GCP. In JSON format, as downloaded from the GCP Console.
|
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| bucket | ✓ | ✓ | string |
Azure Blob Storage bucket name.
|
|
| path | ✓ | string |
Optional path within the Azure Blobk bucket. Note that StackGres generates in any case a folder per StackGres cluster, using the
SGCluster.metadata.name. |
||
| azureCredentials | ✓ | ✓ | object |
Credentials to access Azure Blob Storage for writing and reading.
|
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| secretKeySelectors | ✓ | ✓ | object |
Kubernetes SecretKeySelectors to reference the Secrets that contain the information about the
azureCredentials. |
| Property | Required | Updatable | Type | Default | Description |
|---|---|---|---|---|---|
| storageAccount | ✓ | ✓ | object |
SecretKeySelector containing the name of the storage account.
|
|
| accessKey | ✓ | ✓ | object |
SecretKeySelector containing the primary or secondary access key for the storage account.
|