Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +k8s:defaulter-gen=TypeMeta +kubebuilder:object:generate=true +groupName=archiver.kubedb.com
Index ¶
- Constants
- Variables
- func GetFinalizer() string
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type ArchiverDatabaseRef
- type BackupStorage
- type DeletionPolicy
- type FullBackupOptions
- type GenericSecretReference
- type ManifestBackupOptions
- type MongoDBArchiver
- type MongoDBArchiverList
- type MongoDBArchiverSpec
- type MongoDBArchiverStatus
- type PostgresArchiver
- type PostgresArchiverList
- type PostgresArchiverSpec
- type PostgresArchiverStatus
- type SchedulerOptions
- type Task
- type WalBackupOptions
Constants ¶
const ( ResourceKindMongoDBArchiver = "MongoDBArchiver" ResourceSingularMongoDBArchiver = "mongodbarchiver" ResourcePluralMongoDBArchiver = "mongodbarchivers" )
const ( ResourceKindPostgresArchiver = "PostgresArchiver" ResourceSingularPostgresArchiver = "postgresarchiver" ResourcePluralPostgresArchiver = "postgresarchivers" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "archiver.kubedb.com", Version: "v1alpha1"} // 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 )
Functions ¶
func GetFinalizer ¶
func GetFinalizer() string
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
Types ¶
type ArchiverDatabaseRef ¶
type ArchiverDatabaseRef struct { Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` }
func (*ArchiverDatabaseRef) DeepCopy ¶
func (in *ArchiverDatabaseRef) DeepCopy() *ArchiverDatabaseRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArchiverDatabaseRef.
func (*ArchiverDatabaseRef) DeepCopyInto ¶
func (in *ArchiverDatabaseRef) DeepCopyInto(out *ArchiverDatabaseRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorage ¶
type BackupStorage struct { Ref *kmapi.ObjectReference `json:"ref,omitempty"` // +optional SubDir string `json:"subDir,omitempty"` }
func (*BackupStorage) DeepCopy ¶
func (in *BackupStorage) DeepCopy() *BackupStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorage.
func (*BackupStorage) DeepCopyInto ¶
func (in *BackupStorage) DeepCopyInto(out *BackupStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeletionPolicy ¶
type DeletionPolicy string
+kubebuilder:validation:Enum=Delete;WipeOut;DoNotDelete
const ( // Deletes archiver, removes the backup jobs and walg sidecar containers, but keeps the backup data DeletionPolicyDelete DeletionPolicy = "Delete" // Deletes everything including the backup data DeletionPolicyWipeOut DeletionPolicy = "WipeOut" )
type FullBackupOptions ¶
type FullBackupOptions struct { // +kubebuilder:default:=VolumeSnapshotter Driver apis.Driver `json:"driver"` // +optional Task *Task `json:"task,omitempty"` // +optional Scheduler *SchedulerOptions `json:"scheduler,omitempty"` // +optional ContainerRuntimeSettings *ofst.ContainerRuntimeSettings `json:"containerRuntimeSettings,omitempty"` // +optional JobTemplate *ofst.PodTemplateSpec `json:"jobTemplate,omitempty"` // +optional RetryConfig *stashcoreapi.RetryConfig `json:"retryConfig,omitempty"` // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // +optional SessionHistoryLimit int32 `json:"sessionHistoryLimit,omitempty"` }
func (*FullBackupOptions) DeepCopy ¶
func (in *FullBackupOptions) DeepCopy() *FullBackupOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FullBackupOptions.
func (*FullBackupOptions) DeepCopyInto ¶
func (in *FullBackupOptions) DeepCopyInto(out *FullBackupOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericSecretReference ¶
type GenericSecretReference struct { // Name of the provider secret Name string `json:"name"` EnvToSecretKey map[string]string `json:"envToSecretKey"` }
func (*GenericSecretReference) DeepCopy ¶
func (in *GenericSecretReference) DeepCopy() *GenericSecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericSecretReference.
func (*GenericSecretReference) DeepCopyInto ¶
func (in *GenericSecretReference) DeepCopyInto(out *GenericSecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManifestBackupOptions ¶
type ManifestBackupOptions struct { // +optional Scheduler *SchedulerOptions `json:"scheduler,omitempty"` // +optional ContainerRuntimeSettings *ofst.ContainerRuntimeSettings `json:"containerRuntimeSettings,omitempty"` // +optional JobTemplate *ofst.PodTemplateSpec `json:"jobTemplate,omitempty"` // +optional RetryConfig *stashcoreapi.RetryConfig `json:"retryConfig,omitempty"` // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // +optional SessionHistoryLimit int32 `json:"sessionHistoryLimit,omitempty"` }
func (*ManifestBackupOptions) DeepCopy ¶
func (in *ManifestBackupOptions) DeepCopy() *ManifestBackupOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManifestBackupOptions.
func (*ManifestBackupOptions) DeepCopyInto ¶
func (in *ManifestBackupOptions) DeepCopyInto(out *ManifestBackupOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBArchiver ¶
type MongoDBArchiver struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MongoDBArchiverSpec `json:"spec,omitempty"` Status MongoDBArchiverStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=mongodbarchivers,singular=mongodbarchiver,shortName=mgarchiver,categories={archiver,kubedb,appscode} +kubebuilder:subresource:status
func (MongoDBArchiver) CustomResourceDefinition ¶
func (_ MongoDBArchiver) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*MongoDBArchiver) DeepCopy ¶
func (in *MongoDBArchiver) DeepCopy() *MongoDBArchiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBArchiver.
func (*MongoDBArchiver) DeepCopyInto ¶
func (in *MongoDBArchiver) DeepCopyInto(out *MongoDBArchiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBArchiver) DeepCopyObject ¶
func (in *MongoDBArchiver) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBArchiverList ¶
type MongoDBArchiverList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []MongoDBArchiver `json:"items"` }
+kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*MongoDBArchiverList) DeepCopy ¶
func (in *MongoDBArchiverList) DeepCopy() *MongoDBArchiverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBArchiverList.
func (*MongoDBArchiverList) DeepCopyInto ¶
func (in *MongoDBArchiverList) DeepCopyInto(out *MongoDBArchiverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBArchiverList) DeepCopyObject ¶
func (in *MongoDBArchiverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBArchiverSpec ¶
type MongoDBArchiverSpec struct { // Databases define which MongoDB databases are allowed to consume this archiver Databases *dbapi.AllowedConsumers `json:"databases"` // Pause defines if the backup process should be paused or not // +optional Pause bool `json:"pause,omitempty"` // RetentionPolicy field is the RetentionPolicy of the backupConfiguration's backend // +optional RetentionPolicy *kmapi.ObjectReference `json:"retentionPolicy"` // FullBackup defines the sessionConfig of the fullBackup // This options will eventually go to the full-backup job's yaml // +optional FullBackup *FullBackupOptions `json:"fullBackup"` // WalBackup defines the config of the WalBackup // +optional WalBackup *WalBackupOptions `json:"walBackup"` // ManifestBackup defines the sessionConfig of the manifestBackup // This options will eventually go to the manifest-backup job's yaml // +optional ManifestBackup *ManifestBackupOptions `json:"manifestBackup"` // +optional EncryptionSecret *kmapi.ObjectReference `json:"encryptionSecret"` // BackupStorage is the backend storageRef of the BackupConfiguration // +optional BackupStorage *BackupStorage `json:"backupStorage"` // DeletionPolicy defines the created repository's deletionPolicy // +optional DeletionPolicy *DeletionPolicy `json:"deletionPolicy"` }
MongoDBArchiverSpec defines the desired state of MongoDBArchiver
func (*MongoDBArchiverSpec) DeepCopy ¶
func (in *MongoDBArchiverSpec) DeepCopy() *MongoDBArchiverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBArchiverSpec.
func (*MongoDBArchiverSpec) DeepCopyInto ¶
func (in *MongoDBArchiverSpec) DeepCopyInto(out *MongoDBArchiverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBArchiverStatus ¶
type MongoDBArchiverStatus struct { // Specifies the information of all the databases managed by this archiver // +optional DatabaseRefs []ArchiverDatabaseRef `json:"databaseRefs,omitempty"` }
MongoDBArchiverStatus defines the observed state of MongoDBArchiver
func (*MongoDBArchiverStatus) DeepCopy ¶
func (in *MongoDBArchiverStatus) DeepCopy() *MongoDBArchiverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBArchiverStatus.
func (*MongoDBArchiverStatus) DeepCopyInto ¶
func (in *MongoDBArchiverStatus) DeepCopyInto(out *MongoDBArchiverStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresArchiver ¶
type PostgresArchiver struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresArchiverSpec `json:"spec,omitempty"` Status PostgresArchiverStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=postgresarchivers,singular=postgresarchiver,shortName=pgarchiver,categories={archiver,kubedb,appscode} +kubebuilder:subresource:status
func (PostgresArchiver) CustomResourceDefinition ¶
func (_ PostgresArchiver) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*PostgresArchiver) DeepCopy ¶
func (in *PostgresArchiver) DeepCopy() *PostgresArchiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresArchiver.
func (*PostgresArchiver) DeepCopyInto ¶
func (in *PostgresArchiver) DeepCopyInto(out *PostgresArchiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresArchiver) DeepCopyObject ¶
func (in *PostgresArchiver) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresArchiverList ¶
type PostgresArchiverList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PostgresArchiver `json:"items"` }
+kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*PostgresArchiverList) DeepCopy ¶
func (in *PostgresArchiverList) DeepCopy() *PostgresArchiverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresArchiverList.
func (*PostgresArchiverList) DeepCopyInto ¶
func (in *PostgresArchiverList) DeepCopyInto(out *PostgresArchiverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresArchiverList) DeepCopyObject ¶
func (in *PostgresArchiverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresArchiverSpec ¶
type PostgresArchiverSpec struct { // Databases define which Postgres databases are allowed to consume this archiver Databases *dbapi.AllowedConsumers `json:"databases"` // Pause defines if the backup process should be paused or not // +optional Pause bool `json:"pause,omitempty"` // RetentionPolicy field is the RetentionPolicy of the backupConfiguration's backend // +optional RetentionPolicy *kmapi.ObjectReference `json:"retentionPolicy"` // FullBackup defines the sessionConfig of the fullBackup // This options will eventually go to the full-backup job's yaml // +optional FullBackup *FullBackupOptions `json:"fullBackup"` // WalBackup defines the sessionConfig of the walBackup // This options will eventually go to the sidekick specification // +optional WalBackup *WalBackupOptions `json:"walBackup"` // ManifestBackup defines the sessionConfig of the manifestBackup // This options will eventually go to the manifest-backup job's yaml // +optional ManifestBackup *ManifestBackupOptions `json:"manifestBackup"` // +optional EncryptionSecret *kmapi.ObjectReference `json:"encryptionSecret"` // BackupStorage is the backend storageRef of the BackupConfiguration // +optional BackupStorage *BackupStorage `json:"backupStorage"` // DeletionPolicy defines the created repository's deletionPolicy // +optional DeletionPolicy *DeletionPolicy `json:"deletionPolicy"` }
PostgresArchiverSpec defines the desired state of PostgresArchiver
func (*PostgresArchiverSpec) DeepCopy ¶
func (in *PostgresArchiverSpec) DeepCopy() *PostgresArchiverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresArchiverSpec.
func (*PostgresArchiverSpec) DeepCopyInto ¶
func (in *PostgresArchiverSpec) DeepCopyInto(out *PostgresArchiverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresArchiverStatus ¶
type PostgresArchiverStatus struct { // Specifies the information of all the databases managed by this archiver // +optional DatabaseRefs []ArchiverDatabaseRef `json:"databaseRefs,omitempty"` }
PostgresArchiverStatus defines the observed state of PostgresArchiver
func (*PostgresArchiverStatus) DeepCopy ¶
func (in *PostgresArchiverStatus) DeepCopy() *PostgresArchiverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresArchiverStatus.
func (*PostgresArchiverStatus) DeepCopyInto ¶
func (in *PostgresArchiverStatus) DeepCopyInto(out *PostgresArchiverStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerOptions ¶
type SchedulerOptions struct { Schedule string `json:"schedule"` // +optional ConcurrencyPolicy batch.ConcurrencyPolicy `json:"concurrencyPolicy,omitempty"` // +optional JobTemplate stashcoreapi.JobTemplate `json:"jobTemplate"` // +optional SuccessfulJobsHistoryLimit *int32 `json:"successfulJobsHistoryLimit,omitempty"` // +optional FailedJobsHistoryLimit *int32 `json:"failedJobsHistoryLimit,omitempty"` }
func (*SchedulerOptions) DeepCopy ¶
func (in *SchedulerOptions) DeepCopy() *SchedulerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerOptions.
func (*SchedulerOptions) DeepCopyInto ¶
func (in *SchedulerOptions) DeepCopyInto(out *SchedulerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Task ¶
type Task struct {
Params *runtime.RawExtension `json:"params"`
}
func (*Task) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.
func (*Task) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WalBackupOptions ¶
type WalBackupOptions struct { // +optional RuntimeSettings *ofst.RuntimeSettings `json:"runtimeSettings,omitempty"` // +optional ConfigSecret *GenericSecretReference `json:"configSecret,omitempty"` }
func (*WalBackupOptions) DeepCopy ¶
func (in *WalBackupOptions) DeepCopy() *WalBackupOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WalBackupOptions.
func (*WalBackupOptions) DeepCopyInto ¶
func (in *WalBackupOptions) DeepCopyInto(out *WalBackupOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.