snapshot

package
v0.29.2 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2025 License: Apache-2.0 Imports: 56 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RequestLabel = "vcluster.loft.sh/snapshot-request"
	RequestKey   = "snapshotRequest"
	OptionsKey   = "snapshotOptions"

	RequestPhaseInProgress RequestPhase = "InProgress"
	RequestPhaseCompleted  RequestPhase = "Completed"
	RequestPhaseFailed     RequestPhase = "Failed"
)
View Source
const (
	ControllerFinalizer = "vcluster.loft.sh/snapshot-controller"
)
View Source
const (
	// SnapshotReleaseKey stores info about the vCluster helm release
	SnapshotReleaseKey = "/vcluster/snapshot/release"
)

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)
)

Functions

func AddFlags added in v0.26.0

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

func CreateSnapshotOptionsSecret added in v0.29.0

func CreateSnapshotOptionsSecret(vClusterNamespace, vClusterName string, snapshotOptions *Options) (*corev1.Secret, error)

func CreateSnapshotRequestConfigMap added in v0.29.0

func CreateSnapshotRequestConfigMap(vClusterNamespace, vClusterName string, snapshotRequest *Request) (*corev1.ConfigMap, error)

func CreateStore

func CreateStore(ctx context.Context, options *Options) (types.Storage, 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 *Options) error

func Validate

func Validate(options *Options, isList bool) error

func ValidateConfigAndOptions added in v0.28.0

func ValidateConfigAndOptions(vConfig *config.VirtualClusterConfig, options *Options, isRestore, isList bool) error

Types

type Client added in v0.28.0

type Client struct {
	Options 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) ([]types.Snapshot, error)

func (*Client) Run added in v0.28.0

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

type HelmRelease

type HelmRelease struct {
	ReleaseName      string `json:"releaseName"`
	ReleaseNamespace string `json:"releaseNamespace"`

	ChartName    string `json:"chartName"`
	ChartVersion string `json:"chartVersion"`

	Values []byte `json:"values"`
}

type Options

type Options struct {
	Type string `json:"type,omitempty"`

	S3        s3.Options        `json:"s3"`
	Container container.Options `json:"container"`
	OCI       oci.Options       `json:"oci"`

	Release *HelmRelease `json:"release,omitempty"`
}

func ParseOptionsFromEnv added in v0.28.0

func ParseOptionsFromEnv() (*Options, error)

func UnmarshalSnapshotOptions added in v0.29.0

func UnmarshalSnapshotOptions(secret *corev1.Secret) (*Options, 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 Request added in v0.29.0

type Request struct {
	Name   string        `json:"name"`
	Spec   RequestSpec   `json:"spec"`
	Status RequestStatus `json:"status"`
}

func UnmarshalSnapshotRequest added in v0.29.0

func UnmarshalSnapshotRequest(configMap *corev1.ConfigMap) (*Request, error)

func (*Request) Done added in v0.29.0

func (r *Request) Done() bool

type RequestPhase added in v0.29.0

type RequestPhase string

type RequestSpec added in v0.29.0

type RequestSpec struct {
	Options Options `json:"-"`
}

type RequestStatus added in v0.29.0

type RequestStatus struct {
	Phase RequestPhase `json:"phase,omitempty"`
}

type RestoreClient added in v0.28.0

type RestoreClient struct {
	Snapshot Options

	NewVCluster bool
}

func (*RestoreClient) Run added in v0.28.0

func (o *RestoreClient) Run(ctx context.Context) (retErr error)

type VClusterConfig

type VClusterConfig struct {
	ChartVersion string `json:"chartVersion"`
	Values       string `json:"values"`
}

Directories

Path Synopsis
volumes

Jump to

Keyboard shortcuts

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