Restic Configuration Reference
For users, k8up restic
can only be configured through the respective Custom Resources Schedule
, Backup
, Check
, Prune
, Archive
and Restore
and through the global properties of the k8up operator
.
The k8up restic module used to be a component called wrestic.
Their repositories were merged in 2021.
|
Arguments and Environment Variables
The required arguments depend on the actions that should be performed.
-
The environment variable
RESTIC_PASSWORD
must always be defined. It is not used byk8up restic
directly, but it is used when the actualrestic
binary is invoked. -
The argument
--resticRepository
must always be defined. -
If
--prune
is set, then all the--keepWithin*
arguments need to be valid and positive durations, see the respective Go documentation. -
If
--prune
is set, then all the other--keep*
arguments (except--keepTags
) need to be positive numbers (integers). -
If
--restore
is set, then--restoreType
must be defined as well. -
If
--restore
is set and--restoreType
is set tos3
, then all the--restoreS3*
arguments have to be defined as well.
See k8up restic --help
for all the options:
NAME:
k8up restic
USAGE:
k8up restic [command options] [arguments...]
DESCRIPTION:
Start k8up in restic mode
OPTIONS:
--check Set, if the container should do a check (default: false)
--prune Set, if the container should do a prune (default: false)
--restore Set, if the container should attempt a restore (default: false)
--archive Set, if the container should do an archive (default: false)
--tag value [ --tag value ] List of tags to consider for given operation
--backupCommandAnnotation value Defines the command to invoke when doing a backup via STDOUT. [$BACKUPCOMMAND_ANNOTATION]
--fileExtensionAnnotation value Defines the file extension to use for STDOUT backups. [$FILEEXTENSION_ANNOTATION]
--backucontainerannotation value set the annotation name that specify the backup container inside the Pod (default: "k8up.io/backupcommand-container") [$BACKUP_CONTAINERANNOTATION]
--skipPreBackup If the job should skip the backup command and only backup volumes. (default: false) [$SKIP_PREBACKUP]
--promURL value Sets the URL of a prometheus push gateway to report metrics. [$PROM_URL]
--webhookURL value, --statsURL value Sets the URL of a server which will retrieve a webhook after the action completes. [$STATS_URL]
--backupDir value Set from which directory the backup should be performed. (default: "/data") [$BACKUP_DIR]
--restoreDir value Set to which directory the restore should be performed. (default: "/data") [$RESTORE_DIR]
--restoreFilter value Simple filter to define what should get restored. For example the PVC name
--restoreSnap value Snapshot ID, if empty takes the latest snapshot
--restoreType value Type of this restore, 'folder' or 's3'
--restoreS3AccessKey value S3 access key used to connect to the S3 endpoint when restoring [$RESTORE_ACCESSKEYID]
--restoreS3SecretKey value S3 secret key used to connect to the S3 endpoint when restoring [$RESTORE_SECRETACCESSKEY]
--restoreS3Endpoint value S3 endpoint to connect to when restoring, e.g. 'https://minio.svc:9000/backup [$RESTORE_S3ENDPOINT]
--restoreCaCert value The certificate authority file path using for restore [$RESTORE_CA_CERT_FILE]
--restoreClientCert value The client certificate file path using for restore [$RESTORE_CLIENT_CERT_FILE]
--restoreClientKey value The client private key file path using for restore [$RESTORE_CLIENT_KEY_FILE]
--verifyRestore If the restore should get verified, only for PVCs restore (default: false)
--trimRestorePath If set, strips the value of --restoreDir from the lefts side of the remote restore path value (default: enabled) [$TRIM_RESTOREPATH]
--resticBin value The path to the restic binary. (default: "/usr/local/bin/restic") [$RESTIC_BINARY]
--resticRepository value The restic repository to perform the action with [$RESTIC_REPOSITORY]
--resticOptions value Additional options to pass to restic in the format 'key=value,key2=value2' [$RESTIC_OPTIONS]
--keepLatest value While pruning, keep at the latest snapshot (default: 0) [$KEEP_LAST, $KEEP_LATEST]
--keepHourly value While pruning, keep hourly snapshots (default: 0) [$KEEP_HOURLY]
--keepDaily value While pruning, keep daily snapshots (default: 0) [$KEEP_DAILY]
--keepWeekly value While pruning, keep weekly snapshots (default: 0) [$KEEP_WEEKLY]
--keepMonthly value While pruning, keep monthly snapshots (default: 0) [$KEEP_MONTHLY]
--keepYearly value While pruning, keep yearly snapshots (default: 0) [$KEEP_YEARLY]
--keepTags While pruning, keep tagged snapshots (default: false) [$KEEP_TAG, $KEEP_TAGS]
--keepWithinHourly value While pruning, keep hourly snapshots within the given duration, e.g. '2y5m7d3h' [$KEEP_WITHIN_HOURLY]
--keepWithinDaily value While pruning, keep daily snapshots within the given duration, e.g. '2y5m7d3h' [$KEEP_WITHIN_DAILY]
--keepWithinWeekly value While pruning, keep weekly snapshots within the given duration, e.g. '2y5m7d3h' [$KEEP_WITHIN_WEEKLY]
--keepWithinMonthly value While pruning, keep monthly snapshots within the given duration, e.g. '2y5m7d3h' [$KEEP_WITHIN_MONTHLY]
--keepWithinYearly value While pruning, keep yearly snapshots within the given duration, e.g. '2y5m7d3h' [$KEEP_WITHIN_YEARLY]
--keepWithin value While pruning, keep tagged snapshots within the given duration, e.g. '2y5m7d3h' [$KEEP_WITHIN]
--targetPods value [ --targetPods value ] Filter list of pods by TARGET_PODS names [$TARGET_PODS]
--sleepDuration value Sleep for specified amount until init starts (default: 0s) [$SLEEP_DURATION]
--varDir value The var directory is stored k8up metadata files and temporary files (default: "/k8up")
--caCert value The certificate authority file path [$CA_CERT_FILE]
--clientCert value The client certificate file path [$CLIENT_CERT_FILE]
--clientKey value The client private key file path [$CLIENT_KEY_FILE]
--help, -h show help (default: false)