Documentation ¶
Overview ¶
+groupName=stash.appscode.com
Index ¶
- Constants
- Variables
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func Resource(resource string) schema.GroupResource
- func StatefulSetPodName(appName, podOrdinal string) (string, error)
- type AllowedNamespaces
- type FromNamespaces
- type LocalTypedReference
- func (workload *LocalTypedReference) Canonicalize() error
- func (in *LocalTypedReference) DeepCopy() *LocalTypedReference
- func (in *LocalTypedReference) DeepCopyInto(out *LocalTypedReference)
- func (workload LocalTypedReference) GetRepositoryCRDName(podName, nodeName string) string
- func (workload LocalTypedReference) HostnamePrefix(podName, nodeName string) (hostname, prefix string, err error)
- type Repository
- func (_ Repository) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *Repository) DeepCopy() *Repository
- func (in *Repository) DeepCopyInto(out *Repository)
- func (in *Repository) DeepCopyObject() runtime.Object
- func (r Repository) IsValid() error
- func (r *Repository) LocalNetworkVolume() bool
- func (r *Repository) LocalNetworkVolumePath() string
- func (r *Repository) UsageAllowed(srcNamespace *core.Namespace) bool
- type RepositoryList
- type RepositorySpec
- type RepositoryStatus
- type RetentionPolicy
- type RetentionStrategy
- type UsagePolicy
Constants ¶
const ( ResourceKindRepository = "Repository" ResourcePluralRepository = "repositories" ResourceSingularRepository = "repository" )
const ( KindDeployment = "Deployment" KindReplicaSet = "ReplicaSet" KindReplicationController = "ReplicationController" KindStatefulSet = "StatefulSet" KindDaemonSet = "DaemonSet" KindPod = "Pod" KindPersistentVolumeClaim = "PersistentVolumeClaim" KindAppBinding = "AppBinding" KindDeploymentConfig = "DeploymentConfig" KindSecret = "Secret" )
Variables ¶
var ( // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: stash.GroupName, Version: "v1alpha1"}
Functions ¶
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func StatefulSetPodName ¶
Types ¶
type AllowedNamespaces ¶ added in v0.18.0
type AllowedNamespaces struct { // From indicates how to select the namespaces that are allowed to use this resource. // Possible values are: // * All: All namespaces can use this resource. // * Selector: Namespaces that matches the selector can use this resource. // * Same: Only current namespace can use the resource. // // +optional // +kubebuilder:default=Same From *FromNamespaces `json:"from,omitempty"` // Selector must be specified when From is set to "Selector". In that case, // only the selected namespaces are allowed to use this resource. // This field is ignored for other values of "From". // // +optional Selector *metav1.LabelSelector `json:"selector,omitempty"` }
AllowedNamespaces indicate which namespaces the resource should be selected from.
func (*AllowedNamespaces) DeepCopy ¶ added in v0.18.0
func (in *AllowedNamespaces) DeepCopy() *AllowedNamespaces
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedNamespaces.
func (*AllowedNamespaces) DeepCopyInto ¶ added in v0.18.0
func (in *AllowedNamespaces) DeepCopyInto(out *AllowedNamespaces)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FromNamespaces ¶ added in v0.18.0
type FromNamespaces string
FromNamespaces specifies namespace from which namespaces are allowed to use the resource.
+kubebuilder:validation:Enum=All;Selector;Same
const ( // NamespacesFromAll specifies that all namespaces can use the resource. NamespacesFromAll FromNamespaces = "All" // NamespacesFromSelector specifies that only the namespace that matches the selector can use the resource. NamespacesFromSelector FromNamespaces = "Selector" // NamespacesFromSame specifies that only the current namespace can use the resource. NamespacesFromSame FromNamespaces = "Same" )
type LocalTypedReference ¶
type LocalTypedReference struct { // Kind of the referent. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds // +optional Kind string `json:"kind,omitempty"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names // +optional Name string `json:"name,omitempty"` // API version of the referent. // +optional APIVersion string `json:"apiVersion,omitempty"` }
LocalTypedReference contains enough information to let you inspect or modify the referred object.
func (*LocalTypedReference) Canonicalize ¶
func (workload *LocalTypedReference) Canonicalize() error
func (*LocalTypedReference) DeepCopy ¶
func (in *LocalTypedReference) DeepCopy() *LocalTypedReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalTypedReference.
func (*LocalTypedReference) DeepCopyInto ¶
func (in *LocalTypedReference) DeepCopyInto(out *LocalTypedReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (LocalTypedReference) GetRepositoryCRDName ¶
func (workload LocalTypedReference) GetRepositoryCRDName(podName, nodeName string) string
func (LocalTypedReference) HostnamePrefix ¶
func (workload LocalTypedReference) HostnamePrefix(podName, nodeName string) (hostname, prefix string, err error)
type Repository ¶
type Repository struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RepositorySpec `json:"spec,omitempty"` Status RepositoryStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=repositories,singular=repository,shortName=repo,categories={stash,appscode} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Integrity",type="boolean",JSONPath=".status.integrity" +kubebuilder:printcolumn:name="Size",type="string",JSONPath=".status.totalSize" +kubebuilder:printcolumn:name="Snapshot-Count",type="integer",JSONPath=".status.snapshotCount" +kubebuilder:printcolumn:name="Last-Successful-Backup",type="date",format="date-time",JSONPath=".status.lastBackupTime" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (Repository) CustomResourceDefinition ¶
func (_ Repository) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*Repository) DeepCopy ¶
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶
func (in *Repository) DeepCopyInto(out *Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Repository) DeepCopyObject ¶
func (in *Repository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Repository) IsValid ¶
func (r Repository) IsValid() error
func (*Repository) LocalNetworkVolume ¶
func (r *Repository) LocalNetworkVolume() bool
func (*Repository) LocalNetworkVolumePath ¶
func (r *Repository) LocalNetworkVolumePath() string
func (*Repository) UsageAllowed ¶ added in v0.18.0
func (r *Repository) UsageAllowed(srcNamespace *core.Namespace) bool
type RepositoryList ¶
type RepositoryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Repository `json:"items,omitempty"` }
func (*RepositoryList) DeepCopy ¶
func (in *RepositoryList) DeepCopy() *RepositoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryList.
func (*RepositoryList) DeepCopyInto ¶
func (in *RepositoryList) DeepCopyInto(out *RepositoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RepositoryList) DeepCopyObject ¶
func (in *RepositoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RepositorySpec ¶
type RepositorySpec struct { // Backend specify the storage where backed up snapshot will be stored Backend store.Backend `json:"backend,omitempty"` // If true, delete respective restic repository // +optional WipeOut bool `json:"wipeOut,omitempty"` // UsagePolicy specifies a policy of how this Repository will be used. For example, you can use `allowedNamespaces` // policy to restrict the usage of this Repository to particular namespaces. // This field is optional. If you don't provide the usagePolicy, then it can be used only from the current namespace. // +optional UsagePolicy *UsagePolicy `json:"usagePolicy,omitempty"` }
func (*RepositorySpec) DeepCopy ¶
func (in *RepositorySpec) DeepCopy() *RepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySpec.
func (*RepositorySpec) DeepCopyInto ¶
func (in *RepositorySpec) DeepCopyInto(out *RepositorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepositoryStatus ¶
type RepositoryStatus struct { // ObservedGeneration is the most recent generation observed for this Repository. It corresponds to the // Repository's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // FirstBackupTime indicates the timestamp when the first backup was taken FirstBackupTime *metav1.Time `json:"firstBackupTime,omitempty"` // LastBackupTime indicates the timestamp when the latest backup was taken LastBackupTime *metav1.Time `json:"lastBackupTime,omitempty"` // Integrity shows result of repository integrity check after last backup Integrity *bool `json:"integrity,omitempty"` // TotalSize show size of repository after last backup TotalSize string `json:"totalSize,omitempty"` // SnapshotCount shows number of snapshots stored in the repository SnapshotCount int64 `json:"snapshotCount,omitempty"` // SnapshotsRemovedOnLastCleanup shows number of old snapshots cleaned up according to retention policy on last backup session SnapshotsRemovedOnLastCleanup int64 `json:"snapshotsRemovedOnLastCleanup,omitempty"` // References holds a list of resource references that using this Repository // +optional References []kmapi.TypedObjectReference `json:"references,omitempty"` }
func (*RepositoryStatus) DeepCopy ¶
func (in *RepositoryStatus) DeepCopy() *RepositoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryStatus.
func (*RepositoryStatus) DeepCopyInto ¶
func (in *RepositoryStatus) DeepCopyInto(out *RepositoryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetentionPolicy ¶
type RetentionPolicy struct { Name string `json:"name"` KeepLast int64 `json:"keepLast,omitempty"` KeepHourly int64 `json:"keepHourly,omitempty"` KeepDaily int64 `json:"keepDaily,omitempty"` KeepWeekly int64 `json:"keepWeekly,omitempty"` KeepMonthly int64 `json:"keepMonthly,omitempty"` KeepYearly int64 `json:"keepYearly,omitempty"` KeepTags []string `json:"keepTags,omitempty"` Prune bool `json:"prune"` DryRun bool `json:"dryRun,omitempty"` }
func (*RetentionPolicy) DeepCopy ¶
func (in *RetentionPolicy) DeepCopy() *RetentionPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy.
func (*RetentionPolicy) DeepCopyInto ¶
func (in *RetentionPolicy) DeepCopyInto(out *RetentionPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetentionStrategy ¶
type RetentionStrategy string
+kubebuilder:validation:Enum=--keep-last;--keep-hourly;--keep-daily;--keep-weekly;--keep-monthly;--keep-yearly;--keep-tag
const ( KeepLast RetentionStrategy = "--keep-last" KeepHourly RetentionStrategy = "--keep-hourly" KeepDaily RetentionStrategy = "--keep-daily" KeepWeekly RetentionStrategy = "--keep-weekly" KeepMonthly RetentionStrategy = "--keep-monthly" KeepYearly RetentionStrategy = "--keep-yearly" KeepTag RetentionStrategy = "--keep-tag" )
type UsagePolicy ¶ added in v0.18.0
type UsagePolicy struct { // AllowedNamespaces specifies which namespaces are allowed to use the resource // +optional AllowedNamespaces AllowedNamespaces `json:"allowedNamespaces,omitempty"` }
UsagePolicy specifies a policy that restrict the usage of a resource across namespaces.
func (*UsagePolicy) DeepCopy ¶ added in v0.18.0
func (in *UsagePolicy) DeepCopy() *UsagePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsagePolicy.
func (*UsagePolicy) DeepCopyInto ¶ added in v0.18.0
func (in *UsagePolicy) DeepCopyInto(out *UsagePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.