Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( Command = &cli.Command{ Name: "cli", Description: "CLI commands that can be executed everywhere, currently just restore is supported", Subcommands: []*cli.Command{ { Name: "restore", Action: RunRestore, Flags: []cli.Flag{ &cli.StringFlag{ Destination: &restore.Cfg.Snapshot, Required: false, Name: "snapshot", Value: "latest", Usage: "Optional ; ID of the snapshot `kubectl get snapshots`, if left empty 'latest' will be used, set it via cli or via env: ", EnvVars: []string{ "SNAPSHOT", }, }, &cli.StringFlag{ Destination: &restore.Cfg.SecretRef, Required: true, Name: "secretRef", Usage: "Required ; Set secret name from which You want to take S3 credentials, via cli or via env: ", EnvVars: []string{ "SECRET_REF", }, }, &cli.StringFlag{ Destination: &restore.Cfg.S3Endpoint, Required: true, Name: "s3endpoint", Usage: "Required ; Set s3endpoint from which backup will be taken, via cli or via env: ", EnvVars: []string{ "S3ENDPOINT", }, }, &cli.StringFlag{ Destination: &restore.Cfg.S3Bucket, Required: true, Name: "s3bucket", Usage: "Required ; Set s3bucket from which backup will be taken, via cli or via env: ", EnvVars: []string{ "S3BUCKET", }, }, &cli.StringFlag{ Destination: &restore.Cfg.S3SecretRef, Required: true, Name: "s3secretRef", Usage: "Required ; Set secret name, where S3 username & password are stored from which backup will be taken, via cli or via env: ", EnvVars: []string{ "S3SECRETREF", }, }, &cli.StringFlag{ Destination: &restore.Cfg.RestoreMethod, Required: true, Name: "restoreMethod", Value: "pvc", Usage: "Required ; Set restore method [ pvc|s3 ], via cli or via env: ", Action: func(ctx *cli.Context, s string) error { if s != "pvc" && s != "s3" { return fmt.Errorf("--restoreMethod must be set to either 'pvc' or 's3'") } return nil }, EnvVars: []string{ "RESTOREMETHOD", }, }, &cli.StringFlag{ Destination: &restore.Cfg.SecretRefKey, Required: false, Name: "secretRefKey", Value: "password", Usage: "Optional ; Set key name, where restic password is stored, via cli or via env: ", EnvVars: []string{ "SECRETREFKEY", }, }, &cli.StringFlag{ Destination: &restore.Cfg.ClaimName, Required: false, Name: "claimName", Usage: "Required ; Set claimName field, via cli or via env: ", EnvVars: []string{ "CLAIMNAME", }, }, &cli.StringFlag{ Destination: &restore.Cfg.S3SecretRefUsernameKey, Required: false, Value: "username", Name: "S3SecretRefUsernameKey", Usage: "Optional ; Set S3SecretRefUsernameKey, key inside secret, under which S3 username is stored, via cli or via env: ", EnvVars: []string{ "S3SECRETREFUSERNAMEKEY", }, }, &cli.StringFlag{ Destination: &restore.Cfg.S3SecretRefPasswordKey, Required: false, Value: "password", Name: "S3SecretRefPasswordKey", Usage: "Optional ; Set S3SecretRefPasswordKey, key inside secret, under which Restic repo password is stored, via cli or via env: ", EnvVars: []string{ "S3SECRETREFPASSWORDKEY", }, }, &cli.StringFlag{ Destination: &restore.Cfg.RestoreName, Required: false, Name: "restoreName", Usage: "Optional ; Set restoreName - metadata.Name field, if empty, k8up will generate name, via cli or via env: ", EnvVars: []string{ "RESTORENAME", }, }, &cli.Int64Flag{ Destination: &restore.Cfg.RunAsUser, Required: false, Name: "runAsUser", Usage: "Optional ; Set user UID, via cli or via env: ", EnvVars: []string{ "RUNASUSER", }, }, &cli.StringFlag{ Destination: &restore.Cfg.RestoreToS3Endpoint, Required: false, Name: "restoreToS3Endpoint", Usage: "Optional ; Set restore endpoint, only when using s3 restore method, via cli or via env: ", EnvVars: []string{ "RESTORETOS3ENDPOINT", }, }, &cli.StringFlag{ Destination: &restore.Cfg.RestoreToS3Bucket, Required: false, Name: "restoreToS3Bucket", Usage: "Optional ; Set restore bucket, only when using s3 restore method, via cli or via env: ", EnvVars: []string{ "RESTORETOS3BUCKET", }, }, &cli.StringFlag{ Destination: &restore.Cfg.RestoreToS3Secret, Required: false, Name: "restoreToS3Secret", Usage: "Optional ; Set restore Secret, only when using s3 restore method, expecting secret name containing key value pair with 'username' and 'password' keys, via cli or via env: ", EnvVars: []string{ "RESTORETOS3SECRET", }, }, &cli.StringFlag{ Destination: &restore.Cfg.RestoreToS3SecretUsernameKey, Required: false, Value: "username", Name: "RestoreToS3SecretUsernameKey", Usage: "Optional ; Set RestoreToS3SecretUsernameKey, key inside secret, under which S3 username is stored, via cli or via env: ", EnvVars: []string{ "RESTORETOS3SECRETUSERNAMEKEY", }, }, &cli.StringFlag{ Destination: &restore.Cfg.RestoreToS3SecretPasswordKey, Required: false, Value: "password", Name: "RestoreToS3SecretPasswordKey", Usage: "Optional ; Set RestoreToS3SecretPasswordKey, key inside secret, under which Restic repo password is stored, via cli or via env: ", EnvVars: []string{ "RESTORETOS3SECRETPASSWORDKEY", }, }, &cli.StringFlag{ Destination: &restore.Cfg.Namespace, Required: false, Value: "default", Aliases: []string{"n"}, Name: "namespace", Usage: "Optional ; Set namespace in which You want to execute restore, via cli or via env: ", EnvVars: []string{ "NAMESPACE", }, }, &cli.StringFlag{ Destination: &restore.Cfg.Kubeconfig, Required: false, Value: "~/.kube/config", Name: "kubeconfig", Usage: "Optional ; Set kubeconfig to connect to cluster, via cli or via env:", EnvVars: []string{ "KUBECONFIG", }, }, }, }, }, } )
Functions ¶
func RunRestore ¶
func RunRestore(ctx *cli.Context) error
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.