server

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var VeleroServerCommand = vServer.NewCommand(client.NewFactory("velero-server", client.VeleroConfig{})).Flags()

Functions

This section is empty.

Types

type Args

type Args struct {
	ServerConfig `json:",inline"`
	GlobalFlags  `json:",inline"`
}

VeleroServerArgs are the arguments that are passed to the Velero server +kubebuilder:object:generate=true

func (*Args) DeepCopy

func (in *Args) DeepCopy() *Args

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Args.

func (*Args) DeepCopyInto

func (in *Args) DeepCopyInto(out *Args)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Args) StringArr

func (a Args) StringArr(dpaFeatureFlags []string, logLevel string) ([]string, error)

StringArr returns the Velero server arguments as a string array dpaFeatureFlags are the feature flags that are defined in the DPA CR which will be merged with Args Most validations are done in the DPA CRD except float32 validation

type GlobalFlags

type GlobalFlags struct {
	client.VeleroConfig `json:",inline"`
	klog.LoggingT       `json:",inline"`
}

GlobalFlags are flags that are defined across Velero CLI commands +kubebuilder:object:generate=true

func (*GlobalFlags) DeepCopy

func (in *GlobalFlags) DeepCopy() *GlobalFlags

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalFlags.

func (*GlobalFlags) DeepCopyInto

func (in *GlobalFlags) DeepCopyInto(out *GlobalFlags)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerConfig

type ServerConfig struct {

	// The address to expose prometheus metrics
	// +optional
	MetricsAddress string `json:"metrics-address,omitempty"`

	// How often to ensure all Velero backups in object storage exist as Backup API objects in the cluster. This is the default sync period if none is explicitly specified for a backup storage location.
	// +optional
	BackupSyncPeriod *time.Duration `json:"backup-sync-period,omitempty"`
	// How long pod volume file system backups/restores should be allowed to run before timing out. (default 4h0m0s)
	// +optional
	PodVolumeOperationTimeout *time.Duration `json:"fs-backup-timeout,omitempty"`
	// How long to wait on persistent volumes and namespaces to terminate during a restore before timing out.
	// +optional
	ResourceTerminatingTimeout *time.Duration `json:"terminating-resource-timeout,omitempty"`
	// default 720h0m0s
	// +optional
	DefaultBackupTTL *time.Duration `json:"default-backup-ttl,omitempty"`
	// How often to verify if the storage is valid. Optional. Set this to `0s` to disable sync. Default 1 minute.
	// +optional
	StoreValidationFrequency *time.Duration `json:"store-validation-frequency,omitempty"`
	// Desired order of resource restores, the priority list contains two parts which are split by "-" element. The resources before "-" element are restored first as high priorities, the resources after "-" element are restored last as low priorities, and any resource not in the list will be restored alphabetically between the high and low priorities. (default customresourcedefinitions,namespaces,storageclasses,volumesnapshotbackups.datamover.oadp.openshift.io,volumesnapshotclass.snapshot.storage.k8s.io,volumesnapshotcontents.snapshot.storage.k8s.io,volumesnapshots.snapshot.storage.k8s.io,persistentvolumes,persistentvolumeclaims,serviceaccounts,secrets,configmaps,limitranges,pods,replicasets.apps,clusterclasses.cluster.x-k8s.io,services,-,clusterbootstraps.run.tanzu.vmware.com,clusters.cluster.x-k8s.io,clusterresourcesets.addons.cluster.x-k8s.io)
	// +optional
	RestoreResourcePriorities string `json:"restore-resource-priorities,omitempty"`

	// List of controllers to disable on startup. Valid values are backup,backup-operations,backup-deletion,backup-finalizer,backup-sync,download-request,gc,backup-repo,restore,restore-operations,schedule,server-status-request
	// +kubebuilder:validation:Enum=backup;backup-operations;backup-deletion;backup-finalizer;backup-sync;download-request;gc;backup-repo;restore;restore-operations;schedule;server-status-request
	// +optional
	DisabledControllers []string `json:"disabled-controllers,omitempty"`
	// Maximum number of requests per second by the server to the Kubernetes API once the burst limit has been reached.
	// this will be validated as a valid float32
	// +optional
	ClientQPS *string `json:"client-qps,omitempty"`
	// Maximum number of requests by the server to the Kubernetes API in a short period of time.
	// +optional
	ClientBurst *int `json:"client-burst,omitempty"`
	// Page size of requests by the server to the Kubernetes API when listing objects during a backup. Set to 0 to disable paging.
	// +optional
	ClientPageSize *int `json:"client-page-size,omitempty"`
	// The address to expose the pprof profiler.
	// +optional
	ProfilerAddress string `json:"profiler-address,omitempty"`
	// How often to check status on backup/restore operations after backup/restore processing.
	// +optional
	ItemOperationSyncFrequency *time.Duration `json:"item-operation-sync-frequency,omitempty"`
	// The format for log output. Valid values are text, json. (default text)
	// +kubebuilder:validation:Enum=text;json
	// +optional
	FormatFlag string `json:"log-format,omitempty"`
	// How often 'maintain' is run for backup repositories by default.
	// +optional
	RepoMaintenanceFrequency *time.Duration `json:"default-repo-maintain-frequency,omitempty"`
	// How long to wait by default before backups can be garbage collected. (default 720h0m0s)
	// +optional
	GarbageCollectionFrequency *time.Duration `json:"garbage-collection-frequency,omitempty"`
	// Backup all volumes with pod volume file system backup by default.
	// +optional
	DefaultVolumesToFsBackup *bool `json:"default-volumes-to-fs-backup,omitempty"`

	// How long to wait on asynchronous BackupItemActions and RestoreItemActions to complete before timing out. (default 1h0m0s)
	DefaultItemOperationTimeout *time.Duration `json:"default-item-operation-timeout,omitempty"`
	// How long to wait for resource processes which are not covered by other specific timeout parameters. Default is 10 minutes. (default 10m0s)
	ResourceTimeout *time.Duration `json:"resource-timeout,omitempty"`
	// Max concurrent connections number that Velero can create with kube-apiserver. Default is 30. (default 30)
	MaxConcurrentK8SConnections *int `json:"max-concurrent-k8s-connections,omitempty"`
}

ServerConfig holds almost all the configuration for the Velero server. https://github.com/openshift/velero/blob/dd02df5cd5751263fce6d1ebd48ea11423b0cd16/pkg/cmd/server/server.go#L112-L129 +kubebuilder:object:generate=true

func (*ServerConfig) DeepCopy

func (in *ServerConfig) DeepCopy() *ServerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerConfig.

func (*ServerConfig) DeepCopyInto

func (in *ServerConfig) DeepCopyInto(out *ServerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL