Klio API reference v0.0.12

Packages

klio.enterprisedb.io/v1alpha1

Package v1alpha1 contains API Schema definitions for the klio v1alpha1 API group.

Resource Types

Cache

Cache defines the configuration for the cache directory.

Appears in:

FieldDescriptionRequiredDefaultValidation
pvcTemplate PersistentVolumeClaimSpecTrue

Data

Data defines the configuration for the data directory.

Appears in:

FieldDescriptionRequiredDefaultValidation
pvcTemplate PersistentVolumeClaimSpecTemplate to be used to generate the Persistent Volume Claim needed for the data folder,
containing base backups and WAL files.
True

ImageConfiguration

ImageConfiguration contains the information needed to download the Klio image.

Appears in:

FieldDescriptionRequiredDefaultValidation
image stringImage is the image to be used for the Klio serverTrue
imagePullPolicy PullPolicyImagePullPolicy defines the policy for pulling the imageIfNotPresentOptional: {}
imagePullSecrets LocalObjectReference arrayImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the
images
Optional: {}

PluginConfiguration

PluginConfiguration is the Schema for the client configuration API.

FieldDescriptionRequiredDefaultValidation
apiVersion stringklio.enterprisedb.io/v1alpha1True
kind stringPluginConfigurationTrue
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.True
spec PluginConfigurationSpecTrue
status PluginConfigurationStatusOptional: {}

PluginConfigurationSpec

PluginConfigurationSpec defines the desired state of client configuration.

Appears in:

FieldDescriptionRequiredDefaultValidation
serverAddress stringServerAddress is the address of the Klio serverTrueMinLength: 1
Required: {}
tier1 Tier1PluginConfigurationTier1 is the Tier 1 configurationOptional: {}
tier2 Tier2PluginConfigurationTier2 is the Tier 2 configurationOptional: {}
clientSecretName stringClientSecretName is the name of the secret containing the client credentialsTrueMinLength: 1
Required: {}
serverSecretName stringServerSecretName is the name of the secret containing the server TLS certificateTrueMinLength: 1
Required: {}
clusterName stringClusterName is the name of the PostgreSQL cluster we are connecting toOptional: {}
pprof booleanPprof enables the pprof endpoint for performance profilingOptional: {}
mode ServerModeMode selects the operation mode of the plugin.TruestandardEnum: [standard read-only]
containers Container arrayContainers allows defining a list of containers that will be merged with the Klio sidecar containers.
This enables users to customize the sidecars with additional environment variables, volume mounts,
resource limits, and other container settings without polluting the PostgreSQL container environment.
Merge behavior:
- Containers are matched by name (klio-plugin, klio-wal, klio-restore)
- User customizations serve as the base
- Klio required values (name, args, CONTAINER_NAME env var) always override user values
- User-defined environment variables and volume mounts are preserved
- Template defaults are applied only for fields not set by the user or Klio
MaxItems: 3
Optional: {}

PluginConfigurationStatus

PluginConfigurationStatus defines the observed state of ClientConfig.

Appears in:

Queue

Queue defines the configuration for the directory hosting the task queue.

Appears in:

FieldDescriptionRequiredDefaultValidation
pvcTemplate PersistentVolumeClaimSpecPersistentVolumeClaimTemplate is used to generate the configuration for
the PVC hosting the work queue.
True

RetentionPolicy

RetentionPolicy defines how many backups we should keep.

Appears in:

FieldDescriptionRequiredDefaultValidation
keepLatest integerKeepLatest is the number of latest backups to keep
optional
True
keepAnnual integerKeepAnnual is the number of annual backups to keep
optional
True
keepMonthly integerKeepMonthly is the number of monthly backups to keep
optional
True
keepWeekly integerKeepWeekly is the number of weekly backups to keep
optional
True
keepDaily integerKeepDaily is the number of daily backups to keep
optional
True
keepHourly integerKeepHourly is the number of hourly backups to keep
optional
True

S3Configuration

S3Configuration is the configuration to a S3 defined tier 2.

Appears in:

FieldDescriptionRequiredDefaultValidation
bucketName stringBucketName is the name of the bucketTrue
prefix stringPrefix is the prefix to be used for the stored filesOptional: {}
endpoint stringEndpoint is the endpoint to be usedOptional: {}
region stringRegion is the region to be usedOptional: {}
accessKeyId SecretKeySelectorThe S3 access key IDOptional: {}
secretAccessKey SecretKeySelectorThe S3 access keyOptional: {}
sessionToken SecretKeySelectorThe S3 session tokenOptional: {}
customCaBundle SecretKeySelectorA pointer to a custom CA bundleOptional: {}

Server

Server is the Schema for the servers API.

FieldDescriptionRequiredDefaultValidation
apiVersion stringklio.enterprisedb.io/v1alpha1True
kind stringServerTrue
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.True
spec ServerSpecTrue
status ServerStatusOptional: {}

ServerMode

Underlying type: string

ServerMode defines the operation mode of the Server.

Appears in:

FieldDescription
standardModeStandard corresponds to server with standard read/write permissions.
read-onlyModeReadOnly corresponds to a server with read-only permissions.

ServerSpec

ServerSpec defines the desired state of Server.

Appears in:

FieldDescriptionRequiredDefaultValidation
image stringImage is the image to be used for the Klio serverTrue
imagePullPolicy PullPolicyImagePullPolicy defines the policy for pulling the imageIfNotPresentOptional: {}
imagePullSecrets LocalObjectReference arrayImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the
images
Optional: {}
tlsSecretName stringTLSSecretName is the name of the Kubernetes secret containing the server-side certificate
to be used for the Klio server.
True
caSecretName stringClientCASecretName is the name of the Kubernetes secret containing the CA certificate
to be used by the Klio server to validate the users.
True
mode ServerModeMode selects the operation mode of the server.TruestandardEnum: [standard read-only]
tier1 Tier1ConfigurationTier1 is the Tier 1 configurationTrue
tier2 Tier2ConfigurationTier2 is the Tier 2 configurationTrue
queue QueueQueue is the configuration of the PVC that should host
the task queue.
Optional: {}
template PodTemplateSpecTemplate to override the default StatefulSet of the Klio server.
WARNING: Modifying this template may break the server functionality if not done carefully.
This field is primarily intended for advanced configuration such as telemetry setup.
Use at your own risk and ensure thorough testing before applying changes.
Optional: {}

ServerStatus

ServerStatus defines the observed state of Server.

Appears in:

TLSConfiguration

TLSConfiguration contains the information needed to configure the PKI infrastructure of the Klio server.

Appears in:

FieldDescriptionRequiredDefaultValidation
tlsSecretName stringTLSSecretName is the name of the Kubernetes secret containing the server-side certificate
to be used for the Klio server.
True
caSecretName stringClientCASecretName is the name of the Kubernetes secret containing the CA certificate
to be used by the Klio server to validate the users.
True

Tier1Configuration

Tier1Configuration is the tier 1 configuration.

Appears in:

FieldDescriptionRequiredDefaultValidation
cache CacheCache is the configuration of the PVC that should be
used for the cache
True
data DataData is the configuration of the PVC that should be used
for the base backups
True
encryptionKey SecretKeySelectorEncryptionKey is a reference to a secret containing the Klio passwordTrue

Tier1PluginConfiguration

Tier1PluginConfiguration configures tier1 backup and recovery settings.

Appears in:

FieldDescriptionRequiredDefaultValidation
retention RetentionPolicyRetentionPolicy defines how many backups we should keepOptional: {}

Tier2Configuration

Tier2Configuration is the tier 2 configuration.

Appears in:

FieldDescriptionRequiredDefaultValidation
cache CacheCache is the configuration of the PVC that should be
used for the cache
True
s3 S3ConfigurationS3 contains the configuration parameters for an S3-based tier 2True
encryptionKey SecretKeySelectorEncryptionKey is a reference to a secret containing the Klio passwordTrue

Tier2PluginConfiguration

Tier2PluginConfiguration configures tier2 backup and recovery settings.

Appears in:

FieldDescriptionRequiredDefaultValidation
enableBackup booleanEnableBackup controls whether WAL and base backups should be stored in tier2Optional: {}
enableRecovery booleanEnableRecovery controls whether tier2 should be included in the recovery source listOptional: {}
retention RetentionPolicyRetentionPolicy defines how many backups we should keepOptional: {}