Skip to content

Velero Config Schema

Note

This is auto-generated documentation from a JSON schema that is under construction, this will improve over time.

Return to the root config schema

https://raw.githubusercontent.com/elastisys/compliantkubernetes-apps/main/config/schemas/config.yaml#/properties/velero

Configure Velero, the backup and snapshot tool for Kubernetes resources and volumes.

This requires that objectStorage is configured, and will use the bucket or container set in objectStorage.buckets.velero.

Abstract Extensible Status Identifiable Custom Properties Additional Properties Access Restrictions Defined In
Can be instantiated No Unknown status No Forbidden Forbidden none config/schemas/config.yaml*

TYPE:

object (Velero Config)

PROPERTIES:

Property Type Required Nullable Defined by
enabled boolean Optional cannot be null Welkin Apps Config
uploaderType string Optional cannot be null Welkin Apps Config
useVolumeSnapshots boolean Optional cannot be null Welkin Apps Config
schedule string Optional cannot be null Welkin Apps Config
retentionPeriod string Optional cannot be null Welkin Apps Config
excludedNamespaces array Optional cannot be null Welkin Apps Config
excludedExtraNamespaces array Optional cannot be null Welkin Apps Config
storagePrefix string Optional cannot be null Welkin Apps Config
nodeAgent object Optional cannot be null Welkin Apps Config
resources object Optional cannot be null Welkin Apps Config
tolerations array Optional cannot be null Welkin Apps Config
nodeSelector object Optional cannot be null Welkin Apps Config

enabled

enabled

TYPE:

boolean (Velero Enabled)

DEFAULTS:

The default value is:

true

uploaderType

uploaderType

TYPE:

string (Velero Uploader Type)

CONSTRAINTS:

enum: the value of this property must be equal to one of the following values:

Value Explanation
"kopia"
"restic"

useVolumeSnapshots

useVolumeSnapshots

TYPE:

boolean (Velero Use Volume Snapshots)

schedule

Schedule for Velero backup schedule "velero-daily-backup" Uses the Cron format, see https://en.wikipedia.org/wiki/Cron.

schedule

TYPE:

string (Velero Backup Schedule)

CONSTRAINTS:

pattern: the string must match the following regular expression:

^(((\*\/)?([0-5]?[0-9])((\,|\-|\/)([0-5]?[0-9]))*|\*)[^\S\r\n]+((\*\/)?((2[0-3]|1[0-9]|[0-9]|00))((\,|\-|\/)(2[0-3]|1[0-9]|[0-9]|00))*|\*)[^\S\r\n]+((\*\/)?([1-9]|[12][0-9]|3[01])((\,|\-|\/)([1-9]|[12][0-9]|3[01]))*|\*)[^\S\r\n]+((\*\/)?([1-9]|1[0-2])((\,|\-|\/)([1-9]|1[0-2]))*|\*|(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec))[^\S\r\n]+((\*\/)?[0-6]((\,|\-|\/)[0-6])*|\*|00|(sun|mon|tue|wed|thu|fri|sat)))$|^@(annually|yearly|monthly|weekly|daily|hourly|reboot)$

try pattern

DEFAULTS:

The default value is:

"0 0 * * *"

retentionPeriod

A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "-1.5h" or "2h45m".

Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".

retentionPeriod

TYPE:

string (Duration String)

CONSTRAINTS:

pattern: the string must match the following regular expression:

^([-+]?[0-9]+(.[0-9]+)?(ns|us|µs|ms|s|m|h))+$

try pattern

DEFAULTS:

The default value is:

"720h0m0s"

EXAMPLES:

2h45m0s

excludedNamespaces

Configure system namespaces to exclude from backups.

excludedNamespaces

TYPE:

string[] (Namespace)

excludedExtraNamespaces

Configure dynamic namespaces to exclude from backups, prefer this for overrides over excludedNamespaces.

excludedExtraNamespaces

TYPE:

string[] (Namespace)

storagePrefix

Configure unique storage prefix for this cluster when storing backups and snapshots in object storage.

When multiple workload clusters share the same bucket or container ensure that they use separate storage prefixes.

storagePrefix

TYPE:

string (Velero Storage Prefix)

EXAMPLES:

service-cluster
workload-cluster

nodeAgent

Configure the node agent of Velero, used to take snapshots of volumes.

nodeAgent

TYPE:

object (Velero Node Agent)

resources

Resource requests are used by the kube-scheduler to pick a node to schedule pods on.

Limits are enforced. Resources are commonly 'cpu' and 'memory'.

resources

TYPE:

object (Kubernetes Resource Requirements)

EXAMPLES:

requests:
  memory: 128Mi
  cpu: 100m
limits:
  memory: 256Mi
  cpu: 250m

tolerations

Kubernetes Tolerations

Kubernetes taint and toleration

tolerations

TYPE:

an array of merged types (Details)

nodeSelector

Kubernetes node selector

Kubernetes assign pod node

nodeSelector

TYPE:

object (Kubernetes Node Selector)

EXAMPLES:

kubernetes.io/os: linux

Return to the root config schema


Generated Thu Dec 19 03:51:01 UTC 2024 from elastisys/compliantkubernetes-apps@main