mirror of
https://github.com/offen/docker-volume-backup.git
synced 2024-11-14 02:25:49 +01:00
Frederik Ring
da8c63f755
* Retry on lock being unavailable * Refactor locking to return plain error * Collect LockedTime in stats * Add test case * Add documentation for LOCK_TIMEOUT * Log in case lock needs to be awaited * Release resources created for awaiting lock
46 lines
2.6 KiB
Go
46 lines
2.6 KiB
Go
// Copyright 2022 - Offen Authors <hioffen@posteo.de>
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package main
|
|
|
|
import "time"
|
|
|
|
// Config holds all configuration values that are expected to be set
|
|
// by users.
|
|
type Config struct {
|
|
BackupSources string `split_words:"true" default:"/backup"`
|
|
BackupFilename string `split_words:"true" default:"backup-%Y-%m-%dT%H-%M-%S.tar.gz"`
|
|
BackupFilenameExpand bool `split_words:"true"`
|
|
BackupLatestSymlink string `split_words:"true"`
|
|
BackupArchive string `split_words:"true" default:"/archive"`
|
|
BackupRetentionDays int32 `split_words:"true" default:"-1"`
|
|
BackupPruningLeeway time.Duration `split_words:"true" default:"1m"`
|
|
BackupPruningPrefix string `split_words:"true"`
|
|
BackupStopContainerLabel string `split_words:"true" default:"true"`
|
|
BackupFromSnapshot bool `split_words:"true"`
|
|
AwsS3BucketName string `split_words:"true"`
|
|
AwsS3Path string `split_words:"true"`
|
|
AwsEndpoint string `split_words:"true" default:"s3.amazonaws.com"`
|
|
AwsEndpointProto string `split_words:"true" default:"https"`
|
|
AwsEndpointInsecure bool `split_words:"true"`
|
|
AwsAccessKeyID string `envconfig:"AWS_ACCESS_KEY_ID"`
|
|
AwsSecretAccessKey string `split_words:"true"`
|
|
AwsIamRoleEndpoint string `split_words:"true"`
|
|
GpgPassphrase string `split_words:"true"`
|
|
NotificationURLs []string `envconfig:"NOTIFICATION_URLS"`
|
|
NotificationLevel string `split_words:"true" default:"error"`
|
|
EmailNotificationRecipient string `split_words:"true"`
|
|
EmailNotificationSender string `split_words:"true" default:"noreply@nohost"`
|
|
EmailSMTPHost string `envconfig:"EMAIL_SMTP_HOST"`
|
|
EmailSMTPPort int `envconfig:"EMAIL_SMTP_PORT" default:"587"`
|
|
EmailSMTPUsername string `envconfig:"EMAIL_SMTP_USERNAME"`
|
|
EmailSMTPPassword string `envconfig:"EMAIL_SMTP_PASSWORD"`
|
|
WebdavUrl string `split_words:"true"`
|
|
WebdavPath string `split_words:"true" default:"/"`
|
|
WebdavUsername string `split_words:"true"`
|
|
WebdavPassword string `split_words:"true"`
|
|
ExecLabel string `split_words:"true"`
|
|
ExecForwardOutput bool `split_words:"true"`
|
|
LockTimeout time.Duration `split_words:"true" default:"60m"`
|
|
}
|