Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the kuberlogic v1 API group +kubebuilder:object:generate=true +groupName=kuberlogic.com
Index ¶
- Constants
- Variables
- type Defaults
- type ErrorCollector
- type KuberLogicAlert
- func (kla *KuberLogicAlert) Acknowledge()
- func (in *KuberLogicAlert) DeepCopy() *KuberLogicAlert
- func (in *KuberLogicAlert) DeepCopyInto(out *KuberLogicAlert)
- func (in *KuberLogicAlert) DeepCopyObject() runtime.Object
- func (kla *KuberLogicAlert) IsAcknowledged() bool
- func (kla *KuberLogicAlert) IsNotificationSent() bool
- func (kla *KuberLogicAlert) IsSilenced() bool
- func (kla *KuberLogicAlert) NotificationPending()
- func (kla *KuberLogicAlert) NotificationSent(addr string)
- type KuberLogicAlertList
- type KuberLogicAlertSpec
- type KuberLogicAlertStatus
- type KuberLogicBackupRestore
- func (in *KuberLogicBackupRestore) DeepCopy() *KuberLogicBackupRestore
- func (in *KuberLogicBackupRestore) DeepCopyInto(out *KuberLogicBackupRestore)
- func (in *KuberLogicBackupRestore) DeepCopyObject() runtime.Object
- func (klr *KuberLogicBackupRestore) GetCompletionStatus() (string, *time.Time)
- func (klr *KuberLogicBackupRestore) IsSuccessful() bool
- func (klr *KuberLogicBackupRestore) MarkFailed()
- func (klr *KuberLogicBackupRestore) MarkPending()
- func (klr *KuberLogicBackupRestore) MarkRunning()
- func (klr *KuberLogicBackupRestore) MarkSuccessfulFinish()
- type KuberLogicBackupRestoreList
- type KuberLogicBackupRestoreSpec
- type KuberLogicBackupRestoreStatus
- type KuberLogicBackupSchedule
- func (in *KuberLogicBackupSchedule) DeepCopy() *KuberLogicBackupSchedule
- func (in *KuberLogicBackupSchedule) DeepCopyInto(out *KuberLogicBackupSchedule)
- func (in *KuberLogicBackupSchedule) DeepCopyObject() runtime.Object
- func (klb *KuberLogicBackupSchedule) IsRunning() bool
- func (klb *KuberLogicBackupSchedule) IsSuccessful() bool
- func (klb *KuberLogicBackupSchedule) MarkFailed(r string)
- func (klb *KuberLogicBackupSchedule) MarkNotRunning()
- func (klb *KuberLogicBackupSchedule) MarkRunning(j string)
- func (klb *KuberLogicBackupSchedule) MarkSuccessful(m string)
- func (klb *KuberLogicBackupSchedule) MarkUnknown(m string)
- type KuberLogicBackupScheduleList
- type KuberLogicBackupScheduleSpec
- type KuberLogicBackupScheduleStatus
- type KuberLogicService
- func (kls *KuberLogicService) BackupFinished()
- func (kls *KuberLogicService) BackupRunning(name string)
- func (in *KuberLogicService) DeepCopy() *KuberLogicService
- func (in *KuberLogicService) DeepCopyInto(out *KuberLogicService)
- func (in *KuberLogicService) DeepCopyObject() runtime.Object
- func (kls *KuberLogicService) Default()
- func (kls *KuberLogicService) GetAlertEmail() string
- func (kls KuberLogicService) GetServiceType() string
- func (kls *KuberLogicService) InitDefaults(defaults Defaults) bool
- func (kls *KuberLogicService) IsReady() (bool, string)
- func (kls *KuberLogicService) MarkNotReady(msg string)
- func (kls *KuberLogicService) MarkReady(msg string)
- func (kls *KuberLogicService) ReconciliationAllowed() bool
- func (kls *KuberLogicService) RestoreFinished()
- func (kls *KuberLogicService) RestoreStarted(name string)
- func (kls *KuberLogicService) SetAlertEmail(e string) error
- func (kls *KuberLogicService) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (kls *KuberLogicService) ValidateCreate() error
- func (kls *KuberLogicService) ValidateDelete() error
- func (kls *KuberLogicService) ValidateUpdate(old runtime.Object) error
- type KuberLogicServiceList
- type KuberLogicServiceSpec
- type KuberLogicServiceStatus
- type KuberLogicTenant
- func (in *KuberLogicTenant) DeepCopy() *KuberLogicTenant
- func (in *KuberLogicTenant) DeepCopyInto(out *KuberLogicTenant)
- func (in *KuberLogicTenant) DeepCopyObject() runtime.Object
- func (kt *KuberLogicTenant) ForgetTenantServiceInfo(kls *KuberLogicService)
- func (kt KuberLogicTenant) GetServiceAccountName() string
- func (kt KuberLogicTenant) GetTenantName() string
- func (kt KuberLogicTenant) IsActive() bool
- func (kt *KuberLogicTenant) IsSynced() bool
- func (kt *KuberLogicTenant) SaveTenantServiceInfo(kls *KuberLogicService)
- func (kt *KuberLogicTenant) SetActive()
- func (kt *KuberLogicTenant) SetSynced()
- func (kt *KuberLogicTenant) SyncFailed(msg string)
- type KuberLogicTenantList
- type KuberLogicTenantSpec
- type KuberLogicTenantStatus
- type MaintenanceWindow
Constants ¶
const ( // cluster status ClusterOkStatus = "Ready" ClusterNotReadyStatus = "NotReady" ClusterFailedStatus = "Failed" ClusterUnknownStatus = "Unknown" // backup status BackupSuccessStatus = "Success" BackupFailedStatus = "Failed" BackupUnknownStatus = "Unknown" // restore status RestoreSuccessStatus = "Success" RestoreFailedStatus = "Failed" RestoreRunningStatus = "Running" RestoreUnknownStatus = "Unknown" Group = "kuberlogic.com" )
const DefaultVolumeSize = "1G"
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kuberlogic.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var DefaultAllowedIPs = []string{"0.0.0.0/0"}
var DefaultResources = v1.ResourceRequirements{ Requests: v1.ResourceList{ v1.ResourceCPU: resource.MustParse("10m"), v1.ResourceMemory: resource.MustParse("50M"), }, Limits: v1.ResourceList{ v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500M"), }, }
Functions ¶
This section is empty.
Types ¶
type Defaults ¶
type Defaults struct { User string VolumeSize string Resources v1.ResourceRequirements Version string }
func (*Defaults) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Defaults.
func (*Defaults) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ErrorCollector ¶
type ErrorCollector []error
+kubebuilder:object:generate=false
func (*ErrorCollector) Collect ¶
func (c *ErrorCollector) Collect(e error)
func (ErrorCollector) Error ¶
func (c ErrorCollector) Error() (err string)
type KuberLogicAlert ¶
type KuberLogicAlert struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KuberLogicAlertSpec `json:"spec,omitempty"` Status KuberLogicAlertStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:printcolumn:name="Acknowledged",type="string",JSONPath=".status.conditions[?(@.type == 'Acknowledged')].status",description="Alert has been acknowledged" +kubebuilder:printcolumn:name="AlertName",type="string",JSONPath=".spec.alertname",description="Alert name" +kubebuilder:printcolumn:name="AlertValue",type="string",JSONPath=".spec.alertvalue",description="Alert value" +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".spec.cluster",description="Cluster name" +kubebuilder:printcolumn:name="Pod",type="string",JSONPath=".spec.pod",description="Affected Pod Name" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:shortName=kla,categories=kuberlogic +kubebuilder:subresource:status
func (*KuberLogicAlert) Acknowledge ¶
func (kla *KuberLogicAlert) Acknowledge()
func (*KuberLogicAlert) DeepCopy ¶
func (in *KuberLogicAlert) DeepCopy() *KuberLogicAlert
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicAlert.
func (*KuberLogicAlert) DeepCopyInto ¶
func (in *KuberLogicAlert) DeepCopyInto(out *KuberLogicAlert)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicAlert) DeepCopyObject ¶
func (in *KuberLogicAlert) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KuberLogicAlert) IsAcknowledged ¶
func (kla *KuberLogicAlert) IsAcknowledged() bool
func (*KuberLogicAlert) IsNotificationSent ¶
func (kla *KuberLogicAlert) IsNotificationSent() bool
func (*KuberLogicAlert) IsSilenced ¶
func (kla *KuberLogicAlert) IsSilenced() bool
func (*KuberLogicAlert) NotificationPending ¶
func (kla *KuberLogicAlert) NotificationPending()
func (*KuberLogicAlert) NotificationSent ¶
func (kla *KuberLogicAlert) NotificationSent(addr string)
type KuberLogicAlertList ¶
type KuberLogicAlertList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KuberLogicAlert `json:"items"` }
KuberLogicAlertList contains a list of KuberLogicAlert +kubebuilder:object:root=true
func (*KuberLogicAlertList) DeepCopy ¶
func (in *KuberLogicAlertList) DeepCopy() *KuberLogicAlertList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicAlertList.
func (*KuberLogicAlertList) DeepCopyInto ¶
func (in *KuberLogicAlertList) DeepCopyInto(out *KuberLogicAlertList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicAlertList) DeepCopyObject ¶
func (in *KuberLogicAlertList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KuberLogicAlertSpec ¶
type KuberLogicAlertSpec struct { // Alert name // +kubebuilder:validation:Pattern=^.*$ AlertName string `json:"alertname"` // Value // +kubebuilder:validation:Pattern=^.*$ AlertValue string `json:"alertvalue"` // Cluster name // +kubebuilder:validation:Pattern=^.*$ Cluster string `json:"cluster"` // Pod // +kubebuilder:validation:Pattern=^.*$ Pod string `json:"pod,omitempty"` // Silenced set to true suppresses user notification for this alert // +kubebuilder:validation:Default=false Silenced bool `json:"silenced,omitempty"` // Summary contains a descriptive message for this alert Summary string `json:"summary,omitempty"` }
func (*KuberLogicAlertSpec) DeepCopy ¶
func (in *KuberLogicAlertSpec) DeepCopy() *KuberLogicAlertSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicAlertSpec.
func (*KuberLogicAlertSpec) DeepCopyInto ¶
func (in *KuberLogicAlertSpec) DeepCopyInto(out *KuberLogicAlertSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicAlertStatus ¶
KuberLogicAlert defines the observed state of KuberLogicAlert
func (*KuberLogicAlertStatus) DeepCopy ¶
func (in *KuberLogicAlertStatus) DeepCopy() *KuberLogicAlertStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicAlertStatus.
func (*KuberLogicAlertStatus) DeepCopyInto ¶
func (in *KuberLogicAlertStatus) DeepCopyInto(out *KuberLogicAlertStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicBackupRestore ¶
type KuberLogicBackupRestore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KuberLogicBackupRestoreSpec `json:"spec,omitempty"` Status KuberLogicBackupRestoreStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:printcolumn:name="Finished",type="string",JSONPath=".status.conditions[?(@.type == 'Finished')].status",description="Restore status" +kubebuilder:printcolumn:name="Successful",type="string",JSONPath=".status.conditions[?(@.type == 'Successful')].status",description="Restore description" +kubebuilder:printcolumn:name="Cluster name",type=string,JSONPath=`.spec.name`,description="The cluster name" +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type`,description="The backup type" +kubebuilder:printcolumn:name="Link",type=string,JSONPath=`.spec.backup`,description="The backup link" +kubebuilder:resource:shortName=klr,categories=kuberlogic +kubebuilder:subresource:status
func (*KuberLogicBackupRestore) DeepCopy ¶
func (in *KuberLogicBackupRestore) DeepCopy() *KuberLogicBackupRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicBackupRestore.
func (*KuberLogicBackupRestore) DeepCopyInto ¶
func (in *KuberLogicBackupRestore) DeepCopyInto(out *KuberLogicBackupRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicBackupRestore) DeepCopyObject ¶
func (in *KuberLogicBackupRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KuberLogicBackupRestore) GetCompletionStatus ¶
func (klr *KuberLogicBackupRestore) GetCompletionStatus() (string, *time.Time)
returns completion description and time
func (*KuberLogicBackupRestore) IsSuccessful ¶
func (klr *KuberLogicBackupRestore) IsSuccessful() bool
func (*KuberLogicBackupRestore) MarkFailed ¶
func (klr *KuberLogicBackupRestore) MarkFailed()
func (*KuberLogicBackupRestore) MarkPending ¶
func (klr *KuberLogicBackupRestore) MarkPending()
func (*KuberLogicBackupRestore) MarkRunning ¶
func (klr *KuberLogicBackupRestore) MarkRunning()
func (*KuberLogicBackupRestore) MarkSuccessfulFinish ¶
func (klr *KuberLogicBackupRestore) MarkSuccessfulFinish()
type KuberLogicBackupRestoreList ¶
type KuberLogicBackupRestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KuberLogicBackupRestore `json:"items"` }
KuberLogicBackupRestoreList contains a list of KuberLogicBackupRestore +kubebuilder:object:root=true
func (*KuberLogicBackupRestoreList) DeepCopy ¶
func (in *KuberLogicBackupRestoreList) DeepCopy() *KuberLogicBackupRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicBackupRestoreList.
func (*KuberLogicBackupRestoreList) DeepCopyInto ¶
func (in *KuberLogicBackupRestoreList) DeepCopyInto(out *KuberLogicBackupRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicBackupRestoreList) DeepCopyObject ¶
func (in *KuberLogicBackupRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KuberLogicBackupRestoreSpec ¶
type KuberLogicBackupRestoreSpec struct { // Type of the backup storage // +kubebuilder:validation:Enum=s3 Type string `json:"type"` // Cluster name // TODO: need to implement validation based on webhook - https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html // it gives the ability to check cluster name is exists or not ClusterName string `json:"name"` // credentials for storage type SecretName string `json:"secret"` // link to backup on the storage Backup string `json:"backup"` // what database need to be restored Database string `json:"database"` }
func (*KuberLogicBackupRestoreSpec) DeepCopy ¶
func (in *KuberLogicBackupRestoreSpec) DeepCopy() *KuberLogicBackupRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicBackupRestoreSpec.
func (*KuberLogicBackupRestoreSpec) DeepCopyInto ¶
func (in *KuberLogicBackupRestoreSpec) DeepCopyInto(out *KuberLogicBackupRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicBackupRestoreStatus ¶
KuberLogicBackupRestoreStatus defines the observed state of KuberLogicBackupRestore
func (*KuberLogicBackupRestoreStatus) DeepCopy ¶
func (in *KuberLogicBackupRestoreStatus) DeepCopy() *KuberLogicBackupRestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicBackupRestoreStatus.
func (*KuberLogicBackupRestoreStatus) DeepCopyInto ¶
func (in *KuberLogicBackupRestoreStatus) DeepCopyInto(out *KuberLogicBackupRestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicBackupSchedule ¶
type KuberLogicBackupSchedule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KuberLogicBackupScheduleSpec `json:"spec,omitempty"` Status KuberLogicBackupScheduleStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:printcolumn:name="Last backup status",type=string,JSONPath=".status.conditions[?(@.type == 'LastBackupSuccessful')].reason",description="Current backup status" +kubebuilder:printcolumn:name="Cluster name",type=string,JSONPath=`.spec.name`,description="The cluster name" +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type`,description="The backup type" +kubebuilder:printcolumn:name="Schedule",type=string,JSONPath=`.spec.schedule`,description="The backup schedule" +kubebuilder:resource:shortName=klb,categories=kuberlogic +kubebuilder:subresource:status
func (*KuberLogicBackupSchedule) DeepCopy ¶
func (in *KuberLogicBackupSchedule) DeepCopy() *KuberLogicBackupSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicBackupSchedule.
func (*KuberLogicBackupSchedule) DeepCopyInto ¶
func (in *KuberLogicBackupSchedule) DeepCopyInto(out *KuberLogicBackupSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicBackupSchedule) DeepCopyObject ¶
func (in *KuberLogicBackupSchedule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KuberLogicBackupSchedule) IsRunning ¶
func (klb *KuberLogicBackupSchedule) IsRunning() bool
func (*KuberLogicBackupSchedule) IsSuccessful ¶
func (klb *KuberLogicBackupSchedule) IsSuccessful() bool
func (*KuberLogicBackupSchedule) MarkFailed ¶
func (klb *KuberLogicBackupSchedule) MarkFailed(r string)
func (*KuberLogicBackupSchedule) MarkNotRunning ¶
func (klb *KuberLogicBackupSchedule) MarkNotRunning()
func (*KuberLogicBackupSchedule) MarkRunning ¶
func (klb *KuberLogicBackupSchedule) MarkRunning(j string)
func (*KuberLogicBackupSchedule) MarkSuccessful ¶
func (klb *KuberLogicBackupSchedule) MarkSuccessful(m string)
func (*KuberLogicBackupSchedule) MarkUnknown ¶
func (klb *KuberLogicBackupSchedule) MarkUnknown(m string)
type KuberLogicBackupScheduleList ¶
type KuberLogicBackupScheduleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KuberLogicBackupSchedule `json:"items"` }
KuberLogicBackupScheduleList contains a list of KuberLogicBackupSchedule +kubebuilder:object:root=true
func (*KuberLogicBackupScheduleList) DeepCopy ¶
func (in *KuberLogicBackupScheduleList) DeepCopy() *KuberLogicBackupScheduleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicBackupScheduleList.
func (*KuberLogicBackupScheduleList) DeepCopyInto ¶
func (in *KuberLogicBackupScheduleList) DeepCopyInto(out *KuberLogicBackupScheduleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicBackupScheduleList) DeepCopyObject ¶
func (in *KuberLogicBackupScheduleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KuberLogicBackupScheduleSpec ¶
type KuberLogicBackupScheduleSpec struct { // Type of the backup storage // +kubebuilder:validation:Enum=s3 Type string `json:"type"` // Cluster name // TODO: need to implement validation based on webhook - https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html // it gives the ability to check cluster name is exists or not ClusterName string `json:"name"` // credentials for storage type SecretName string `json:"secret"` // schedule for the backup Schedule string `json:"schedule"` // what database need to backup Database string `json:"database,omitempty"` }
func (*KuberLogicBackupScheduleSpec) DeepCopy ¶
func (in *KuberLogicBackupScheduleSpec) DeepCopy() *KuberLogicBackupScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicBackupScheduleSpec.
func (*KuberLogicBackupScheduleSpec) DeepCopyInto ¶
func (in *KuberLogicBackupScheduleSpec) DeepCopyInto(out *KuberLogicBackupScheduleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicBackupScheduleStatus ¶
KuberLogicBackupScheduleStatus defines the observed state of KuberLogicBackupSchedule
func (*KuberLogicBackupScheduleStatus) DeepCopy ¶
func (in *KuberLogicBackupScheduleStatus) DeepCopy() *KuberLogicBackupScheduleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicBackupScheduleStatus.
func (*KuberLogicBackupScheduleStatus) DeepCopyInto ¶
func (in *KuberLogicBackupScheduleStatus) DeepCopyInto(out *KuberLogicBackupScheduleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicService ¶
type KuberLogicService struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KuberLogicServiceSpec `json:"spec,omitempty"` Status KuberLogicServiceStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type == 'Ready')].status",description="The cluster readiness" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[?(@.type == 'Ready')].reason",description="The cluster status" +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type`,description="The cluster type" +kubebuilder:printcolumn:name="Replicas",type=integer,JSONPath=`.spec.replicas`,description="The number of desired replicas" +kubebuilder:printcolumn:name="Volume",type=string,JSONPath=`.spec.volumeSize`,description="Volume size for the cluster" +kubebuilder:printcolumn:name="CPU Request",type=string,JSONPath=`.spec.resources.requests.cpu`,description="CPU request" +kubebuilder:printcolumn:name="Memory Request",type=string,JSONPath=`.spec.resources.requests.memory`,description="Memory request" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:shortName=kls,categories=kuberlogic +kubebuilder:subresource:status
func (*KuberLogicService) BackupFinished ¶
func (kls *KuberLogicService) BackupFinished()
func (*KuberLogicService) BackupRunning ¶
func (kls *KuberLogicService) BackupRunning(name string)
func (*KuberLogicService) DeepCopy ¶
func (in *KuberLogicService) DeepCopy() *KuberLogicService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicService.
func (*KuberLogicService) DeepCopyInto ¶
func (in *KuberLogicService) DeepCopyInto(out *KuberLogicService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicService) DeepCopyObject ¶
func (in *KuberLogicService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KuberLogicService) Default ¶
func (kls *KuberLogicService) Default()
func (*KuberLogicService) GetAlertEmail ¶
func (kls *KuberLogicService) GetAlertEmail() string
func (KuberLogicService) GetServiceType ¶
func (kls KuberLogicService) GetServiceType() string
func (*KuberLogicService) InitDefaults ¶
func (kls *KuberLogicService) InitDefaults(defaults Defaults) bool
TODO: Figure out workaround in https://github.com/kubernetes-sigs/kubebuilder/issues/1501, not it's a blocker for implementation default values based on webhook (https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html)
func (*KuberLogicService) IsReady ¶
func (kls *KuberLogicService) IsReady() (bool, string)
func (*KuberLogicService) MarkNotReady ¶
func (kls *KuberLogicService) MarkNotReady(msg string)
func (*KuberLogicService) MarkReady ¶
func (kls *KuberLogicService) MarkReady(msg string)
func (*KuberLogicService) ReconciliationAllowed ¶
func (kls *KuberLogicService) ReconciliationAllowed() bool
func (*KuberLogicService) RestoreFinished ¶
func (kls *KuberLogicService) RestoreFinished()
func (*KuberLogicService) RestoreStarted ¶
func (kls *KuberLogicService) RestoreStarted(name string)
func (*KuberLogicService) SetAlertEmail ¶
func (kls *KuberLogicService) SetAlertEmail(e string) error
func (*KuberLogicService) SetupWebhookWithManager ¶
func (kls *KuberLogicService) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*KuberLogicService) ValidateCreate ¶
func (kls *KuberLogicService) ValidateCreate() error
func (*KuberLogicService) ValidateDelete ¶
func (kls *KuberLogicService) ValidateDelete() error
func (*KuberLogicService) ValidateUpdate ¶
func (kls *KuberLogicService) ValidateUpdate(old runtime.Object) error
type KuberLogicServiceList ¶
type KuberLogicServiceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KuberLogicService `json:"items"` }
KuberLogicServiceList contains a list of KuberLogicService +kubebuilder:object:root=true
func (*KuberLogicServiceList) DeepCopy ¶
func (in *KuberLogicServiceList) DeepCopy() *KuberLogicServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicServiceList.
func (*KuberLogicServiceList) DeepCopyInto ¶
func (in *KuberLogicServiceList) DeepCopyInto(out *KuberLogicServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicServiceList) DeepCopyObject ¶
func (in *KuberLogicServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KuberLogicServiceSpec ¶
type KuberLogicServiceSpec struct { // Type of the cluster // +kubebuilder:validation:Enum=postgresql;mysql;redis Type string `json:"type"` // Amount of replicas // +kubebuilder:validation:Maximum=5 Replicas int32 `json:"replicas"` // Resources (requests/limits) Resources v1.ResourceRequirements `json:"resources,omitempty"` // Volume size VolumeSize string `json:"volumeSize,omitempty"` // 2 or 3 digits: 5 or 5.7 or 5.7.31 // +kubebuilder:validation:Pattern=^\d+[\.\d+]*$ Version string `json:"version,omitempty"` AdvancedConf map[string]string `json:"advancedConf,omitempty"` MaintenanceWindow `json:"maintenanceWindow,omitempty"` }
func (*KuberLogicServiceSpec) DeepCopy ¶
func (in *KuberLogicServiceSpec) DeepCopy() *KuberLogicServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicServiceSpec.
func (*KuberLogicServiceSpec) DeepCopyInto ¶
func (in *KuberLogicServiceSpec) DeepCopyInto(out *KuberLogicServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicServiceStatus ¶
KuberLogicServiceStatus defines the observed state of KuberLogicService
func (*KuberLogicServiceStatus) DeepCopy ¶
func (in *KuberLogicServiceStatus) DeepCopy() *KuberLogicServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicServiceStatus.
func (*KuberLogicServiceStatus) DeepCopyInto ¶
func (in *KuberLogicServiceStatus) DeepCopyInto(out *KuberLogicServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicTenant ¶
type KuberLogicTenant struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KuberLogicTenantSpec `json:"spec,omitempty"` Status KuberLogicTenantStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:categories=kuberlogic,scope=Cluster,shortName=klt +kubebuilder:subresource:status
func (*KuberLogicTenant) DeepCopy ¶
func (in *KuberLogicTenant) DeepCopy() *KuberLogicTenant
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicTenant.
func (*KuberLogicTenant) DeepCopyInto ¶
func (in *KuberLogicTenant) DeepCopyInto(out *KuberLogicTenant)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicTenant) DeepCopyObject ¶
func (in *KuberLogicTenant) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KuberLogicTenant) ForgetTenantServiceInfo ¶
func (kt *KuberLogicTenant) ForgetTenantServiceInfo(kls *KuberLogicService)
ForgetTenantServiceInfo removes kls name and type from Status
func (KuberLogicTenant) GetServiceAccountName ¶
func (kt KuberLogicTenant) GetServiceAccountName() string
func (KuberLogicTenant) GetTenantName ¶
func (kt KuberLogicTenant) GetTenantName() string
func (KuberLogicTenant) IsActive ¶
func (kt KuberLogicTenant) IsActive() bool
func (*KuberLogicTenant) IsSynced ¶
func (kt *KuberLogicTenant) IsSynced() bool
func (*KuberLogicTenant) SaveTenantServiceInfo ¶
func (kt *KuberLogicTenant) SaveTenantServiceInfo(kls *KuberLogicService)
SaveTenantServiceInfo saves kls name and type into a Kuberlogictenant
func (*KuberLogicTenant) SetActive ¶
func (kt *KuberLogicTenant) SetActive()
func (*KuberLogicTenant) SetSynced ¶
func (kt *KuberLogicTenant) SetSynced()
func (*KuberLogicTenant) SyncFailed ¶
func (kt *KuberLogicTenant) SyncFailed(msg string)
type KuberLogicTenantList ¶
type KuberLogicTenantList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KuberLogicTenant `json:"items"` }
+kubebuilder:object:root=true
func (*KuberLogicTenantList) DeepCopy ¶
func (in *KuberLogicTenantList) DeepCopy() *KuberLogicTenantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicTenantList.
func (*KuberLogicTenantList) DeepCopyInto ¶
func (in *KuberLogicTenantList) DeepCopyInto(out *KuberLogicTenantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KuberLogicTenantList) DeepCopyObject ¶
func (in *KuberLogicTenantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KuberLogicTenantSpec ¶
type KuberLogicTenantSpec struct {
OwnerEmail string `json:"ownerEmail"`
}
func (*KuberLogicTenantSpec) DeepCopy ¶
func (in *KuberLogicTenantSpec) DeepCopy() *KuberLogicTenantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicTenantSpec.
func (*KuberLogicTenantSpec) DeepCopyInto ¶
func (in *KuberLogicTenantSpec) DeepCopyInto(out *KuberLogicTenantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KuberLogicTenantStatus ¶
type KuberLogicTenantStatus struct { Conditions []metav1.Condition `json:"conditions"` Services map[string]string `json:"services,omitempty"` }
func (*KuberLogicTenantStatus) DeepCopy ¶
func (in *KuberLogicTenantStatus) DeepCopy() *KuberLogicTenantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberLogicTenantStatus.
func (*KuberLogicTenantStatus) DeepCopyInto ¶
func (in *KuberLogicTenantStatus) DeepCopyInto(out *KuberLogicTenantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MaintenanceWindow ¶
type MaintenanceWindow struct { // start hour, UTC zone is assumed // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=23 // +kubebuilder:validation:Type=integer // +kubebuilder:default=0 StartHour int `json:"start,omitempty"` // day of the week // +kubebuilder:validation:Enum=Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday // +kubebuilder:default=Sunday Weekday string `json:"weekday,omitempty"` // window duration in hours // +kubebuilder:validation:Type=integer // +kubebuilder:default=4 DurationHours int `json:"duration,omitempty"` }
func (*MaintenanceWindow) DeepCopy ¶
func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow.
func (*MaintenanceWindow) DeepCopyInto ¶
func (in *MaintenanceWindow) DeepCopyInto(out *MaintenanceWindow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.