API Reference

This is a generated API documentation.

A more sophisticated documentation is available under doc.crds.dev/github.com/k8up-io/k8up.
Packages

k8up.io/v1

Archive

Archive is the Schema for the archives API

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

Archive

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ArchiveList

ArchiveList contains a list of Archive

Field Description

apiVersion string

k8up.io/v1

kind string

ArchiveList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items Archive array

ArchiveSchedule

ArchiveSchedule manages schedules for the archival service

Appears In:

ArchiveSpec

ArchiveSpec defines the desired state of Archive.

Appears In:

AzureSpec

Appears In:
Field Description

container string

path string

accountNameSecretRef SecretKeySelector

accountKeySecretRef SecretKeySelector

B2Spec

Appears In:
Field Description

bucket string

path string

accountIDSecretRef SecretKeySelector

accountKeySecretRef SecretKeySelector

Backend

Backend allows configuring several backend implementations. It is expected that users only configure one storage type.

Field Description

repoPasswordSecretRef SecretKeySelector

RepoPasswordSecretRef references a secret key to look up the restic repository password

envFrom EnvFromSource array

EnvFrom adds all environment variables from a an external source to the Restic job.

local LocalSpec

s3 S3Spec

gcs GCSSpec

azure AzureSpec

swift SwiftSpec

b2 B2Spec

tlsOptions TLSOptions

volumeMounts VolumeMount

Backup

Backup is the Schema for the backups API

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

Backup

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec BackupSpec

BackupList

BackupList contains a list of Backup

Field Description

apiVersion string

k8up.io/v1

kind string

BackupList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items Backup array

BackupSchedule

BackupSchedule manages schedules for the backup service

Appears In:
Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

promURL string

PromURL sets a prometheus push URL where the backup container send metrics to

statsURL string

StatsURL sets an arbitrary URL where the restic container posts metrics and information about the snapshots to. This is in addition to the prometheus pushgateway.

tags string array

Tags is a list of arbitrary tags that get added to the backup via Restic’s tagging system

BackupSpec

BackupSpec defines a single backup. It must contain all information to connect to the backup repository when applied. If used with defaults or schedules the operator will ensure that the defaults are applied before creating the object on the API.

Appears In:
Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

promURL string

PromURL sets a prometheus push URL where the backup container send metrics to

statsURL string

StatsURL sets an arbitrary URL where the restic container posts metrics and information about the snapshots to. This is in addition to the prometheus pushgateway.

tags string array

Tags is a list of arbitrary tags that get added to the backup via Restic’s tagging system

Check

Check is the Schema for the checks API

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

Check

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec CheckSpec

CheckList

CheckList contains a list of Check

Field Description

apiVersion string

k8up.io/v1

kind string

CheckList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items Check array

CheckSchedule

CheckSchedule manages the schedules for the checks

Appears In:
Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

promURL string

PromURL sets a prometheus push URL where the backup container send metrics to

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

CheckSpec

CheckSpec defines the desired state of Check. It needs to contain the repository information.

Appears In:
Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

promURL string

PromURL sets a prometheus push URL where the backup container send metrics to

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

EffectiveSchedule

Appears In:
Field Description

jobType JobType

generatedSchedule ScheduleDefinition

Env

Appears In:
Field Description

key string

value string

FolderRestore

Appears In:

GCSSpec

Appears In:
Field Description

bucket string

projectIDSecretRef SecretKeySelector

accessTokenSecretRef SecretKeySelector

JobObject (interface{GetActiveDeadlineSeconds() *int64; GetPodConfig(context.Context, sigs.k8s.io/controller-runtime/pkg/client.Client) (*PodConfig, error); GetPodSecurityContext() *k8s.io/api/core/v1.PodSecurityContext; GetResources() k8s.io/api/core/v1.ResourceRequirements; GetStatus() Status; GetType() JobType; SetStatus(s Status); sigs.k8s.io/controller-runtime/pkg/client.Object})

JobObject is an interface that must be implemented by all CRDs that implement a job.

Appears In:

JobType (string)

JobType defines what job type this is.

Appears In:

LocalSpec

Appears In:
Field Description

mountPath string

Pod

Pod is a dummy struct to fix some code generation issues.

Appears In:
Field Description

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec PodSpec

Specification of the desired behavior of the pod. More info: git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

PodConfig

PodConfig is the Schema for the PodConcig API Any annotations and labels set on this object will also be set on the final pod.

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

PodConfig

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

PodConfigList

SnapshotList contains a list of Snapshot

Field Description

apiVersion string

k8up.io/v1

kind string

PodConfigList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items PodConfig array

PodConfigSpec

PodConfigSpec contains the podTemplate definition.

Appears In:
Field Description

template PodTemplateSpec

PreBackupPod

PreBackupPod is the Schema for the prebackuppods API

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

PreBackupPod

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

PreBackupPodList

PreBackupPodList contains a list of PreBackupPod

Field Description

apiVersion string

k8up.io/v1

kind string

PreBackupPodList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items PreBackupPod array

PreBackupPodSpec

PreBackupPodSpec define pods that will be launched during the backup. After the backup has finished (successfully or not), they should be removed again automatically by the operator.

Appears In:
Field Description

backupCommand string

BackupCommand will be added to the backupcommand annotation on the pod.

fileExtension string

pod Pod

Prune

Prune is the Schema for the prunes API

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

Prune

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec PruneSpec

PruneList

PruneList contains a list of Prune

Field Description

apiVersion string

k8up.io/v1

kind string

PruneList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items Prune array

PruneSchedule

PruneSchedule manages the schedules for the prunes

Appears In:
Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

retention RetentionPolicy

Retention sets how many backups should be kept after a forget and prune

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

PruneSpec

PruneSpec needs to contain the repository information as well as the desired retention policies.

Appears In:
Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

retention RetentionPolicy

Retention sets how many backups should be kept after a forget and prune

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

RestServerSpec

Appears In:
Field Description

url string

userSecretRef SecretKeySelector

passwordSecretReg SecretKeySelector

Restore

Restore is the Schema for the restores API

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

Restore

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

RestoreList

RestoreList contains a list of Restore

Field Description

apiVersion string

k8up.io/v1

kind string

RestoreList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items Restore array

RestoreMethod

RestoreMethod contains how and where the restore should happen all the settings are mutual exclusive.

Field Description

s3 S3Spec

folder FolderRestore

tlsOptions TLSOptions

volumeMounts VolumeMount

RestoreSchedule

RestoreSchedule manages schedules for the restore service

Appears In:
Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

restoreMethod RestoreMethod

restoreFilter string

snapshot string

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

tags string array

Tags is a list of arbitrary tags that get added to the backup via Restic’s tagging system

RestoreSpec

RestoreSpec can either contain an S3 restore point or a local one. For the local one you need to define an existing PVC.

Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

restoreMethod RestoreMethod

restoreFilter string

snapshot string

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

tags string array

Tags is a list of arbitrary tags that get added to the backup via Restic’s tagging system

RetentionPolicy

Appears In:
Field Description

keepLast integer

keepHourly integer

keepDaily integer

keepWeekly integer

keepMonthly integer

keepYearly integer

keepTags string array

tags string array

Tags is a filter on what tags the policy should be applied DO NOT CONFUSE THIS WITH KeepTags OR YOU’LL have a bad time

hostnames string array

Hostnames is a filter on what hostnames the policy should be applied

RunnableSpec

RunnableSpec defines the fields that are necessary on the specs of all actions that are translated to k8s jobs eventually.

Field Description

backend Backend

Backend contains the restic repo where the job should backup to.

Resources describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which this action shall be executed.

podConfigRef LocalObjectReference

PodConfigRef describes the pod spec with wich this action shall be executed. It takes precedence over the Resources or PodSecurityContext field. It does not allow changing the image or the command of the resulting pod. This is for advanced use-cases only. Please only set this if you know what you’re doing.

Volumes List of volumes that can be mounted by containers belonging to the pod.

activeDeadlineSeconds integer

ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. Value must be positive integer if given.

RunnableVolumeSpec

Field Description

name string

name of the volume. Must be a DNS_LABEL and unique within the pod. More info: kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

persistentVolumeClaim PersistentVolumeClaimVolumeSource

persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

secret represents a secret that should populate this volume. More info: kubernetes.io/docs/concepts/storage/volumes#secret

configMap represents a configMap that should populate this volume

S3Spec

Appears In:
Field Description

endpoint string

bucket string

accessKeyIDSecretRef SecretKeySelector

secretAccessKeySecretRef SecretKeySelector

Schedule

Schedule is the Schema for the schedules API

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

Schedule

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ScheduleCommon

ScheduleCommon contains fields every schedule needs

Field Description

concurrentRunsAllowed boolean

ScheduleDefinition (string)

ScheduleDefinition is the actual cron-type expression that defines the interval of the actions.

ScheduleList

ScheduleList contains a list of Schedule

Field Description

apiVersion string

k8up.io/v1

kind string

ScheduleList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items Schedule array

ScheduleSpec

ScheduleSpec defines the schedules for the various job types.

Appears In:
Field Description

restore RestoreSchedule

archive ArchiveSchedule

backend Backend

keepJobs integer

KeepJobs amount of jobs to keep for later analysis.

Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.

failedJobsHistoryLimit integer

FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. KeepJobs is used property is not specified.

successfulJobsHistoryLimit integer

SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. KeepJobs is used property is not specified.

resourceRequirementsTemplate ResourceRequirements

ResourceRequirementsTemplate describes the compute resource requirements (cpu, memory, etc.)

podSecurityContext PodSecurityContext

PodSecurityContext describes the security context with which actions (such as backups) shall be executed.

podConfigRef LocalObjectReference

PodConfigRef will apply the given template to all job definitions in this Schedule. It can be overriden for specific jobs if necessary.

Snapshot

Snapshot is the Schema for the snapshots API

Appears In:
Field Description

apiVersion string

k8up.io/v1

kind string

Snapshot

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

SnapshotList

SnapshotList contains a list of Snapshot

Field Description

apiVersion string

k8up.io/v1

kind string

SnapshotList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items Snapshot array

SnapshotSpec

SnapshotSpec contains all information needed about a restic snapshot so it can be restored.

Appears In:
Field Description

id string

date Time

paths string

repository string

SwiftSpec

Appears In:
Field Description

container string

path string

TLSOptions

Appears In:
Field Description

caCert string

clientCert string

clientKey string