Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the ydb v1alpha1 API group +kubebuilder:object:generate=true +groupName=ydb.tech
Index ¶
- Constants
- Variables
- func SetDatabaseSpecDefaults(ydbCr *Database, ydbSpec *DatabaseSpec)
- type Database
- func (in *Database) DeepCopy() *Database
- func (in *Database) DeepCopyInto(out *Database)
- func (in *Database) DeepCopyObject() runtime.Object
- func (r *Database) Default()
- func (r *Database) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Database) ValidateCreate() error
- func (r *Database) ValidateDelete() error
- func (r *Database) ValidateUpdate(old runtime.Object) error
- type DatabaseList
- type DatabaseResources
- type DatabaseServices
- type DatabaseSpec
- type DatabaseStatus
- type DatastreamsConfig
- type DatastreamsService
- type EncryptionConfig
- type ErasureType
- type GRPCService
- type InterconnectService
- type MonitoringOptions
- type PodImage
- type ServerlessDatabaseResources
- type Service
- type SharedDatabaseRef
- type StatusService
- type Storage
- func (in *Storage) DeepCopy() *Storage
- func (in *Storage) DeepCopyInto(out *Storage)
- func (in *Storage) DeepCopyObject() runtime.Object
- func (r *Storage) Default()
- func (r *Storage) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Storage) ValidateCreate() error
- func (r *Storage) ValidateDelete() error
- func (r *Storage) ValidateUpdate(old runtime.Object) error
- type StorageList
- type StorageRef
- type StorageServices
- type StorageSpec
- type StorageStatus
- type StorageUnit
- type TLSConfiguration
Constants ¶
const ( RegistryPath = "cr.yandex/crptqonuodf51kdj7a7d/ydb" DefaultTag = "22.2.22" ImagePathFormat = "%s:%s" GRPCPort = 2135 GRPCServicePortName = "grpc" GRPCProto = "grpc://" GRPCSProto = "grpcs://" InterconnectPort = 19001 InterconnectServicePortName = "interconnect" StatusPort = 8765 StatusServicePortName = "status" DatastreamsPort = 8443 DatastreamsServicePortName = "datastreams" DiskPathPrefix = "/dev/kikimr_ssd" DiskNumberMaxDigits = 2 DiskFilePath = "/data" YdbAuthToken = "ydb-auth-token-file" ConfigDir = "/opt/ydb/cfg" ConfigFileName = "config.yaml" BinariesDir = "/opt/ydb/bin" DaemonBinaryName = "ydbd" TenantNameFormat = "/%s/%s" )
const (
DefaultDatabaseDomain = "root"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "ydb.tech", Version: "v1alpha1"} // 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 )
Functions ¶
func SetDatabaseSpecDefaults ¶
func SetDatabaseSpecDefaults(ydbCr *Database, ydbSpec *DatabaseSpec)
SetDatabaseSpecDefaults sets various values to the default vars.
Types ¶
type Database ¶
type Database struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatabaseSpec `json:"spec,omitempty"` // +kubebuilder:default:={state: "Pending"} Status DatabaseStatus `json:"status,omitempty"` }
Database is the Schema for the databases API
func (*Database) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Database.
func (*Database) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Database) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Database) Default ¶
func (r *Database) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Database) SetupWebhookWithManager ¶
func (*Database) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Database) ValidateDelete ¶
type DatabaseList ¶
type DatabaseList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Database `json:"items"` }
DatabaseList contains a list of Database
func (*DatabaseList) DeepCopy ¶
func (in *DatabaseList) DeepCopy() *DatabaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseList.
func (*DatabaseList) DeepCopyInto ¶
func (in *DatabaseList) DeepCopyInto(out *DatabaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseList) DeepCopyObject ¶
func (in *DatabaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatabaseResources ¶
type DatabaseResources struct { // (Optional) Database container resource limits. Any container limits // can be specified. // Default: (not specified) // +optional ContainerResources corev1.ResourceRequirements `json:"containerResources,omitempty"` // Kind of the storage unit. Determine guarantees // for all main unit parameters: used hard disk type, capacity // throughput, IOPS etc. // +required StorageUnits []StorageUnit `json:"storageUnits,omitempty"` }
func (*DatabaseResources) DeepCopy ¶
func (in *DatabaseResources) DeepCopy() *DatabaseResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseResources.
func (*DatabaseResources) DeepCopyInto ¶
func (in *DatabaseResources) DeepCopyInto(out *DatabaseResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseServices ¶
type DatabaseServices struct { GRPC GRPCService `json:"grpc,omitempty"` Interconnect InterconnectService `json:"interconnect,omitempty"` Status StatusService `json:"status,omitempty"` Datastreams DatastreamsService `json:"datastreams,omitempty"` }
func (*DatabaseServices) DeepCopy ¶
func (in *DatabaseServices) DeepCopy() *DatabaseServices
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseServices.
func (*DatabaseServices) DeepCopyInto ¶
func (in *DatabaseServices) DeepCopyInto(out *DatabaseServices)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseSpec ¶
type DatabaseSpec struct { // Number of nodes (pods) in the cluster // +required Nodes int32 `json:"nodes"` // YDB configuration in YAML format. Will be applied on top of generated one in internal/configuration // +optional Configuration string `json:"configuration"` // (Optional) Storage services parameter overrides // Default: (not specified) // +optional Service DatabaseServices `json:"service,omitempty"` // YDB Storage cluster reference // +required StorageClusterRef StorageRef `json:"storageClusterRef"` // Encryption // +optional Encryption *EncryptionConfig `json:"encryption,omitempty"` // Datastreams config // +optional Datastreams *DatastreamsConfig `json:"datastreams,omitempty"` // (Optional) Name of the root storage domain // Default: root // +kubebuilder:validation:Pattern:=[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])? // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:default:="root" // +optional Domain string `json:"domain"` // (Optional) Database storage and compute resources // +optional Resources *DatabaseResources `json:"resources,omitempty"` // TODO: Add validation webhook: some resources must be specified // +optional SharedResources *DatabaseResources `json:"sharedResources,omitempty"` // (Optional) If specified, created database will be "serverless". // +optional ServerlessResources *ServerlessDatabaseResources `json:"serverlessResources,omitempty"` // (Optional) Public host to advertise on discovery requests // Default: "" // +optional PublicHost string `json:"publicHost,omitempty"` // List of initialization containers belonging to the pod. // Init containers are executed in order prior to containers being started. If any // init container fails, the pod is considered to have failed and is handled according // to its restartPolicy. The name for an init container or normal container must be // unique among all containers. // Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. // The resourceRequirements of an init container are taken into account during scheduling // by finding the highest request/limit for each resource type, and then using the max of // that value or the sum of the normal containers. Limits are applied to init containers // in a similar fashion. // Init containers cannot currently be added or removed. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ // +optional InitContainers []corev1.Container `json:"initContainers,omitempty"` // (Optional) Monitoring sets configuration options for YDB observability // Default: "" // +optional Monitoring *MonitoringOptions `json:"monitoring,omitempty"` // (Optional) YDBVersion sets the explicit version of the YDB image // Default: "" // +optional YDBVersion string `json:"version,omitempty"` // (Optional) YDB Image // +optional Image PodImage `json:"image,omitempty"` // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // (Optional) If specified, the pod's scheduling constraints // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // (Optional) If specified, the pod's tolerations. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // (Optional) Additional custom resource labels that are added to all resources // +optional AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` // (Optional) Additional custom resource annotations that are added to all resources // +optional AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"` }
DatabaseSpec defines the desired state of Database
func (*DatabaseSpec) DeepCopy ¶
func (in *DatabaseSpec) DeepCopy() *DatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseSpec.
func (*DatabaseSpec) DeepCopyInto ¶
func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseStatus ¶
type DatabaseStatus struct { State string `json:"state"` Conditions []metav1.Condition `json:"conditions,omitempty"` }
DatabaseStatus defines the observed state of Database
func (*DatabaseStatus) DeepCopy ¶
func (in *DatabaseStatus) DeepCopy() *DatabaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseStatus.
func (*DatabaseStatus) DeepCopyInto ¶
func (in *DatabaseStatus) DeepCopyInto(out *DatabaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatastreamsConfig ¶
type DatastreamsConfig struct { // +required Enabled bool `json:"enabled"` // +required IAMServiceAccountKey *corev1.SecretKeySelector `json:"iam_service_account_key,omitempty"` }
Datastreams config todo
func (*DatastreamsConfig) DeepCopy ¶
func (in *DatastreamsConfig) DeepCopy() *DatastreamsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastreamsConfig.
func (*DatastreamsConfig) DeepCopyInto ¶
func (in *DatastreamsConfig) DeepCopyInto(out *DatastreamsConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatastreamsService ¶
type DatastreamsService struct { Service `json:""` TLSConfiguration *TLSConfiguration `json:"tls,omitempty"` }
func (*DatastreamsService) DeepCopy ¶
func (in *DatastreamsService) DeepCopy() *DatastreamsService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastreamsService.
func (*DatastreamsService) DeepCopyInto ¶
func (in *DatastreamsService) DeepCopyInto(out *DatastreamsService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EncryptionConfig ¶
type EncryptionConfig struct { // +required Enabled bool `json:"enabled"` // +optional Key *corev1.SecretKeySelector `json:"key,omitempty"` // +optional Pin *string `json:"pin,omitempty"` }
EncryptionConfig todo
func (*EncryptionConfig) DeepCopy ¶
func (in *EncryptionConfig) DeepCopy() *EncryptionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfig.
func (*EncryptionConfig) DeepCopyInto ¶
func (in *EncryptionConfig) DeepCopyInto(out *EncryptionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ErasureType ¶
type ErasureType string
const ( ErasureBlock42 ErasureType = "block-4-2" ErasureMirror3DC ErasureType = "mirror-3-dc" None ErasureType = "none" )
type GRPCService ¶
type GRPCService struct { Service `json:""` TLSConfiguration *TLSConfiguration `json:"tls,omitempty"` ExternalHost string `json:"externalHost,omitempty"` // TODO implementation }
func (*GRPCService) DeepCopy ¶
func (in *GRPCService) DeepCopy() *GRPCService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCService.
func (*GRPCService) DeepCopyInto ¶
func (in *GRPCService) DeepCopyInto(out *GRPCService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterconnectService ¶
type InterconnectService struct { Service `json:""` TLSConfiguration *TLSConfiguration `json:"tls,omitempty"` }
func (*InterconnectService) DeepCopy ¶
func (in *InterconnectService) DeepCopy() *InterconnectService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterconnectService.
func (*InterconnectService) DeepCopyInto ¶
func (in *InterconnectService) DeepCopyInto(out *InterconnectService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringOptions ¶
type MonitoringOptions struct { Enabled bool `json:"enabled"` // Interval at which metrics should be scraped Interval string `json:"interval,omitempty"` // RelabelConfig allows dynamic rewriting of the label set, being applied to sample before ingestion. MetricRelabelings []*v1.RelabelConfig `json:"metricRelabelings,omitempty"` }
func (*MonitoringOptions) DeepCopy ¶
func (in *MonitoringOptions) DeepCopy() *MonitoringOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringOptions.
func (*MonitoringOptions) DeepCopyInto ¶
func (in *MonitoringOptions) DeepCopyInto(out *MonitoringOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodImage ¶
type PodImage struct { // Container image with supported YDB version. // This defaults to the version pinned to the operator and requires a full container and tag/sha name. // For instance: cr.yandex/crptqonuodf51kdj7a7d/ydb:22.2.22 // +required Name string `json:"name,omitempty"` // (Optional) PullPolicy for the image, which defaults to IfNotPresent. // Default: IfNotPresent // +optional PullPolicyName *corev1.PullPolicy `json:"pullPolicy,omitempty"` // (Optional) Secret name containing the dockerconfig to use for a registry that requires authentication. The secret // must be configured first by the user. // +optional PullSecret *string `json:"pullSecret,omitempty"` }
PodImage represents the image information for a container that is used to build the StatefulSet.
func (*PodImage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodImage.
func (*PodImage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerlessDatabaseResources ¶
type ServerlessDatabaseResources struct { // +required SharedDatabaseRef SharedDatabaseRef `json:"sharedDatabaseRef,omitempty"` }
func (*ServerlessDatabaseResources) DeepCopy ¶
func (in *ServerlessDatabaseResources) DeepCopy() *ServerlessDatabaseResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessDatabaseResources.
func (*ServerlessDatabaseResources) DeepCopyInto ¶
func (in *ServerlessDatabaseResources) DeepCopyInto(out *ServerlessDatabaseResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Service ¶
type Service struct { AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"` IPFamilies []corev1.IPFamily `json:"ipFamilies,omitempty"` IPFamilyPolicy *corev1.IPFamilyPolicyType `json:"ipFamilyPolicy,omitempty"` }
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SharedDatabaseRef ¶
type SharedDatabaseRef struct { // +kubebuilder:validation:MaxLength:=63 // +required Name string `json:"name"` // +kubebuilder:validation:MaxLength:=63 // +optional Namespace string `json:"namespace"` }
func (*SharedDatabaseRef) DeepCopy ¶
func (in *SharedDatabaseRef) DeepCopy() *SharedDatabaseRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedDatabaseRef.
func (*SharedDatabaseRef) DeepCopyInto ¶
func (in *SharedDatabaseRef) DeepCopyInto(out *SharedDatabaseRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusService ¶
type StatusService struct {
Service `json:""`
}
func (*StatusService) DeepCopy ¶
func (in *StatusService) DeepCopy() *StatusService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusService.
func (*StatusService) DeepCopyInto ¶
func (in *StatusService) DeepCopyInto(out *StatusService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Storage ¶
type Storage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec StorageSpec `json:"spec,omitempty"` // +kubebuilder:default:={state: "Pending"} Status StorageStatus `json:"status,omitempty"` }
Storage is the Schema for the Storages API
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Storage) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Storage) Default ¶
func (r *Storage) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Storage) SetupWebhookWithManager ¶
func (*Storage) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Storage) ValidateDelete ¶
type StorageList ¶
type StorageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Storage `json:"items"` }
StorageList contains a list of Storage
func (*StorageList) DeepCopy ¶
func (in *StorageList) DeepCopy() *StorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageList.
func (*StorageList) DeepCopyInto ¶
func (in *StorageList) DeepCopyInto(out *StorageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageList) DeepCopyObject ¶
func (in *StorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StorageRef ¶
type StorageRef struct { // +kubebuilder:validation:Pattern:=[a-z0-9]([-a-z0-9]*[a-z0-9])? // +kubebuilder:validation:MaxLength:=63 // +required Name string `json:"name"` // +kubebuilder:validation:Pattern:=[a-z0-9]([-a-z0-9]*[a-z0-9])? // +kubebuilder:validation:MaxLength:=63 // +optional Namespace string `json:"namespace"` }
StorageRef todo
func (*StorageRef) DeepCopy ¶
func (in *StorageRef) DeepCopy() *StorageRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageRef.
func (*StorageRef) DeepCopyInto ¶
func (in *StorageRef) DeepCopyInto(out *StorageRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageServices ¶
type StorageServices struct { GRPC GRPCService `json:"grpc,omitempty"` Interconnect InterconnectService `json:"interconnect,omitempty"` Status StatusService `json:"status,omitempty"` }
StorageServices defines parameter overrides for Storage Services
func (*StorageServices) DeepCopy ¶
func (in *StorageServices) DeepCopy() *StorageServices
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageServices.
func (*StorageServices) DeepCopyInto ¶
func (in *StorageServices) DeepCopyInto(out *StorageServices)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageSpec ¶
type StorageSpec struct { // Number of nodes (pods) in the cluster // +required Nodes int32 `json:"nodes"` // YDB configuration in YAML format. Will be applied on top of generated one in internal/configuration // +optional Configuration string `json:"configuration"` // Data storage mode. // For details, see https://cloud.yandex.ru/docs/ydb/oss/public/administration/deploy/production_checklist#topologiya // TODO English docs link // FIXME mirror-3-dc is only supported with external configuration // +kubebuilder:validation:Enum=mirror-3-dc;block-4-2;none // +kubebuilder:default:=block-4-2 Erasure ErasureType `json:"erasure"` // Where cluster data should be kept // +required DataStore []corev1.PersistentVolumeClaimSpec `json:"dataStore"` // (Optional) Storage services parameter overrides // Default: (not specified) // +optional Service StorageServices `json:"service,omitempty"` // (Optional) Name of the root storage domain // Default: root // +kubebuilder:validation:Pattern:=[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])? // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:default:="root" // +optional Domain string `json:"domain"` // (Optional) Storage container resource limits. Any container limits // can be specified. // Default: (not specified) // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Container image information // +required Image PodImage `json:"image,omitempty"` // List of initialization containers belonging to the pod. // Init containers are executed in order prior to containers being started. If any // init container fails, the pod is considered to have failed and is handled according // to its restartPolicy. The name for an init container or normal container must be // unique among all containers. // Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. // The resourceRequirements of an init container are taken into account during scheduling // by finding the highest request/limit for each resource type, and then using the max of // that value or the sum of the normal containers. Limits are applied to init containers // in a similar fashion. // Init containers cannot currently be added or removed. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ // +optional InitContainers []corev1.Container `json:"initContainers,omitempty"` // (Optional) YDBVersion sets the explicit version of the YDB image // Default: "" // +optional YDBVersion string `json:"version,omitempty"` // (Optional) Monitoring sets configuration options for YDB observability // Default: "" // +optional Monitoring *MonitoringOptions `json:"monitoring,omitempty"` // User-defined root certificate authority that is added to system trust // store of Storage pods on startup. // +optional CABundle []byte `json:"caBundle,omitempty"` // Secret names that will be mounted into the well-known directory of // every storage pod. Directory: `/opt/ydb/secrets/<secret_name>/<secret_key>` // +optional Secrets []*corev1.LocalObjectReference `json:"secrets,omitempty"` // Whether host network should be enabled. Automatically sets // `dnsPolicy` to `clusterFirstWithHostNet`. // Default: false // +optional HostNetwork bool `json:"hostNetwork,omitempty"` // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // (Optional) If specified, the pod's scheduling constraints // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // (Optional) If specified, the pod's tolerations. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // (Optional) Additional custom resource labels that are added to all resources // +optional AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` // (Optional) Additional custom resource annotations that are added to all resources // +optional AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"` }
StorageSpec defines the desired state of Storage
func (*StorageSpec) DeepCopy ¶
func (in *StorageSpec) DeepCopy() *StorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSpec.
func (*StorageSpec) DeepCopyInto ¶
func (in *StorageSpec) DeepCopyInto(out *StorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageStatus ¶
type StorageStatus struct { State string `json:"state"` Conditions []metav1.Condition `json:"conditions,omitempty"` }
StorageStatus defines the observed state of Storage
func (*StorageStatus) DeepCopy ¶
func (in *StorageStatus) DeepCopy() *StorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageStatus.
func (*StorageStatus) DeepCopyInto ¶
func (in *StorageStatus) DeepCopyInto(out *StorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageUnit ¶
type StorageUnit struct { // Kind of the storage unit. Determine guarantees // for all main unit parameters: used hard disk type, capacity // throughput, IOPS etc. // +required UnitKind string `json:"unitKind"` // Number of units in this set. // +required Count uint64 `json:"count"` }
func (*StorageUnit) DeepCopy ¶
func (in *StorageUnit) DeepCopy() *StorageUnit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageUnit.
func (*StorageUnit) DeepCopyInto ¶
func (in *StorageUnit) DeepCopyInto(out *StorageUnit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSConfiguration ¶
type TLSConfiguration struct { Enabled bool `json:"enabled"` CertificateAuthority corev1.SecretKeySelector `json:"CA,omitempty"` Certificate corev1.SecretKeySelector `json:"certificate,omitempty"` Key corev1.SecretKeySelector `json:"key,omitempty"` // fixme validate: all three or none }
func (*TLSConfiguration) DeepCopy ¶
func (in *TLSConfiguration) DeepCopy() *TLSConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfiguration.
func (*TLSConfiguration) DeepCopyInto ¶
func (in *TLSConfiguration) DeepCopyInto(out *TLSConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.