snapshot

package
v0.35.0 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2026 License: Apache-2.0 Imports: 76 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UnknownSnapshotKind  SnapshotKind = "Unknown"
	EtcdSnapshotKind     SnapshotKind = "EtcdSnapshot"
	KeyValueSnapshotKind SnapshotKind = "KeyValueSnapshot"

	RequestStoreKey  = "/vcluster/snapshot/request"
	DBStoreKey       = "/vcluster/snapshot/db"
	SkipKeysStoreKey = "/vcluster/snapshot/skipkeys"
)
View Source
const (
	RestoreRequestKey                                     = "restoreRequest"
	RequestPhaseRestoringVolumes snapshotapi.RequestPhase = "RestoringVolumes"
)
View Source
const (
	ControllerFinalizer = "vcluster.loft.sh/snapshot-controller"
)
View Source
const (
	RestoreControllerFinalizer = "vcluster.loft.sh/restore-controller"
)

Variables

View Source
var (

	// bump revision to make sure we invalidate caches. See https://github.com/kubernetes/kubernetes/issues/118501 for more details
	BumpRevision = int64(1000)
)
View Source
var (
	ErrSnapshotRequestNotFound = errors.New("snapshot request not found")
)

Functions

func AddFlags added in v0.26.0

func AddFlags(flags *pflag.FlagSet, options *snapshotapi.Options)

func CreateRestoreRequestConfigMap added in v0.30.0

func CreateRestoreRequestConfigMap(vClusterNamespace, vClusterName string, restoreRequest RestoreRequest) (*corev1.ConfigMap, error)

func CreateSnapshotRequestResources added in v0.30.0

func CreateSnapshotRequestResources(ctx context.Context, vClusterNamespace, vClusterName string, vConfig *config.VirtualClusterConfig, options *snapshotapi.Options, kubeClient *kubernetes.Clientset) (*snapshotapi.Request, error)

CreateSnapshotRequestResources creates snapshot request ConfigMap and Secret in the cluster. It returns the created snapshot request.

func CreateStore

func CreateStore(ctx context.Context, options *snapshotapi.Options) (types.Storage, error)

func DeleteSnapshotRequestResources added in v0.30.0

func DeleteSnapshotRequestResources(ctx context.Context, vClusterNamespace, vClusterName string, vConfig *config.VirtualClusterConfig, options *snapshotapi.Options, kubeClient *kubernetes.Clientset) error

func GetSnapshots added in v0.30.0

func GetSnapshots(ctx context.Context, vClusterNamespace string, snapshotOpts *snapshotapi.Options, kubeClient *kubernetes.Clientset, log log.Logger) error

func IsSnapshotRequestCreatedInHostCluster added in v0.29.0

func IsSnapshotRequestCreatedInHostCluster(config *config.VirtualClusterConfig) (bool, error)

IsSnapshotRequestCreatedInHostCluster checks if the snapshot request resources are created in the host cluster.

func Parse

func Parse(snapshotURL string, snapshotOptions *snapshotapi.Options) error

func ParseOptionsFromEnv added in v0.28.0

func ParseOptionsFromEnv() (*snapshotapi.Options, error)

func SetURLAndFillCredentials added in v0.35.0

func SetURLAndFillCredentials(ctx context.Context, snapshotOptions *snapshotapi.Options, url string, credentialsRequiredInCluster bool) error

func Validate

func Validate(options *snapshotapi.Options, isList bool) error

Types

type Client added in v0.28.0

type Client struct {
	Request *snapshotapi.Request
	Options snapshotapi.Options
	// contains filtered or unexported fields
}

func (*Client) Delete added in v0.28.0

func (c *Client) Delete(ctx context.Context) error

func (*Client) List added in v0.28.0

func (c *Client) List(ctx context.Context) ([]snapshotapi.Snapshot, error)

func (*Client) Run added in v0.28.0

func (c *Client) Run(ctx context.Context, vConfig *config.VirtualClusterConfig) error

type Reconciler added in v0.29.0

type Reconciler struct {
	// contains filtered or unexported fields
}

func NewController added in v0.29.0

func NewController(registerContext *synccontext.RegisterContext) (*Reconciler, error)

func (*Reconciler) Reconcile added in v0.29.0

func (c *Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, retErr error)

func (*Reconciler) Register added in v0.29.0

func (c *Reconciler) Register() error

type RestoreClient added in v0.28.0

type RestoreClient struct {
	Snapshot       snapshotapi.Options
	RestoreVolumes bool

	NewVCluster bool
	// contains filtered or unexported fields
}

func NewRestoreClient added in v0.33.0

func NewRestoreClient(snapshotOptions snapshotapi.Options, restoreVolumes bool, newVCluster bool) *RestoreClient

func (*RestoreClient) GetSnapshotRequest added in v0.30.0

func (o *RestoreClient) GetSnapshotRequest(ctx context.Context) (*snapshotapi.Request, error)

func (*RestoreClient) Run added in v0.28.0

func (o *RestoreClient) Run(ctx context.Context, vConfig *config.VirtualClusterConfig) (retErr error)

type RestoreReconciler added in v0.30.0

type RestoreReconciler struct {
	// contains filtered or unexported fields
}

func NewRestoreController added in v0.30.0

func NewRestoreController(registerContext *synccontext.RegisterContext) (*RestoreReconciler, error)

func (*RestoreReconciler) Reconcile added in v0.30.0

func (c *RestoreReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, retErr error)

func (*RestoreReconciler) Register added in v0.30.0

func (c *RestoreReconciler) Register() error

type RestoreRequest added in v0.30.0

type RestoreRequest struct {
	snapshotapi.RequestMetadata `json:"metadata,omitempty"`
	Spec                        RestoreRequestSpec   `json:"spec,omitempty"`
	Status                      RestoreRequestStatus `json:"status,omitempty"`
}

RestoreRequest specifies vCluster restore request.

func NewRestoreRequest added in v0.30.0

func NewRestoreRequest(snapshotRequest snapshotapi.Request) (RestoreRequest, error)

func UnmarshalRestoreRequest added in v0.30.0

func UnmarshalRestoreRequest(configMap *corev1.ConfigMap) (*RestoreRequest, error)

func (*RestoreRequest) Done added in v0.30.0

func (r *RestoreRequest) Done() bool

func (*RestoreRequest) GetPhase added in v0.30.0

func (r *RestoreRequest) GetPhase() snapshotapi.RequestPhase

type RestoreRequestSpec added in v0.30.0

type RestoreRequestSpec struct {
	URL            string                     `json:"url,omitempty"`
	IncludeVolumes bool                       `json:"includeVolumes,omitempty"`
	VolumesRestore volumes.RestoreRequestSpec `json:"volumesRestore,omitempty"`
	Options        snapshotapi.Options        `json:"-"`
}

type RestoreRequestStatus added in v0.30.0

type RestoreRequestStatus struct {
	Phase          snapshotapi.RequestPhase     `json:"phase,omitempty"`
	VolumesRestore volumes.RestoreRequestStatus `json:"volumesRestore,omitempty"`
	Error          snapshotapi.SnapshotError    `json:"error,omitempty"`
}

type SnapshotKind added in v0.35.0

type SnapshotKind string

Directories

Path Synopsis
csi

Jump to

Keyboard shortcuts

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