Kind: SGObjectStorage
listKind: SGObjectStorageList
plural: sgobjectstorages
singular: sgobjectstorage
shortNames sgobjs
The SGObjectStorage custom resource allows to configure where backups are going to be stored.
The object storage represents a persistence location.
Example:
apiVersion: stackgres.io/v1beta1
kind: SGObjectStorage
metadata:
name: objectstorage
spec:
type: s3Compatible
s3Compatible:
bucket: stackgres
region: k8s
enablePathStyleAddressing: true
endpoint: http://my-cluster-minio:9000
awsCredentials:
secretKeySelectors:
accessKeyId:
key: accesskey
name: my-cluster-minio
secretAccessKey:
key: secretkey
name: my-cluster-minio
See also Backup Storage section.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| apiVersion | ✓ | string | stackgres.io/v1beta1 | ||
| kind | ✓ | string | SGObjectStorage | ||
| metadata | ✓ | ✓ | object | Refer to the Kubernetes API documentation for the fields of the metadata field. |
|
| spec | ✓ | ✓ | object |
Object Storage configuration
|
Object Storage configuration
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| azureBlob | ✓ | object |
Azure Blob Storage configuration.
|
||
| encryption | ✓ | object |
Section to configure object storage encryption of stored files.
|
||
| gcs | ✓ | object |
Google Cloud Storage configuration.
|
||
| s3 | ✓ | object |
Amazon Web Services S3 configuration.
|
||
| s3Compatible | ✓ | object |
AWS S3-Compatible API configuration |
||
| type | ✓ | enum |
Determine the type of object storage used for storing the base backups and WAL segments.
Possible values:
* s3: Amazon Web Services S3 (Simple Storage Service).
* s3Compatible: non-AWS services that implement a compatibility API with AWS S3.
* gcs: Google Cloud Storage.
* azureBlob: Microsoft Azure Blob Storage.
Enum: s3, s3Compatible, gcs, azureBlob |
Azure Blob Storage configuration.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| azureCredentials | ✓ | ✓ | object |
The credentials to access Azure Blob Storage for writing and reading.
|
|
| bucket | ✓ | ✓ | string |
Azure Blob Storage bucket name.
|
The credentials to access Azure Blob Storage for writing and reading.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| secretKeySelectors | ✓ | object |
Kubernetes SecretKeySelector(s) to reference the Secret(s) that contain the information about the azureCredentials. . Note that you may use the same or different Secrets for the storageAccount and the accessKey. In the former case, the keys that identify each must be, obviously, different.
|
Kubernetes SecretKeySelector(s) to reference the Secret(s) that contain the information about the azureCredentials. . Note that you may use the same or different Secrets for the storageAccount and the accessKey. In the former case, the keys that identify each must be, obviously, different.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| accessKey | ✓ | ✓ | object |
The storage account access key.
|
|
| storageAccount | ✓ | ✓ | object |
The Storage Account that contains the Blob bucket to be used.
|
The storage account access key.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | string |
The key of the secret to select from. Must be a valid secret key.
|
|
| name | ✓ | ✓ | string |
Name of the referent. More information.
|
The Storage Account that contains the Blob bucket to be used.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | string |
The key of the secret to select from. Must be a valid secret key.
|
|
| name | ✓ | ✓ | string |
Name of the referent. More information.
|
Section to configure object storage encryption of stored files.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| method | ✓ | string |
Select the storage encryption method.
Possible options are:
When not set no encryption will be applied to stored files.
|
||
| openpgp | ✓ | object |
OpenPGP encryption configuration. |
||
| sodium | ✓ | object |
libsodium encryption configuration. |
OpenPGP encryption configuration.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | object |
To configure encryption and decryption with OpenPGP standard. You can join multiline
key using symbols into one line (mostly used in case of daemontools and envdir).
|
|
| keyPassphrase | ✓ | object |
If your private key is encrypted with a passphrase, you should set passphrase for decrypt.
|
To configure encryption and decryption with OpenPGP standard. You can join multiline
key using \n symbols into one line (mostly used in case of daemontools and envdir).
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | string |
The key of the secret to select from. Must be a valid secret key. |
||
| name | ✓ | string |
Name of the referent. More information. |
If your private key is encrypted with a passphrase, you should set passphrase for decrypt.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | string |
The key of the secret to select from. Must be a valid secret key. |
||
| name | ✓ | string |
Name of the referent. More information. |
libsodium encryption configuration.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | object |
To configure encryption and decryption with libsodium an algorithm that only requires
a secret key is used. libsodium keys are fixed-size keys of 32 bytes. For optimal
cryptographic security, it is recommened to use a random 32 byte key. To generate a
random key, you can something like openssl rand -hex 32 (set keyTransform to hex)
or openssl rand -base64 32 (set keyTransform to base64).
|
|
| keyTransform | ✓ | string |
The transform that will be applied to the key to get the required 32 byte key.
Supported transformations are base64, hex or none (default). The option
none exists for backwards compatbility, the user input will be converted to 32
byte either via truncation or by zero-padding.
Default: none |
To configure encryption and decryption with libsodium an algorithm that only requires
a secret key is used. libsodium keys are fixed-size keys of 32 bytes. For optimal
cryptographic security, it is recommened to use a random 32 byte key. To generate a
random key, you can something like openssl rand -hex 32 (set keyTransform to hex)
or openssl rand -base64 32 (set keyTransform to base64).
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | string |
The key of the secret to select from. Must be a valid secret key. |
||
| name | ✓ | string |
Name of the referent. More information. |
Google Cloud Storage configuration.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| bucket | ✓ | ✓ | string |
GCS bucket name.
|
|
| gcpCredentials | ✓ | ✓ | object |
The credentials to access GCS for writing and reading.
|
The credentials to access GCS for writing and reading.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| fetchCredentialsFromMetadataService | ✓ | boolean |
If true, the credentials will be fetched from the GCE/GKE metadata service and the field secretKeySelectors have to be set to null or omitted.
This is useful when running StackGres inside a GKE cluster using Workload Identity.
|
||
| secretKeySelectors | ✓ | object |
A Kubernetes SecretKeySelector to reference the Secrets that contain the information about the Service Account to access GCS.
|
A Kubernetes SecretKeySelector to reference the Secrets that contain the information about the Service Account to access GCS.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| serviceAccountJSON | ✓ | ✓ | object |
A service account key from GCP. In JSON format, as downloaded from the GCP Console.
|
A service account key from GCP. In JSON format, as downloaded from the GCP Console.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | string |
The key of the secret to select from. Must be a valid secret key.
|
|
| name | ✓ | ✓ | string |
Name of the referent. More information.
|
Amazon Web Services S3 configuration.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| awsCredentials | ✓ | ✓ | object |
The credentials to access AWS S3 for writing and reading.
|
|
| bucket | ✓ | ✓ | string |
AWS S3 bucket name.
|
|
| region | ✓ | string |
The AWS S3 region. The Region may be detected using s3:GetBucketLocation, but if you wish to avoid giving permissions to this API call or forbid it from the applicable IAM policy, you must then specify this property.
|
||
| storageClass | ✓ | string |
The Amazon S3 Storage Class to use 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.
|
The credentials to access AWS S3 for writing and reading.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| secretKeySelectors | ✓ | ✓ | object |
Kubernetes SecretKeySelector(s) to reference the Secrets that contain the information about the awsCredentials. Note that you may use the same or different Secrets for the accessKeyId and the secretAccessKey. In the former case, the keys that identify each must be, obviously, different.
|
Kubernetes SecretKeySelector(s) to reference the Secrets that contain the information about the awsCredentials. Note that you may use the same or different Secrets for the accessKeyId and the secretAccessKey. In the former case, the keys that identify each must be, obviously, different.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| accessKeyId | ✓ | ✓ | object |
AWS access key ID. For example, AKIAIOSFODNN7EXAMPLE.
|
|
| secretAccessKey | ✓ | ✓ | object |
AWS secret access key. For example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.
|
AWS access key ID. For example, AKIAIOSFODNN7EXAMPLE.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | string |
The key of the secret to select from. Must be a valid secret key.
|
|
| name | ✓ | ✓ | string |
Name of the referent. More information.
|
AWS secret access key. For example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | string |
The key of the secret to select from. Must be a valid secret key.
|
|
| name | ✓ | ✓ | string |
Name of the referent. More information.
|
AWS S3-Compatible API configuration
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| awsCredentials | ✓ | ✓ | object |
The credentials to access AWS S3 for writing and reading.
|
|
| bucket | ✓ | ✓ | string |
Bucket name.
|
|
| 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.
|
||
| endpoint | ✓ | string |
Overrides the default url to connect to an S3-compatible service.
For example: http://s3-like-service:9000.
|
||
| region | ✓ | string |
The AWS S3 region. The Region may be detected using s3:GetBucketLocation, but if you wish to avoid giving permissions to this API call or forbid it from the applicable IAM policy, you must then specify this property.
|
||
| storageClass | ✓ | string |
The Amazon S3 Storage Class to use 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.
|
The credentials to access AWS S3 for writing and reading.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| secretKeySelectors | ✓ | ✓ | object |
Kubernetes SecretKeySelector(s) to reference the Secret(s) that contain the information about the awsCredentials. Note that you may use the same or different Secrets for the accessKeyId and the secretAccessKey. In the former case, the keys that identify each must be, obviously, different.
|
Kubernetes SecretKeySelector(s) to reference the Secret(s) that contain the information about the awsCredentials. Note that you may use the same or different Secrets for the accessKeyId and the secretAccessKey. In the former case, the keys that identify each must be, obviously, different.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| accessKeyId | ✓ | ✓ | object |
AWS access key ID. For example, AKIAIOSFODNN7EXAMPLE.
|
|
| secretAccessKey | ✓ | ✓ | object |
AWS secret access key. For example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.
|
|
| caCertificate | ✓ | object |
CA Certificate file to be used when connecting to the S3 Compatible Service.
|
AWS access key ID. For example, AKIAIOSFODNN7EXAMPLE.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | string |
The key of the secret to select from. Must be a valid secret key.
|
|
| name | ✓ | ✓ | string |
Name of the referent. More information.
|
AWS secret access key. For example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | string |
The key of the secret to select from. Must be a valid secret key.
|
|
| name | ✓ | ✓ | string |
Name of the referent. More information.
|
CA Certificate file to be used when connecting to the S3 Compatible Service.
Property |
Required |
Updatable |
May Require Restart |
Type |
Description |
|---|---|---|---|---|---|
| key | ✓ | ✓ | string |
The key of the secret to select from. Must be a valid secret key.
|
|
| name | ✓ | ✓ | string |
Name of the referent. More information.
|