SGObjectStorage


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
Description

Workaround for hugo bug not rendering first table row

apiVersion
string
stackgres.io/v1beta1
Constraints: required, immutable
kind
string
SGObjectStorage
Constraints: required, immutable
metadata
object
Refer to the Kubernetes API documentation for the fields of the metadata field.
Constraints: required, updatable
spec
object
Object Storage configuration

Constraints: required, updatable

SGObjectStorage.spec

↩ Parent

Object Storage configuration

Property
Description

Workaround for hugo bug not rendering first table row

azureBlob
object
Azure Blob Storage configuration.

Constraints: optional, updatable
encryption
object
Section to configure object storage encryption of stored files.

Constraints: optional, updatable
gcs
object
Google Cloud Storage configuration.

Constraints: optional, updatable
s3
object
Amazon Web Services S3 configuration.

Constraints: optional, updatable
s3Compatible
object
AWS S3-Compatible API configuration

Constraints: optional, updatable
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.

Constraints: optional, updatable
Enum: s3, s3Compatible, gcs, azureBlob

SGObjectStorage.spec.azureBlob

↩ Parent

Azure Blob Storage configuration.

Property
Description

Workaround for hugo bug not rendering first table row

azureCredentials
object
The credentials to access Azure Blob Storage for writing and reading.

Constraints: required, updatable
bucket
string
Azure Blob Storage bucket name.

Constraints: required, updatable

SGObjectStorage.spec.azureBlob.azureCredentials

↩ Parent

The credentials to access Azure Blob Storage for writing and reading.

Property
Description

Workaround for hugo bug not rendering first table row

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.

Constraints: optional, updatable
SGObjectStorage.spec.azureBlob.azureCredentials.secretKeySelectors

↩ Parent

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
Description

Workaround for hugo bug not rendering first table row

accessKey
object

Constraints: required, updatable
storageAccount
object
The Storage Account that contains the Blob bucket to be used.

Constraints: required, updatable
SGObjectStorage.spec.azureBlob.azureCredentials.secretKeySelectors.accessKey

↩ Parent

The storage account access key.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: required, updatable
name
string
Name of the referent. More information.

Constraints: required, updatable
SGObjectStorage.spec.azureBlob.azureCredentials.secretKeySelectors.storageAccount

↩ Parent

The Storage Account that contains the Blob bucket to be used.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: required, updatable
name
string
Name of the referent. More information.

Constraints: required, updatable

SGObjectStorage.spec.encryption

↩ Parent

Section to configure object storage encryption of stored files.

Property
Description

Workaround for hugo bug not rendering first table row

method
string
Select the storage encryption method.

Possible options are:

  • sodium: will use libsodium to encrypt the files stored.
  • openpgp: will use OpenPGP standard to encrypt the files stored.

When not set no encryption will be applied to stored files.


Constraints: optional, updatable
openpgp
object
OpenPGP encryption configuration.

Constraints: optional, updatable
sodium
object
libsodium encryption configuration.

Constraints: optional, updatable

SGObjectStorage.spec.encryption.openpgp

↩ Parent

OpenPGP encryption configuration.

Property
Description

Workaround for hugo bug not rendering first table row

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).

Constraints: required, updatable
keyPassphrase
object
If your private key is encrypted with a passphrase, you should set the passphrase for decryption.

Constraints: optional, updatable
SGObjectStorage.spec.encryption.openpgp.key

↩ Parent

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
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: optional, updatable
name
string
Name of the referent. More information.

Constraints: optional, updatable
SGObjectStorage.spec.encryption.openpgp.keyPassphrase

↩ Parent

If your private key is encrypted with a passphrase, you should set the passphrase for decryption.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: optional, updatable
name
string
Name of the referent. More information.

Constraints: optional, updatable

SGObjectStorage.spec.encryption.sodium

↩ Parent

libsodium encryption configuration.

Property
Description

Workaround for hugo bug not rendering first table row

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 recommended to use a random 32 byte key. To generate a random key, you can use something like openssl rand -hex 32 (set keyTransform to hex) or openssl rand -base64 32 (set keyTransform to base64).

Constraints: required, updatable
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 compatibility, the user input will be converted to 32 byte either via truncation or by zero-padding.

Constraints: optional, updatable
Default: none
SGObjectStorage.spec.encryption.sodium.key

↩ Parent

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 recommended to use a random 32 byte key. To generate a random key, you can use something like openssl rand -hex 32 (set keyTransform to hex) or openssl rand -base64 32 (set keyTransform to base64).

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: optional, updatable
name
string
Name of the referent. More information.

Constraints: optional, updatable

SGObjectStorage.spec.gcs

↩ Parent

Google Cloud Storage configuration.

Property
Description

Workaround for hugo bug not rendering first table row

bucket
string
GCS bucket name.

Constraints: required, updatable
gcpCredentials
object
The credentials to access GCS for writing and reading.

Constraints: required, updatable

SGObjectStorage.spec.gcs.gcpCredentials

↩ Parent

The credentials to access GCS for writing and reading.

Property
Description

Workaround for hugo bug not rendering first table row

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.


Constraints: optional, updatable
secretKeySelectors
object
A Kubernetes SecretKeySelector to reference the Secrets that contain the information about the Service Account to access GCS.

Constraints: optional, updatable
SGObjectStorage.spec.gcs.gcpCredentials.secretKeySelectors

↩ Parent

A Kubernetes SecretKeySelector to reference the Secrets that contain the information about the Service Account to access GCS.

Property
Description

Workaround for hugo bug not rendering first table row

serviceAccountJSON
object
A service account key from GCP. In JSON format, as downloaded from the GCP Console.

Constraints: required, updatable
SGObjectStorage.spec.gcs.gcpCredentials.secretKeySelectors.serviceAccountJSON

↩ Parent

A service account key from GCP. In JSON format, as downloaded from the GCP Console.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: required, updatable
name
string
Name of the referent. More information.

Constraints: required, updatable

SGObjectStorage.spec.s3

↩ Parent

Amazon Web Services S3 configuration.

Property
Description

Workaround for hugo bug not rendering first table row

awsCredentials
object
The credentials to access AWS S3 for writing and reading.

Constraints: required, updatable
bucket
string
AWS S3 bucket name.

Constraints: required, updatable
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.

Constraints: optional, updatable
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.

Constraints: optional, updatable

SGObjectStorage.spec.s3.awsCredentials

↩ Parent

The credentials to access AWS S3 for writing and reading.

Property
Description

Workaround for hugo bug not rendering first table row

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.

Constraints: optional, updatable
useIAMRole
boolean
When set to true the IAM role credentials will be used instead of the secret key selector.

Constraints: optional, updatable
Default: false
SGObjectStorage.spec.s3.awsCredentials.secretKeySelectors

↩ Parent

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
Description

Workaround for hugo bug not rendering first table row

accessKeyId
object
AWS access key ID. For example, AKIAIOSFODNN7EXAMPLE.

Constraints: required, updatable
secretAccessKey
object
AWS secret access key. For example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.

Constraints: required, updatable
SGObjectStorage.spec.s3.awsCredentials.secretKeySelectors.accessKeyId

↩ Parent

AWS access key ID. For example, AKIAIOSFODNN7EXAMPLE.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: required, updatable
name
string
Name of the referent. More information.

Constraints: required, updatable
SGObjectStorage.spec.s3.awsCredentials.secretKeySelectors.secretAccessKey

↩ Parent

AWS secret access key. For example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: required, updatable
name
string
Name of the referent. More information.

Constraints: required, updatable

SGObjectStorage.spec.s3Compatible

↩ Parent

AWS S3-Compatible API configuration

Property
Description

Workaround for hugo bug not rendering first table row

awsCredentials
object
The credentials to access AWS S3 for writing and reading.

Constraints: required, updatable
bucket
string
Bucket name.

Constraints: required, updatable
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.


Constraints: optional, updatable
endpoint
string
Overrides the default url to connect to an S3-compatible service. For example: http://s3-like-service:9000.

Constraints: optional, updatable
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.

Constraints: optional, updatable
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.

Constraints: optional, updatable

SGObjectStorage.spec.s3Compatible.awsCredentials

↩ Parent

The credentials to access AWS S3 for writing and reading.

Property
Description

Workaround for hugo bug not rendering first table row

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.

Constraints: required, updatable
SGObjectStorage.spec.s3Compatible.awsCredentials.secretKeySelectors

↩ Parent

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
Description

Workaround for hugo bug not rendering first table row

accessKeyId
object
AWS access key ID. For example, AKIAIOSFODNN7EXAMPLE.

Constraints: required, updatable
secretAccessKey
object
AWS secret access key. For example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.

Constraints: required, updatable
caCertificate
object
CA Certificate file to be used when connecting to the S3 Compatible Service.

Constraints: optional, updatable
SGObjectStorage.spec.s3Compatible.awsCredentials.secretKeySelectors.accessKeyId

↩ Parent

AWS access key ID. For example, AKIAIOSFODNN7EXAMPLE.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: required, updatable
name
string
Name of the referent. More information.

Constraints: required, updatable
SGObjectStorage.spec.s3Compatible.awsCredentials.secretKeySelectors.secretAccessKey

↩ Parent

AWS secret access key. For example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: required, updatable
name
string
Name of the referent. More information.

Constraints: required, updatable
SGObjectStorage.spec.s3Compatible.awsCredentials.secretKeySelectors.caCertificate

↩ Parent

CA Certificate file to be used when connecting to the S3 Compatible Service.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The key of the secret to select from. Must be a valid secret key.

Constraints: required, updatable
name
string
Name of the referent. More information.

Constraints: required, updatable