Archive
k8up.io / v1
apiVersion: k8up.io/v1
kind: Archive
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object
spec object
ArchiveSpec defines the desired state of Archive.
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.
format:
int64backend object
Backend contains the restic repo where the job should backup to.
azure object
accountKeySecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
accountNameSecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
container
string
path
string
b2 object
accountIDSecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
accountKeySecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
bucket
string
path
string
envFrom []object
EnvFrom adds all environment variables from a an external source to the Restic job.
configMapRef object
The ConfigMap to select from
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the ConfigMap must be defined
prefix
string
An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
secretRef object
The Secret to select from
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret must be defined
gcs object
accessTokenSecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
bucket
string
projectIDSecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
local object
mountPath
string
repoPasswordSecretRef object
RepoPasswordSecretRef references a secret key to look up the restic repository password
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
rest object
passwordSecretReg object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
url
string
userSecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
s3 object
accessKeyIDSecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
bucket
string
endpoint
string
secretAccessKeySecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
swift object
container
string
path
string
tlsOptions object
caCert
string
clientCert
string
clientKey
string
volumeMounts []object
mountPath
string required
Path within the container at which the volume should be mounted. Must
not contain ':'.
mountPropagation
string
mountPropagation determines how mounts are propagated from the host
to container and the other way around.
When not set, MountPropagationNone is used.
This field is beta in 1.10.
name
string required
This must match the Name of a Volume.
readOnly
boolean
Mounted read-only if true, read-write otherwise (false or unspecified).
Defaults to false.
subPath
string
Path within the volume from which the container's volume should be mounted.
Defaults to "" (volume's root).
subPathExpr
string
Expanded path within the volume from which the container's volume should be mounted.
Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
Defaults to "" (volume's root).
SubPathExpr and SubPath are mutually exclusive.
failedJobsHistoryLimit
integer
FailedJobsHistoryLimit amount of failed jobs to keep for later analysis.
KeepJobs is used property is not specified.
keepJobs
integer
KeepJobs amount of jobs to keep for later analysis.
Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively.
podConfigRef object
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.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
podSecurityContext object
PodSecurityContext describes the security context with which this action shall be executed.
fsGroup
integer
A special supplemental group that applies to all containers in a pod.
Some volume types allow the Kubelet to change the ownership of that volume
to be owned by the pod:
1. The owning GID will be the FSGroup
2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
3. The permission bits are OR'd with rw-rw----
If unset, the Kubelet will not modify the ownership and permissions of any volume.
Note that this field cannot be set when spec.os.name is windows.
format:
int64
fsGroupChangePolicy
string
fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
before being exposed inside Pod. This field will only apply to
volume types which support fsGroup based ownership(and permissions).
It will have no effect on ephemeral volume types such as: secret, configmaps
and emptydir.
Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
Note that this field cannot be set when spec.os.name is windows.
runAsGroup
integer
The GID to run the entrypoint of the container process.
Uses runtime default if unset.
May also be set in SecurityContext. If set in both SecurityContext and
PodSecurityContext, the value specified in SecurityContext takes precedence
for that container.
Note that this field cannot be set when spec.os.name is windows.
format:
int64
runAsNonRoot
boolean
Indicates that the container must run as a non-root user.
If true, the Kubelet will validate the image at runtime to ensure that it
does not run as UID 0 (root) and fail to start the container if it does.
If unset or false, no such validation will be performed.
May also be set in SecurityContext. If set in both SecurityContext and
PodSecurityContext, the value specified in SecurityContext takes precedence.
runAsUser
integer
The UID to run the entrypoint of the container process.
Defaults to user specified in image metadata if unspecified.
May also be set in SecurityContext. If set in both SecurityContext and
PodSecurityContext, the value specified in SecurityContext takes precedence
for that container.
Note that this field cannot be set when spec.os.name is windows.
format:
int64seLinuxOptions object
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
container. May also be set in SecurityContext. If set in
both SecurityContext and PodSecurityContext, the value specified in SecurityContext
takes precedence for that container.
Note that this field cannot be set when spec.os.name is windows.
level
string
Level is SELinux level label that applies to the container.
role
string
Role is a SELinux role label that applies to the container.
type
string
Type is a SELinux type label that applies to the container.
user
string
User is a SELinux user label that applies to the container.
seccompProfile object
The seccomp options to use by the containers in this pod.
Note that this field cannot be set when spec.os.name is windows.
localhostProfile
string
localhostProfile indicates a profile defined in a file on the node should be used.
The profile must be preconfigured on the node to work.
Must be a descending path, relative to the kubelet's configured seccomp profile location.
Must be set if type is "Localhost". Must NOT be set for any other type.
type
string required
type indicates which kind of seccomp profile will be applied.
Valid options are:
Localhost - a profile defined in a file on the node should be used.
RuntimeDefault - the container runtime default profile should be used.
Unconfined - no profile should be applied.
supplementalGroups
[]integer
A list of groups applied to the first process run in each container, in addition
to the container's primary GID, the fsGroup (if specified), and group memberships
defined in the container image for the uid of the container process. If unspecified,
no additional groups are added to any container. Note that group memberships
defined in the container image for the uid of the container process are still effective,
even if they are not included in this list.
Note that this field cannot be set when spec.os.name is windows.
sysctls []object
Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
sysctls (by the container runtime) might fail to launch.
Note that this field cannot be set when spec.os.name is windows.
name
string required
Name of a property to set
value
string required
Value of a property to set
windowsOptions object
The Windows specific settings applied to all containers.
If unspecified, the options within a container's SecurityContext will be used.
If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
Note that this field cannot be set when spec.os.name is linux.
gmsaCredentialSpec
string
GMSACredentialSpec is where the GMSA admission webhook
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
GMSA credential spec named by the GMSACredentialSpecName field.
gmsaCredentialSpecName
string
GMSACredentialSpecName is the name of the GMSA credential spec to use.
hostProcess
boolean
HostProcess determines if a container should be run as a 'Host Process' container.
All of a Pod's containers must have the same effective HostProcess value
(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
In addition, if HostProcess is true then HostNetwork must also be set to true.
runAsUserName
string
The UserName in Windows to run the entrypoint of the container process.
Defaults to the user specified in image metadata if unspecified.
May also be set in PodSecurityContext. If set in both SecurityContext and
PodSecurityContext, the value specified in SecurityContext takes precedence.
resources object
Resources describes the compute resource requirements (cpu, memory, etc.)
claims []object
Claims lists the names of resources, defined in spec.resourceClaims,
that are used by this container.
This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate.
This field is immutable. It can only be set for containers.
name
string required
Name must match the name of one entry in pod.spec.resourceClaims of
the Pod where this field is used. It makes that resource available
inside a container.
limits
object
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
requests
object
Requests describes the minimum amount of compute resources required.
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
otherwise to an implementation-defined value. Requests cannot exceed Limits.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
restoreFilter
string
restoreMethod object
RestoreMethod contains how and where the restore should happen
all the settings are mutual exclusive.
folder object
claimName
string required
claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly
boolean
readOnly Will force the ReadOnly setting in VolumeMounts.
Default false.
s3 object
accessKeyIDSecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
bucket
string
endpoint
string
secretAccessKeySecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
Specify whether the Secret or its key must be defined
tlsOptions object
caCert
string
clientCert
string
clientKey
string
volumeMounts []object
mountPath
string required
Path within the container at which the volume should be mounted. Must
not contain ':'.
mountPropagation
string
mountPropagation determines how mounts are propagated from the host
to container and the other way around.
When not set, MountPropagationNone is used.
This field is beta in 1.10.
name
string required
This must match the Name of a Volume.
readOnly
boolean
Mounted read-only if true, read-write otherwise (false or unspecified).
Defaults to false.
subPath
string
Path within the volume from which the container's volume should be mounted.
Defaults to "" (volume's root).
subPathExpr
string
Expanded path within the volume from which the container's volume should be mounted.
Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
Defaults to "" (volume's root).
SubPathExpr and SubPath are mutually exclusive.
snapshot
string
successfulJobsHistoryLimit
integer
SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis.
KeepJobs is used property is not specified.
tags
[]string
Tags is a list of arbitrary tags that get added to the backup via Restic's tagging system
volumes []object
Volumes List of volumes that can be mounted by containers belonging to the pod.
configMap object
configMap represents a configMap that should populate this volume
defaultMode
integer
defaultMode is optional: mode bits used to set permissions on created files by default.
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
Defaults to 0644.
Directories within the path are not affected by this setting.
This might be in conflict with other options that affect the file
mode, like fsGroup, and the result can be other mode bits set.
format:
int32items []object
items if unspecified, each key-value pair in the Data field of the referenced
ConfigMap will be projected into the volume as a file whose name is the
key and content is the value. If specified, the listed keys will be
projected into the specified paths, and unlisted keys will not be
present. If a key is specified which is not present in the ConfigMap,
the volume setup will error unless it is marked optional. Paths must be
relative and may not contain the '..' path or start with '..'.
key
string required
key is the key to project.
mode
integer
mode is Optional: mode bits used to set permissions on this file.
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
If not specified, the volume defaultMode will be used.
This might be in conflict with other options that affect the file
mode, like fsGroup, and the result can be other mode bits set.
format:
int32
path
string required
path is the relative path of the file to map the key to.
May not be an absolute path.
May not contain the path element '..'.
May not start with the string '..'.
name
string
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?
optional
boolean
optional specify whether the ConfigMap or its keys must be defined
name
string required
name of the volume.
Must be a DNS_LABEL and unique within the pod.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
persistentVolumeClaim object
persistentVolumeClaimVolumeSource represents a reference to a
PersistentVolumeClaim in the same namespace.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
claimName
string required
claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly
boolean
readOnly Will force the ReadOnly setting in VolumeMounts.
Default false.
secret object
secret represents a secret that should populate this volume.
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
defaultMode
integer
defaultMode is Optional: mode bits used to set permissions on created files by default.
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
YAML accepts both octal and decimal values, JSON requires decimal values
for mode bits. Defaults to 0644.
Directories within the path are not affected by this setting.
This might be in conflict with other options that affect the file
mode, like fsGroup, and the result can be other mode bits set.
format:
int32items []object
items If unspecified, each key-value pair in the Data field of the referenced
Secret will be projected into the volume as a file whose name is the
key and content is the value. If specified, the listed keys will be
projected into the specified paths, and unlisted keys will not be
present. If a key is specified which is not present in the Secret,
the volume setup will error unless it is marked optional. Paths must be
relative and may not contain the '..' path or start with '..'.
key
string required
key is the key to project.
mode
integer
mode is Optional: mode bits used to set permissions on this file.
Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
If not specified, the volume defaultMode will be used.
This might be in conflict with other options that affect the file
mode, like fsGroup, and the result can be other mode bits set.
format:
int32
path
string required
path is the relative path of the file to map the key to.
May not be an absolute path.
May not contain the path element '..'.
May not start with the string '..'.
optional
boolean
optional field specify whether the Secret or its keys must be defined
secretName
string
secretName is the name of the secret in the pod's namespace to use.
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
status object
Status defines the observed state of a generic K8up job. It is used for the
operator to determine what to do.
conditions []object
Conditions provide a standard mechanism for higher-level status reporting from a controller.
They are an extension mechanism which allows tools and other controllers to collect summary information about
resources without needing to understand resource-specific status details.
lastTransitionTime
string required
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format:
date-time
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
observedGeneration
integer
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format:
int64minimum:
0
reason
string required
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$maxLength:
316
exclusive
boolean
finished
boolean
started
boolean
No matches. Try .spec.activeDeadlineSeconds for an exact path