v1alpha1

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains v1alpha1 admin resources.

+kubebuilder:object:generate=true +groupName=admin.spaces.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	Group   = "admin.spaces.upbound.io"
	Version = "v1alpha1"
)

Package type metadata.

View Source
const SpaceBackupScheduleLabelKey = "admin.spaces.upbound.io/spacebackupschedule"

SpaceBackupScheduleLabelKey is the label key used to identify SpaceBackups created by a SpaceBackupSchedule.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// SpaceBackupKind is the kind of a SpaceBackup.
	SpaceBackupKind = reflect.TypeOf(SpaceBackup{}).Name()
	// SpaceBackupListKind is the kind of a SpaceBackupList.
	SpaceBackupListKind = reflect.TypeOf(SpaceBackupList{}).Name()
)
View Source
var (
	// SpaceBackupConfigKind is the kind of a SpaceBackupConfig.
	SpaceBackupConfigKind = reflect.TypeOf(SpaceBackupConfig{}).Name()
)
View Source
var (
	// SpaceBackupScheduleKind is the kind of SpaceBackupSchedule.
	SpaceBackupScheduleKind = reflect.TypeOf(SpaceBackupSchedule{}).Name()
)

Functions

This section is empty.

Types

type GenericSpaceBackupResourceSelector

type GenericSpaceBackupResourceSelector struct {
	// APIGroup is the group of the resource.
	// +kubebuilder:validation:Required
	APIGroup string `json:"apiGroup,omitempty"`
	// Kind is the kind of the resource.
	// +kubebuilder:validation:Required
	Kind                            string `json:"kind,omitempty"`
	spacesv1alpha1.ResourceSelector `json:",inline"`
}

GenericSpaceBackupResourceSelector represents a generic resource selector.

func (*GenericSpaceBackupResourceSelector) DeepCopy

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

func (*GenericSpaceBackupResourceSelector) DeepCopyInto

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

type SpaceBackup

type SpaceBackup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SpaceBackupSpec   `json:"spec"`
	Status SpaceBackupStatus `json:"status,omitempty"`
}

SpaceBackup represents a backup of a Space.

func (*SpaceBackup) DeepCopy

func (in *SpaceBackup) DeepCopy() *SpaceBackup

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

func (*SpaceBackup) DeepCopyInto

func (in *SpaceBackup) DeepCopyInto(out *SpaceBackup)

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

func (*SpaceBackup) DeepCopyObject

func (in *SpaceBackup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SpaceBackupConfig

type SpaceBackupConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec SpaceBackupConfigSpec `json:"spec"`
}

SpaceBackupConfig defines the configuration to backup a Space.

func (*SpaceBackupConfig) DeepCopy

func (in *SpaceBackupConfig) DeepCopy() *SpaceBackupConfig

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

func (*SpaceBackupConfig) DeepCopyInto

func (in *SpaceBackupConfig) DeepCopyInto(out *SpaceBackupConfig)

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

func (*SpaceBackupConfig) DeepCopyObject

func (in *SpaceBackupConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SpaceBackupConfigList

type SpaceBackupConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SpaceBackupConfig `json:"items"`
}

SpaceBackupConfigList contains a list of SpaceBackupConfig.

func (*SpaceBackupConfigList) DeepCopy

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

func (*SpaceBackupConfigList) DeepCopyInto

func (in *SpaceBackupConfigList) DeepCopyInto(out *SpaceBackupConfigList)

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

func (*SpaceBackupConfigList) DeepCopyObject

func (in *SpaceBackupConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SpaceBackupConfigSpec

type SpaceBackupConfigSpec struct {
	// ObjectStorage specifies the object storage configuration for the given provider.
	// +kubebuilder:validation:Required
	ObjectStorage SpaceBackupObjectStorage `json:"objectStorage"`
}

A SpaceBackupConfigSpec represents the configuration to backup or restore a Space.

func (*SpaceBackupConfigSpec) DeepCopy

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

func (*SpaceBackupConfigSpec) DeepCopyInto

func (in *SpaceBackupConfigSpec) DeepCopyInto(out *SpaceBackupConfigSpec)

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

type SpaceBackupCredentials

type SpaceBackupCredentials struct {
	// Source of the credentials.
	// Source "Secret" requires "get" permissions on the referenced Secret.
	// +kubebuilder:validation:Enum=Secret;InjectedIdentity
	// +kubebuilder:validation:Required
	Source xpv1.CredentialsSource `json:"source"`

	// CommonCredentialSelectors provides common selectors for extracting
	// credentials.
	xpv1.CommonCredentialSelectors `json:",inline"`
}

SpaceBackupCredentials specifies the credentials to access the object storage.

func (*SpaceBackupCredentials) DeepCopy

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

func (*SpaceBackupCredentials) DeepCopyInto

func (in *SpaceBackupCredentials) DeepCopyInto(out *SpaceBackupCredentials)

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

type SpaceBackupDefinition

type SpaceBackupDefinition struct {
	// ConfigRef is a reference to the space backup configuration.
	// ApiGroup is optional and defaults to "spaces.upbound.io".
	// Kind is required, and the only supported value is "SpaceBackupConfig" at
	// the moment.
	// Name is required.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="(!has(self.apiGroup) || self.apiGroup == 'admin.spaces.upbound.io') && self.kind == 'SpaceBackupConfig'",message="backup config ref must be a reference to a SpaceBackupConfig"
	// +kubebuilder:validation:XValidation:rule="size(self.name) > 0",message="backup config ref must have a name"
	ConfigRef common.TypedLocalObjectReference `json:"configRef"`

	// TTL is the time to live for the backup. After this time, the backup
	// will be eligible for garbage collection. If not set, the backup will
	// not be garbage collected.
	// +optional
	TTL *metav1.Duration `json:"ttl,omitempty"`

	// DeletionPolicy is the policy for the backup.
	// +kube:validation:Enum=Orphan;Delete
	// +kubebuilder:default=Orphan
	DeletionPolicy xpv1.DeletionPolicy `json:"deletionPolicy,omitempty"`

	// Match is the selector for resources that should be included in the backup.
	// By default, we'll back up all Groups and for each Group:
	// - All ControlPlanes.
	// - All Secrets.
	// - All other Space API resources, e.g. SharedBackupConfigs, SharedUpboundPolicies, Backups, etc...
	// +optional
	Match *SpaceBackupResourceSelector `json:"match,omitempty"`

	// Exclude is the selector for resources that should be excluded from the backup.
	// If both Match and Exclude are specified, the Exclude selector will be applied
	// after the Match selector.
	// By default, only SpaceBackups are excluded.
	// +optional
	Exclude *SpaceBackupResourceSelector `json:"exclude,omitempty"`

	// ControlPlaneBackups is the definition of the control plane backups,
	// +optional
	ControlPlaneBackups *spacesv1alpha1.ControlPlaneBackupConfig `json:"controlPlaneBackups,omitempty"`
}

SpaceBackupDefinition defines all the parameters for a space backup.

func (*SpaceBackupDefinition) DeepCopy

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

func (*SpaceBackupDefinition) DeepCopyInto

func (in *SpaceBackupDefinition) DeepCopyInto(out *SpaceBackupDefinition)

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

type SpaceBackupList

type SpaceBackupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SpaceBackup `json:"items"`
}

SpaceBackupList contains a list of SpaceBackups.

func (*SpaceBackupList) DeepCopy

func (in *SpaceBackupList) DeepCopy() *SpaceBackupList

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

func (*SpaceBackupList) DeepCopyInto

func (in *SpaceBackupList) DeepCopyInto(out *SpaceBackupList)

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

func (*SpaceBackupList) DeepCopyObject

func (in *SpaceBackupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SpaceBackupObjectStorage

type SpaceBackupObjectStorage struct {
	spacesv1alpha1.BackupObjectStorage `json:",inline"`

	// Credentials specifies the credentials to access the object storage.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self.source != 'Secret' || (has(self.secretRef) && has(self.secretRef.name) && has(self.secretRef.__namespace__))",message="secretRef.name and namespace must be set when source is Secret"
	Credentials SpaceBackupCredentials `json:"credentials"`
}

SpaceBackupObjectStorage specifies the object storage configuration for the given provider.

func (*SpaceBackupObjectStorage) DeepCopy

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

func (*SpaceBackupObjectStorage) DeepCopyInto

func (in *SpaceBackupObjectStorage) DeepCopyInto(out *SpaceBackupObjectStorage)

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

type SpaceBackupResourceSelector

type SpaceBackupResourceSelector struct {
	// Groups specifies the groups selected.
	// A group is matched if any of the group selectors matches, if not specified
	// any group is matched. Group selector is ANDed with all other selectors, so no resource in
	// a group not matching the group selector will be included in the backup.
	// +optional
	Groups *spacesv1alpha1.ResourceSelector `json:"groups,omitempty"`

	// ControlPlanes specifies the control planes selected.
	// A control plane is matched if any of the control plane selectors matches, if not specified
	// any control plane in the selected groups is matched.
	// +optional
	ControlPlanes *spacesv1alpha1.ResourceSelector `json:"controlPlanes,omitempty"`

	// Spaces specifies the spaces selected.
	// +optional
	Secrets *spacesv1alpha1.ResourceSelector `json:"secrets,omitempty"`

	// Extras specifies the extra resources selected.
	// +optional
	Extras []GenericSpaceBackupResourceSelector `json:"extras,omitempty"`
}

SpaceBackupResourceSelector represents a selector for Groups and ControlPlanes. An object is going to be matched if any of the provided group selectors matches object's group AND any of provided control plane selectors matches.

func (*SpaceBackupResourceSelector) DeepCopy

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

func (*SpaceBackupResourceSelector) DeepCopyInto

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

type SpaceBackupSchedule

type SpaceBackupSchedule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SpaceBackupScheduleSpec   `json:"spec"`
	Status SpaceBackupScheduleStatus `json:"status,omitempty"`
}

SpaceBackupSchedule represents a schedule to backup a Space.

func (*SpaceBackupSchedule) DeepCopy

func (in *SpaceBackupSchedule) DeepCopy() *SpaceBackupSchedule

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

func (*SpaceBackupSchedule) DeepCopyInto

func (in *SpaceBackupSchedule) DeepCopyInto(out *SpaceBackupSchedule)

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

func (*SpaceBackupSchedule) DeepCopyObject

func (in *SpaceBackupSchedule) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SpaceBackupScheduleDefinition

type SpaceBackupScheduleDefinition struct {
	// Suspend specifies whether the schedule is suspended. If true, no
	// SpaceBackups will be created, but running backups will be allowed to
	// complete.
	// +optional
	Suspend bool `json:"suspend,omitempty"`

	// Schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
	// +kubebuilder:validation:MinLength=1
	Schedule string `json:"schedule"`

	SpaceBackupDefinition `json:",inline"`
}

SpaceBackupScheduleDefinition defines the schedule for a SpaceBackup.

func (*SpaceBackupScheduleDefinition) DeepCopy

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

func (*SpaceBackupScheduleDefinition) DeepCopyInto

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

type SpaceBackupScheduleList

type SpaceBackupScheduleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []SpaceBackupSchedule `json:"items"`
}

SpaceBackupScheduleList contains a list of SpaceBackupSchedules.

func (*SpaceBackupScheduleList) DeepCopy

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

func (*SpaceBackupScheduleList) DeepCopyInto

func (in *SpaceBackupScheduleList) DeepCopyInto(out *SpaceBackupScheduleList)

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

func (*SpaceBackupScheduleList) DeepCopyObject

func (in *SpaceBackupScheduleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SpaceBackupScheduleSpec

type SpaceBackupScheduleSpec struct {
	// UseOwnerReferencesBackup specifies whether an ownership chain should be
	// established between this resource and the Backup it creates.
	// If set to true, the Backup will be garbage collected when this resource
	// is deleted.
	// +optional
	UseOwnerReferencesInBackup bool `json:"useOwnerReferencesInBackup,omitempty"`

	SpaceBackupScheduleDefinition `json:",inline"`
}

SpaceBackupScheduleSpec defines a space backup schedule.

func (*SpaceBackupScheduleSpec) DeepCopy

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

func (*SpaceBackupScheduleSpec) DeepCopyInto

func (in *SpaceBackupScheduleSpec) DeepCopyInto(out *SpaceBackupScheduleSpec)

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

type SpaceBackupScheduleStatus

type SpaceBackupScheduleStatus struct {
	xpv1.ResourceStatus `json:",inline"`

	// LastBackup is the last time a Backup was run for this
	// Schedule schedule
	// +optional
	LastBackup *metav1.Time `json:"lastBackup,omitempty"`
}

SpaceBackupScheduleStatus represents the observed state of a SpaceBackupSchedule.

func (*SpaceBackupScheduleStatus) DeepCopy

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

func (*SpaceBackupScheduleStatus) DeepCopyInto

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

type SpaceBackupSpec

type SpaceBackupSpec struct {
	SpaceBackupDefinition `json:",inline"`
}

SpaceBackupSpec defines a backup over a set of Match +kubebuilder:validation:XValidation:rule="!has(self.configRef) && !has(oldSelf.configRef) || (self.configRef == oldSelf.configRef) ",message="spec.configRef can't be changed or set after creation" +kubebuilder:validation:XValidation:rule="!has(self.match) && !has(oldSelf.match) || (self.match == oldSelf.match) ",message="spec.match can't be changed or set after creation" +kubebuilder:validation:XValidation:rule="!has(self.exclude) && !has(oldSelf.exclude) || (self.exclude == oldSelf.exclude) ",message="spec.exclude can't be changed or set after creation" +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneBackups) && !has(oldSelf.controlPlaneBackups) || (self.controlPlaneBackups == oldSelf.controlPlaneBackups) ",message="spec.controlPlaneBackups can't be changed or set after creation"

func (*SpaceBackupSpec) DeepCopy

func (in *SpaceBackupSpec) DeepCopy() *SpaceBackupSpec

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

func (*SpaceBackupSpec) DeepCopyInto

func (in *SpaceBackupSpec) DeepCopyInto(out *SpaceBackupSpec)

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

type SpaceBackupStatus

type SpaceBackupStatus struct {
	xpv1.ResourceStatus `json:",inline"`

	// Phase is the current phase of the backup.
	// +kubebuilder:validation:Enum=Pending;InProgress;Failed;Completed;Deleted
	// +kubebuilder:default=Pending
	Phase spacesv1alpha1.BackupPhase `json:"phase,omitempty"`

	// Retries is the number of times the backup has been retried.
	// +optional
	Retries int32 `json:"retries,omitempty"`
}

SpaceBackupStatus represents the observed state of a SpaceBackup.

func (*SpaceBackupStatus) DeepCopy

func (in *SpaceBackupStatus) DeepCopy() *SpaceBackupStatus

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

func (*SpaceBackupStatus) DeepCopyInto

func (in *SpaceBackupStatus) DeepCopyInto(out *SpaceBackupStatus)

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