Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +k8s:defaulter-gen=TypeMeta +groupName=kubedb.com
Index ¶
- Constants
- Variables
- func GetDatabasePods(db metav1.Object, stsLister appslister.StatefulSetLister, pods []core.Pod) ([]core.Pod, error)
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func GetServiceTemplate(templates []NamedServiceTemplateSpec, alias ServiceAlias) ofst.ServiceTemplateSpec
- func GetSharedBufferSizeForPostgres(resource *resource.Quantity) string
- func HasServiceTemplate(templates []NamedServiceTemplateSpec, alias ServiceAlias) bool
- func Kind(kind string) schema.GroupKind
- func MySQLExporterTLSArg() string
- func MySQLRequireSSLArg() string
- func Resource(resource string) schema.GroupResource
- func UsesAcmeIssuer(kc client.Client, ns string, issuerRef core.TypedLocalObjectReference) (bool, error)
- type AddressType
- type Age
- type AllowedConsumers
- type AutoOpsSpec
- type ClusterAuthMode
- type ConnectionPoolConfig
- type ConsumerNamespaces
- type CoordinatorSpec
- type DatabasePhase
- type Databases
- type Elasticsearch
- func (e Elasticsearch) AppBindingMeta() appcat.AppBindingMeta
- func (e *Elasticsearch) CertSecretVolumeMountPath(configDir string, alias ElasticsearchCertificateAlias) string
- func (e *Elasticsearch) CertSecretVolumeName(alias ElasticsearchCertificateAlias) string
- func (e *Elasticsearch) CertificateName(alias ElasticsearchCertificateAlias) string
- func (e *Elasticsearch) ClientCertificateCN(alias ElasticsearchCertificateAlias) string
- func (e *Elasticsearch) CombinedStatefulSetName() string
- func (e *Elasticsearch) ConfigSecretName() string
- func (e *Elasticsearch) CoordinatingStatefulSetName() string
- func (_ Elasticsearch) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (e *Elasticsearch) DataColdStatefulSetName() string
- func (e *Elasticsearch) DataContentStatefulSetName() string
- func (e *Elasticsearch) DataFrozenStatefulSetName() string
- func (e *Elasticsearch) DataHotStatefulSetName() string
- func (e Elasticsearch) DataSelectors() map[string]string
- func (e *Elasticsearch) DataStatefulSetName() string
- func (e *Elasticsearch) DataWarmStatefulSetName() string
- func (in *Elasticsearch) DeepCopy() *Elasticsearch
- func (in *Elasticsearch) DeepCopyInto(out *Elasticsearch)
- func (in *Elasticsearch) DeepCopyObject() runtime.Object
- func (e *Elasticsearch) DefaultUserCredSecretName(userName string) string
- func (e Elasticsearch) GetAuthSecretName() string
- func (e *Elasticsearch) GetCertSecretName(alias ElasticsearchCertificateAlias) string
- func (e *Elasticsearch) GetConnectionScheme() string
- func (e *Elasticsearch) GetConnectionURL() string
- func (e *Elasticsearch) GetMatchExpressions() []metav1.LabelSelectorRequirement
- func (e *Elasticsearch) GetPersistentSecrets() []string
- func (e *Elasticsearch) GetUserCredSecretName(username string) (string, error)
- func (e Elasticsearch) GoverningServiceName() string
- func (e Elasticsearch) IngestSelectors() map[string]string
- func (e *Elasticsearch) IngestStatefulSetName() string
- func (e *Elasticsearch) InitialMasterNodes() []string
- func (e *Elasticsearch) MLStatefulSetName() string
- func (e *Elasticsearch) MasterDiscoveryServiceName() string
- func (e Elasticsearch) MasterSelectors() map[string]string
- func (e *Elasticsearch) MasterStatefulSetName() string
- func (e Elasticsearch) NodeRoleSpecificLabelKey(roleType ElasticsearchNodeRoleType) string
- func (e Elasticsearch) NodeRoleSpecificSelectors(roleType ElasticsearchNodeRoleType) map[string]string
- func (e Elasticsearch) OffshootLabels() map[string]string
- func (e Elasticsearch) OffshootName() string
- func (e Elasticsearch) OffshootSelectors(extraSelectors ...map[string]string) map[string]string
- func (e Elasticsearch) PodControllerLabels(extraLabels ...map[string]string) map[string]string
- func (e Elasticsearch) PodLabels(extraLabels ...map[string]string) map[string]string
- func (e *Elasticsearch) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (e Elasticsearch) ResourceFQN() string
- func (e Elasticsearch) ResourceKind() string
- func (e Elasticsearch) ResourcePlural() string
- func (e Elasticsearch) ResourceShortCode() string
- func (e Elasticsearch) ResourceSingular() string
- func (e Elasticsearch) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (e Elasticsearch) ServiceName() string
- func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, topology *core_util.Topology)
- func (e *Elasticsearch) SetHealthCheckerDefaults()
- func (e *Elasticsearch) SetTLSDefaults(esVersion *catalog.ElasticsearchVersion)
- func (e Elasticsearch) StatsService() mona.StatsAccessor
- func (e Elasticsearch) StatsServiceLabels() map[string]string
- func (e *Elasticsearch) TransformStatefulSetName() string
- type ElasticsearchCertificateAlias
- type ElasticsearchClusterTopology
- type ElasticsearchInternalUser
- type ElasticsearchList
- type ElasticsearchNode
- type ElasticsearchNodeRoleType
- type ElasticsearchRoleMapSpec
- type ElasticsearchSpec
- type ElasticsearchStatus
- type ElasticsearchUserSpec
- type ErrantTransactionRecoveryPolicy
- type Etcd
- func (r Etcd) AppBindingMeta() appcat.AppBindingMeta
- func (e Etcd) ClientServiceName() string
- func (_ Etcd) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *Etcd) DeepCopy() *Etcd
- func (in *Etcd) DeepCopyInto(out *Etcd)
- func (in *Etcd) DeepCopyObject() runtime.Object
- func (e Etcd) GetAuthSecretName() string
- func (e Etcd) OffshootLabels() map[string]string
- func (e Etcd) OffshootName() string
- func (e Etcd) OffshootSelectors() map[string]string
- func (e Etcd) PeerServiceName() string
- func (e Etcd) PodControllerLabels() map[string]string
- func (e Etcd) PodLabels() map[string]string
- func (e *Etcd) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (e Etcd) ResourceFQN() string
- func (e Etcd) ResourceKind() string
- func (e Etcd) ResourcePlural() string
- func (e Etcd) ResourceShortCode() string
- func (e Etcd) ResourceSingular() string
- func (e Etcd) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (e *Etcd) SetDefaults()
- func (e Etcd) StatsService() mona.StatsAccessor
- func (e Etcd) StatsServiceLabels() map[string]string
- type EtcdList
- type EtcdSpec
- type EtcdStatus
- type FromNamespaces
- type GaleraWsrepSSTMethod
- type InitSpec
- type Kafka
- func (k *Kafka) AppBindingMeta() appcat.AppBindingMeta
- func (k *Kafka) BrokerNodeSelectors() map[string]string
- func (k *Kafka) BrokerServiceLabels() map[string]string
- func (k *Kafka) BrokerStatefulSetName() string
- func (k *Kafka) CertSecretVolumeMountPath(configDir string, cert string) string
- func (k *Kafka) CertSecretVolumeName(alias KafkaCertificateAlias) string
- func (k *Kafka) CertificateName(alias KafkaCertificateAlias) string
- func (k *Kafka) ClientCertificateCN(alias KafkaCertificateAlias) string
- func (k *Kafka) CombinedStatefulSetName() string
- func (k *Kafka) ConfigSecretName(role KafkaNodeRoleType) string
- func (k *Kafka) ControllerNodeSelectors() map[string]string
- func (k *Kafka) ControllerServiceLabels() map[string]string
- func (k *Kafka) ControllerStatefulSetName() string
- func (k *Kafka) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *Kafka) DeepCopy() *Kafka
- func (in *Kafka) DeepCopyInto(out *Kafka)
- func (in *Kafka) DeepCopyObject() runtime.Object
- func (k *Kafka) Default()
- func (k *Kafka) DefaultKeystoreCredSecretName() string
- func (k *Kafka) DefaultUserCredSecretName(username string) string
- func (k *Kafka) GetCertSecretName(alias KafkaCertificateAlias) string
- func (k *Kafka) GetConnectionScheme() string
- func (k *Kafka) GoverningServiceName() string
- func (k *Kafka) GoverningServiceNameBroker() string
- func (k *Kafka) GoverningServiceNameController() string
- func (k *Kafka) NodeRoleSpecificLabelKey(role KafkaNodeRoleType) string
- func (k *Kafka) OffshootLabels() map[string]string
- func (k *Kafka) OffshootName() string
- func (k *Kafka) OffshootSelectors(extraSelectors ...map[string]string) map[string]string
- func (k *Kafka) Owner() *meta.OwnerReference
- func (k *Kafka) PVCName(alias string) string
- func (k *Kafka) PodControllerLabels(extraLabels ...map[string]string) map[string]string
- func (k *Kafka) PodLabels(extraLabels ...map[string]string) map[string]string
- func (k *Kafka) ResourceFQN() string
- func (k *Kafka) ResourceKind() string
- func (k *Kafka) ResourcePlural() string
- func (k *Kafka) ResourceShortCode() string
- func (k *Kafka) ResourceSingular() string
- func (k *Kafka) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (k *Kafka) ServiceName() string
- func (k *Kafka) SetDefaults()
- func (k *Kafka) SetHealthCheckerDefaults()
- func (k *Kafka) SetTLSDefaults()
- func (k *Kafka) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (k *Kafka) StandbyServiceName() string
- func (k *Kafka) StatefulSetName() string
- func (k *Kafka) StatsService() mona.StatsAccessor
- func (k *Kafka) StatsServiceLabels() map[string]string
- func (k *Kafka) ValidateCreate() error
- func (k *Kafka) ValidateCreateOrUpdate() error
- func (k *Kafka) ValidateDelete() error
- func (k *Kafka) ValidateUpdate(old runtime.Object) error
- type KafkaApp
- type KafkaCertificateAlias
- type KafkaClusterTopology
- type KafkaList
- type KafkaListenerType
- type KafkaNode
- type KafkaNodeRoleType
- type KafkaPhase
- type KafkaSpec
- type KafkaStatus
- type KernelSettings
- type LoadBalanceMode
- type MariaDB
- func (m MariaDB) AppBindingMeta() appcat.AppBindingMeta
- func (m *MariaDB) CertFilePath(certAlias MariaDBCertificateAlias, certFileName string) string
- func (m *MariaDB) CertMountPath(alias MariaDBCertificateAlias) string
- func (m *MariaDB) CertificateName(alias MariaDBCertificateAlias) string
- func (m MariaDB) ClusterName() string
- func (_ MariaDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *MariaDB) DeepCopy() *MariaDB
- func (in *MariaDB) DeepCopyInto(out *MariaDB)
- func (in *MariaDB) DeepCopyObject() runtime.Object
- func (m MariaDB) GetAuthSecretName() string
- func (m *MariaDB) GetCertSecretName(alias MariaDBCertificateAlias) string
- func (m MariaDB) GoverningServiceName() string
- func (m *MariaDB) InlineConfigSecretName() string
- func (m MariaDB) IsCluster() bool
- func (m MariaDB) OffshootLabels() map[string]string
- func (m MariaDB) OffshootName() string
- func (m MariaDB) OffshootSelectors() map[string]string
- func (m MariaDB) PeerName(idx int) string
- func (m MariaDB) PodControllerLabels() map[string]string
- func (m MariaDB) PodLabels() map[string]string
- func (m MariaDB) PrimaryServiceDNS() string
- func (m *MariaDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (m MariaDB) ResourceFQN() string
- func (m MariaDB) ResourceKind() string
- func (m MariaDB) ResourcePlural() string
- func (m MariaDB) ResourceShortCode() string
- func (m MariaDB) ResourceSingular() string
- func (m MariaDB) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (m MariaDB) ServiceName() string
- func (m *MariaDB) SetDefaults(topology *core_util.Topology)
- func (m *MariaDB) SetHealthCheckerDefaults()
- func (m *MariaDB) SetTLSDefaults()
- func (m MariaDB) StatsService() mona.StatsAccessor
- func (m MariaDB) StatsServiceLabels() map[string]string
- type MariaDBCertificateAlias
- type MariaDBList
- type MariaDBSpec
- type MariaDBStatus
- type MemberSecret
- type Memcached
- func (m Memcached) AppBindingMeta() appcat.AppBindingMeta
- func (_ Memcached) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *Memcached) DeepCopy() *Memcached
- func (in *Memcached) DeepCopyInto(out *Memcached)
- func (in *Memcached) DeepCopyObject() runtime.Object
- func (m Memcached) GoverningServiceName() string
- func (m Memcached) OffshootLabels() map[string]string
- func (m Memcached) OffshootName() string
- func (m Memcached) OffshootSelectors() map[string]string
- func (m Memcached) PodControllerLabels() map[string]string
- func (m Memcached) PodLabels() map[string]string
- func (m *Memcached) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (m Memcached) ResourceFQN() string
- func (m Memcached) ResourceKind() string
- func (m Memcached) ResourcePlural() string
- func (m Memcached) ResourceShortCode() string
- func (m Memcached) ResourceSingular() string
- func (m Memcached) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (m Memcached) ServiceName() string
- func (m *Memcached) SetDefaults()
- func (m Memcached) StatsService() mona.StatsAccessor
- func (m Memcached) StatsServiceLabels() map[string]string
- type MemcachedCertificateAlias
- type MemcachedList
- type MemcachedSpec
- type MemcachedStatus
- type MongoArbiterNode
- type MongoDB
- func (m MongoDB) AppBindingMeta() appcat.AppBindingMeta
- func (m MongoDB) ArbiterLabels() map[string]string
- func (m MongoDB) ArbiterNodeName() string
- func (m MongoDB) ArbiterSelectors() map[string]string
- func (m MongoDB) ArbiterShardLabels(nodeNum int32) map[string]string
- func (m MongoDB) ArbiterShardNodeName(nodeNum int32) string
- func (m MongoDB) ArbiterShardSelectors(nodeNum int32) map[string]string
- func (m *MongoDB) CertificateName(alias MongoDBCertificateAlias, stsName string) string
- func (m *MongoDB) ConfigSecretName(nodeType string) string
- func (m MongoDB) ConfigSvrDSN() string
- func (m MongoDB) ConfigSvrHosts() []string
- func (m MongoDB) ConfigSvrLabels() map[string]string
- func (m MongoDB) ConfigSvrNodeName() string
- func (m MongoDB) ConfigSvrRepSetName() string
- func (m MongoDB) ConfigSvrSelectors() map[string]string
- func (_ MongoDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *MongoDB) DeepCopy() *MongoDB
- func (in *MongoDB) DeepCopyInto(out *MongoDB)
- func (in *MongoDB) DeepCopyObject() runtime.Object
- func (m MongoDB) GetAuthSecretName() string
- func (m *MongoDB) GetCertSecretName(alias MongoDBCertificateAlias, stsName string) string
- func (m MongoDB) GetCorrespondingArbiterStsName(replStsName string) string
- func (m MongoDB) GetCorrespondingHiddenStsName(replStsName string) string
- func (m MongoDB) GetCorrespondingReplicaStsName(arbStsName string) string
- func (m MongoDB) GetCorrespondingReplicaStsNameFromHidden(hiddenStsName string) string
- func (m *MongoDB) GetDefaultLivenessProbeSpec(mgVersion *v1alpha1.MongoDBVersion, isArbiter ...bool) *core.Probe
- func (m *MongoDB) GetDefaultReadinessProbeSpec(mgVersion *v1alpha1.MongoDBVersion, isArbiter ...bool) *core.Probe
- func (m *MongoDB) GetEntryCommand(mgVersion *v1alpha1.MongoDBVersion) string
- func (m MongoDB) GetShardNumber(shardName string) int
- func (m *MongoDB) GetURL(stsName string) string
- func (m MongoDB) GoverningServiceName(name string) string
- func (m MongoDB) HiddenNodeLabels() map[string]string
- func (m MongoDB) HiddenNodeName() string
- func (m MongoDB) HiddenNodeSelectors() map[string]string
- func (m MongoDB) HiddenNodeShardLabels(nodeNum int32) map[string]string
- func (m MongoDB) HiddenNodeShardSelectors(nodeNum int32) map[string]string
- func (m MongoDB) HiddenShardNodeName(nodeNum int32) string
- func (m MongoDB) HostAddress() string
- func (m MongoDB) HostAddressOnlyCoreMembers() string
- func (m MongoDB) Hosts() []string
- func (m MongoDB) HostsOnlyCoreMembers() []string
- func (m *MongoDB) KeyFileRequired() bool
- func (m MongoDB) MongosHosts() []string
- func (m MongoDB) MongosLabels() map[string]string
- func (m MongoDB) MongosNodeName() string
- func (m MongoDB) MongosSelectors() map[string]string
- func (m MongoDB) OffshootLabels() map[string]string
- func (m MongoDB) OffshootLabelsWhenOthers() map[string]string
- func (m MongoDB) OffshootName() string
- func (m MongoDB) OffshootSelectors() map[string]string
- func (m MongoDB) OffshootSelectorsWhenOthers() map[string]string
- func (m MongoDB) PodControllerLabels(podControllerLabels map[string]string, extraLabels ...map[string]string) map[string]string
- func (m MongoDB) PodLabels(podTemplateLabels map[string]string, extraLabels ...map[string]string) map[string]string
- func (m MongoDB) RepSetName() string
- func (m *MongoDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (m MongoDB) ResourceFQN() string
- func (m MongoDB) ResourceKind() string
- func (m MongoDB) ResourcePlural() string
- func (m MongoDB) ResourceShortCode() string
- func (m MongoDB) ResourceSingular() string
- func (m MongoDB) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (m MongoDB) ServiceName() string
- func (m *MongoDB) SetDefaults(mgVersion *v1alpha1.MongoDBVersion, topology *core_util.Topology)
- func (m *MongoDB) SetHealthCheckerDefaults()
- func (m *MongoDB) SetTLSDefaults()
- func (m MongoDB) ShardCommonNodeName() string
- func (m MongoDB) ShardDSN(nodeNum int32) string
- func (m MongoDB) ShardDSNOnlyCoreMembers(nodeNum int32) string
- func (m MongoDB) ShardHosts(nodeNum int32) []string
- func (m MongoDB) ShardHostsOnlyCoreMembers(nodeNum int32) []string
- func (m MongoDB) ShardLabels(nodeNum int32) map[string]string
- func (m MongoDB) ShardLabelsWhenOthers(nodeNum int32) map[string]string
- func (m MongoDB) ShardNodeName(nodeNum int32) string
- func (m MongoDB) ShardNodeTemplate() string
- func (m MongoDB) ShardRepSetName(nodeNum int32) string
- func (m MongoDB) ShardSelectors(nodeNum int32) map[string]string
- func (m MongoDB) ShardSelectorsWhenOthers(nodeNum int32) map[string]string
- func (m MongoDB) StatsService() mona.StatsAccessor
- func (m MongoDB) StatsServiceLabels() map[string]string
- type MongoDBCertificateAlias
- type MongoDBConfigNode
- type MongoDBList
- type MongoDBMongosNode
- type MongoDBNode
- type MongoDBReplicaSet
- type MongoDBShardNode
- type MongoDBShardingTopology
- type MongoDBSpec
- type MongoDBStatus
- type MongoHiddenNode
- type MongoShellScriptName
- type MySQL
- func (m MySQL) AppBindingMeta() appcat.AppBindingMeta
- func (m *MySQL) CertificateName(alias MySQLCertificateAlias) string
- func (_ MySQL) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *MySQL) DeepCopy() *MySQL
- func (in *MySQL) DeepCopyInto(out *MySQL)
- func (in *MySQL) DeepCopyObject() runtime.Object
- func (m MySQL) GetAuthSecretName() string
- func (m *MySQL) GetCertSecretName(alias MySQLCertificateAlias) string
- func (m MySQL) GetNameSpacedName() string
- func (m *MySQL) GetRouterName() string
- func (m MySQL) GoverningServiceName() string
- func (m MySQL) Hosts() []string
- func (m *MySQL) IsInnoDBCluster() bool
- func (m *MySQL) IsReadReplica() bool
- func (m *MySQL) IsSemiSync() bool
- func (m *MySQL) MySQLTLSArgs() []string
- func (m MySQL) OffshootLabels() map[string]string
- func (m MySQL) OffshootName() string
- func (m MySQL) OffshootSelectors() map[string]string
- func (m MySQL) PeerName(idx int) string
- func (m MySQL) PodControllerLabels() map[string]string
- func (m MySQL) PodLabels() map[string]string
- func (m MySQL) PrimaryServiceDNS() string
- func (m *MySQL) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (m MySQL) ResourceFQN() string
- func (m MySQL) ResourceKind() string
- func (m MySQL) ResourcePlural() string
- func (m MySQL) ResourceShortCode() string
- func (m MySQL) ResourceSingular() string
- func (m MySQL) RouterOffshootLabels() map[string]string
- func (m MySQL) RouterOffshootSelectors() map[string]string
- func (m MySQL) RouterPodControllerLabels() map[string]string
- func (m MySQL) RouterPodLabels() map[string]string
- func (m MySQL) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (m MySQL) ServiceName() string
- func (m *MySQL) SetDefaults(topology *core_util.Topology)
- func (m *MySQL) SetHealthCheckerDefaults()
- func (m *MySQL) SetTLSDefaults()
- func (m MySQL) StandbyServiceDNS() string
- func (m MySQL) StandbyServiceName() string
- func (m MySQL) StatsService() mona.StatsAccessor
- func (m MySQL) StatsServiceLabels() map[string]string
- func (m *MySQL) UsesGroupReplication() bool
- type MySQLCertificateAlias
- type MySQLGroupMode
- type MySQLGroupSpec
- type MySQLInnoDBClusterSpec
- type MySQLList
- type MySQLMode
- type MySQLReadReplicaSpec
- type MySQLRouterSpec
- type MySQLSpec
- type MySQLStatus
- type MySQLTopology
- type MySQLUser
- type NamedServiceTemplateSpec
- type PerconaXtraDB
- func (p PerconaXtraDB) AppBindingMeta() appcat.AppBindingMeta
- func (p *PerconaXtraDB) CertFilePath(certAlias PerconaXtraDBCertificateAlias, certFileName string) string
- func (p *PerconaXtraDB) CertMountPath(alias PerconaXtraDBCertificateAlias) string
- func (p *PerconaXtraDB) CertificateName(alias PerconaXtraDBCertificateAlias) string
- func (p PerconaXtraDB) ClusterName() string
- func (_ PerconaXtraDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *PerconaXtraDB) DeepCopy() *PerconaXtraDB
- func (in *PerconaXtraDB) DeepCopyInto(out *PerconaXtraDB)
- func (in *PerconaXtraDB) DeepCopyObject() runtime.Object
- func (p PerconaXtraDB) GetAuthSecretName() string
- func (p *PerconaXtraDB) GetCertSecretName(alias PerconaXtraDBCertificateAlias) string
- func (p PerconaXtraDB) GetMonitorSecretName() string
- func (p PerconaXtraDB) GetReplicationSecretName() string
- func (p PerconaXtraDB) GoverningServiceName() string
- func (p PerconaXtraDB) OffshootLabels() map[string]string
- func (p PerconaXtraDB) OffshootName() string
- func (p PerconaXtraDB) OffshootSelectors() map[string]string
- func (p PerconaXtraDB) PeerName(idx int) string
- func (p PerconaXtraDB) PodControllerLabels() map[string]string
- func (p PerconaXtraDB) PodLabels() map[string]string
- func (p PerconaXtraDB) PrimaryServiceDNS() string
- func (p *PerconaXtraDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (p PerconaXtraDB) ResourceFQN() string
- func (p PerconaXtraDB) ResourceKind() string
- func (p PerconaXtraDB) ResourcePlural() string
- func (p PerconaXtraDB) ResourceShortCode() string
- func (p PerconaXtraDB) ResourceSingular() string
- func (p PerconaXtraDB) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (p PerconaXtraDB) ServiceName() string
- func (p *PerconaXtraDB) SetDefaults(topology *core_util.Topology)
- func (p *PerconaXtraDB) SetHealthCheckerDefaults()
- func (p *PerconaXtraDB) SetTLSDefaults()
- func (p PerconaXtraDB) StatsService() mona.StatsAccessor
- func (p PerconaXtraDB) StatsServiceLabels() map[string]string
- type PerconaXtraDBCertificateAlias
- type PerconaXtraDBList
- type PerconaXtraDBSpec
- type PerconaXtraDBStatus
- type PgBouncer
- func (p PgBouncer) AppBindingMeta() appcat.AppBindingMeta
- func (p *PgBouncer) CertificateName(alias PgBouncerCertificateAlias) string
- func (p PgBouncer) ConfigSecretName() string
- func (p PgBouncer) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *PgBouncer) DeepCopy() *PgBouncer
- func (in *PgBouncer) DeepCopyInto(out *PgBouncer)
- func (in *PgBouncer) DeepCopyObject() runtime.Object
- func (p PgBouncer) GetAuthSecretName() string
- func (p PgBouncer) GetBackendSecretName() string
- func (p *PgBouncer) GetCertSecretName(alias PgBouncerCertificateAlias) string
- func (p *PgBouncer) GetPersistentSecrets() []string
- func (p PgBouncer) GoverningServiceName() string
- func (p PgBouncer) OffshootLabels() map[string]string
- func (p PgBouncer) OffshootName() string
- func (p PgBouncer) OffshootSelectors() map[string]string
- func (p PgBouncer) PodControllerLabels() map[string]string
- func (p PgBouncer) PodLabels() map[string]string
- func (p *PgBouncer) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (p PgBouncer) ReplicasServiceName() string
- func (p PgBouncer) ResourceFQN() string
- func (p PgBouncer) ResourceKind() string
- func (p PgBouncer) ResourcePlural() string
- func (p PgBouncer) ResourceShortCode() string
- func (p PgBouncer) ResourceSingular() string
- func (p PgBouncer) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (p PgBouncer) ServiceName() string
- func (p *PgBouncer) SetDefaults(pgBouncerVersion *catalog.PgBouncerVersion, usesAcme bool)
- func (p *PgBouncer) SetHealthCheckerDefaults()
- func (p *PgBouncer) SetSecurityContext(pgBouncerVersion *catalog.PgBouncerVersion)
- func (p *PgBouncer) SetTLSDefaults(usesAcme bool)
- func (p PgBouncer) StatsService() mona.StatsAccessor
- func (p PgBouncer) StatsServiceLabels() map[string]string
- type PgBouncerCertificateAlias
- type PgBouncerClientAuthMode
- type PgBouncerList
- type PgBouncerSSLMode
- type PgBouncerSpec
- type PgBouncerStatus
- type PgBouncerTerminationPolicy
- type PostgreLeaderElectionConfig
- type Postgres
- func (p Postgres) AppBindingMeta() appcat.AppBindingMeta
- func (p *Postgres) CertificateName(alias PostgresCertificateAlias) string
- func (_ Postgres) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *Postgres) DeepCopy() *Postgres
- func (in *Postgres) DeepCopyInto(out *Postgres)
- func (in *Postgres) DeepCopyObject() runtime.Object
- func (p Postgres) GetAuthSecretName() string
- func (p *Postgres) GetCertSecretName(alias PostgresCertificateAlias) string
- func (p Postgres) GoverningServiceName() string
- func (p Postgres) OffshootLabels() map[string]string
- func (p Postgres) OffshootName() string
- func (p Postgres) OffshootSelectors() map[string]string
- func (p Postgres) PodControllerLabels() map[string]string
- func (p Postgres) PodLabels() map[string]string
- func (p *Postgres) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (p Postgres) ResourceFQN() string
- func (p Postgres) ResourceKind() string
- func (p Postgres) ResourcePlural() string
- func (p Postgres) ResourceShortCode() string
- func (p Postgres) ResourceSingular() string
- func (p Postgres) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (p Postgres) ServiceName() string
- func (p *Postgres) SetDefaults(postgresVersion *catalog.PostgresVersion, topology *core_util.Topology)
- func (m *Postgres) SetHealthCheckerDefaults()
- func (p *Postgres) SetTLSDefaults()
- func (p Postgres) StandbyServiceName() string
- func (p Postgres) StatsService() mona.StatsAccessor
- func (p Postgres) StatsServiceLabels() map[string]string
- type PostgresCertificateAlias
- type PostgresClientAuthMode
- type PostgresList
- type PostgresSSLMode
- type PostgresSpec
- type PostgresStandbyMode
- type PostgresStatus
- type PostgresStreamingMode
- type ProxySQL
- func (p ProxySQL) AppBindingMeta() appcat.AppBindingMeta
- func (m *ProxySQL) CertificateName(alias ProxySQLCertificateAlias) string
- func (_ ProxySQL) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *ProxySQL) DeepCopy() *ProxySQL
- func (in *ProxySQL) DeepCopyInto(out *ProxySQL)
- func (in *ProxySQL) DeepCopyObject() runtime.Object
- func (p ProxySQL) GetAuthSecretName() string
- func (m *ProxySQL) GetCertSecretName(alias ProxySQLCertificateAlias) string
- func (p ProxySQL) GoverningServiceName() string
- func (m *ProxySQL) IsCluster() bool
- func (p ProxySQL) OffshootLabels() map[string]string
- func (p ProxySQL) OffshootName() string
- func (p ProxySQL) OffshootSelectors() map[string]string
- func (p ProxySQL) PodControllerLabels() map[string]string
- func (p ProxySQL) PodLabels() map[string]string
- func (p *ProxySQL) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (p ProxySQL) ResourceFQN() string
- func (p ProxySQL) ResourceKind() string
- func (p ProxySQL) ResourcePlural() string
- func (p ProxySQL) ResourceShortCode() string
- func (p ProxySQL) ResourceSingular() string
- func (p ProxySQL) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (p ProxySQL) ServiceName() string
- func (p *ProxySQL) SetDefaults(usesAcme bool)
- func (p *ProxySQL) SetHealthCheckerDefaults()
- func (m *ProxySQL) SetTLSDefaults(usesAcme bool)
- func (p ProxySQL) StatsService() mona.StatsAccessor
- func (p ProxySQL) StatsServiceLabels() map[string]string
- type ProxySQLCertificateAlias
- type ProxySQLConfiguration
- type ProxySQLList
- type ProxySQLSpec
- type ProxySQLStatus
- type RecoveryTarget
- type Redis
- func (r Redis) Address() string
- func (r Redis) AppBindingMeta() appcat.AppBindingMeta
- func (r Redis) BaseNameForShard() string
- func (r *Redis) CertificateName(alias RedisCertificateAlias) string
- func (r Redis) ConfigSecretName() string
- func (r Redis) CustomConfigSecretName() string
- func (r Redis) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *Redis) DeepCopy() *Redis
- func (in *Redis) DeepCopyInto(out *Redis)
- func (in *Redis) DeepCopyObject() runtime.Object
- func (r Redis) GetAuthSecretName() string
- func (r *Redis) GetCertSecretName(alias RedisCertificateAlias) string
- func (r Redis) GoverningServiceName() string
- func (r Redis) OffshootLabels() map[string]string
- func (r Redis) OffshootName() string
- func (r Redis) OffshootSelectors(extraSelectors ...map[string]string) map[string]string
- func (r Redis) PodControllerLabels(extraLabels ...map[string]string) map[string]string
- func (r Redis) PodLabels(extraLabels ...map[string]string) map[string]string
- func (r *Redis) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (r Redis) ResourceFQN() string
- func (r Redis) ResourceKind() string
- func (r Redis) ResourcePlural() string
- func (r Redis) ResourceShortCode() string
- func (r Redis) ResourceSingular() string
- func (r Redis) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (r Redis) ServiceName() string
- func (r *Redis) SetDefaults(topology *core_util.Topology)
- func (r *Redis) SetHealthCheckerDefaults()
- func (r *Redis) SetTLSDefaults()
- func (r Redis) ShardNodeTemplate() string
- func (r Redis) StandbyServiceName() string
- func (r Redis) StatefulSetNameWithShard(i int) string
- func (r Redis) StatsService() mona.StatsAccessor
- func (r Redis) StatsServiceLabels() map[string]string
- type RedisCertificateAlias
- type RedisClusterSpec
- type RedisList
- type RedisMode
- type RedisSentinel
- func (r RedisSentinel) Address() string
- func (rs RedisSentinel) AppBindingMeta() appcat.AppBindingMeta
- func (rs *RedisSentinel) CertificateName(alias RedisCertificateAlias) string
- func (rs RedisSentinel) ConfigSecretName() string
- func (rs RedisSentinel) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
- func (in *RedisSentinel) DeepCopy() *RedisSentinel
- func (in *RedisSentinel) DeepCopyInto(out *RedisSentinel)
- func (in *RedisSentinel) DeepCopyObject() runtime.Object
- func (rs RedisSentinel) GetAuthSecretName() string
- func (rs *RedisSentinel) GetCertSecretName(alias RedisCertificateAlias) string
- func (rs *RedisSentinel) GetPersistentSecrets() []string
- func (rs RedisSentinel) GoverningServiceName() string
- func (rs RedisSentinel) OffshootLabels() map[string]string
- func (rs RedisSentinel) OffshootName() string
- func (rs RedisSentinel) OffshootSelectors() map[string]string
- func (rs RedisSentinel) PodControllerLabels() map[string]string
- func (rs RedisSentinel) PodLabels() map[string]string
- func (rs *RedisSentinel) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
- func (rs RedisSentinel) ResourceFQN() string
- func (rs RedisSentinel) ResourceKind() string
- func (rs RedisSentinel) ResourcePlural() string
- func (rs RedisSentinel) ResourceShortCode() string
- func (rs RedisSentinel) ResourceSingular() string
- func (rs RedisSentinel) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
- func (rs *RedisSentinel) SetDefaults(topology *core_util.Topology)
- func (rs *RedisSentinel) SetHealthCheckerDefaults()
- func (rs *RedisSentinel) SetTLSDefaults()
- func (rs RedisSentinel) StatsService() mona.StatsAccessor
- func (rs RedisSentinel) StatsServiceLabels() map[string]string
- type RedisSentinelList
- type RedisSentinelRef
- type RedisSentinelSpec
- type RedisSentinelStatus
- type RedisSpec
- type RedisStatus
- type SSLMode
- type ScriptSourceSpec
- type SecretReference
- type SemiSyncSpec
- type ServiceAlias
- type StorageEngine
- type StorageType
- type SystemUserSecretsSpec
- type TLSPolicy
- type TerminationPolicy
Constants ¶
const ( // Deprecated DatabaseNamePrefix = "kubedb" KubeDBOrganization = "kubedb" LabelRole = kubedb.GroupName + "/role" ReplicationModeDetectorContainerName = "replication-mode-detector" DatabasePodPrimary = "primary" DatabasePodStandby = "standby" ComponentDatabase = "database" ComponentConnectionPooler = "connection-pooler" RoleStats = "stats" DefaultStatsPath = "/metrics" DefaultPasswordLength = 16 HealthCheckInterval = 10 * time.Second ContainerExporterName = "exporter" LocalHost = "localhost" LocalHostIP = "127.0.0.1" DBCustomConfigName = "custom-config" DefaultVolumeClaimTemplateName = "data" DBTLSVolume = "tls-volume" DBExporterTLSVolume = "exporter-tls-volume" CACert = "ca.crt" // =========================== Database key Constants ============================ PostgresKey = ResourceSingularPostgres + "." + kubedb.GroupName ElasticsearchKey = ResourceSingularElasticsearch + "." + kubedb.GroupName MySQLKey = ResourceSingularMySQL + "." + kubedb.GroupName MariaDBKey = ResourceSingularMariaDB + "." + kubedb.GroupName PerconaXtraDBKey = ResourceSingularPerconaXtraDB + "." + kubedb.GroupName MongoDBKey = ResourceSingularMongoDB + "." + kubedb.GroupName RedisKey = ResourceSingularRedis + "." + kubedb.GroupName MemcachedKey = ResourceSingularMemcached + "." + kubedb.GroupName EtcdKey = ResourceSingularEtcd + "." + kubedb.GroupName ProxySQLKey = ResourceSingularProxySQL + "." + kubedb.GroupName // =========================== Elasticsearch Constants ============================ ElasticsearchRestPort = 9200 ElasticsearchRestPortName = "http" ElasticsearchTransportPort = 9300 ElasticsearchTransportPortName = "transport" ElasticsearchPerformanceAnalyzerPort = 9600 ElasticsearchPerformanceAnalyzerPortName = "analyzer" ElasticsearchNodeRoleSet = "set" ElasticsearchConfigDir = "/usr/share/elasticsearch/config" ElasticsearchOpenSearchConfigDir = "/usr/share/opensearch/config" ElasticsearchSecureSettingsDir = "/elasticsearch/secure-settings" ElasticsearchTempConfigDir = "/elasticsearch/temp-config" ElasticsearchCustomConfigDir = "/elasticsearch/custom-config" ElasticsearchDataDir = "/usr/share/elasticsearch/data" ElasticsearchOpenSearchDataDir = "/usr/share/opensearch/data" ElasticsearchTempDir = "/tmp" ElasticsearchOpendistroSecurityConfigDir = "/usr/share/elasticsearch/plugins/opendistro_security/securityconfig" ElasticsearchOpenSearchSecurityConfigDir = "/usr/share/opensearch/plugins/opensearch-security/securityconfig" ElasticsearchOpenSearchSecurityConfigDirV2 = "/usr/share/opensearch/config/opensearch-security" ElasticsearchSearchGuardSecurityConfigDir = "/usr/share/elasticsearch/plugins/search-guard-%v/sgconfig" ElasticsearchOpendistroReadallMonitorRole = "readall_and_monitor" ElasticsearchOpenSearchReadallMonitorRole = "readall_and_monitor" ElasticsearchSearchGuardReadallMonitorRoleV7 = "SGS_READALL_AND_MONITOR" ElasticsearchSearchGuardReadallMonitorRoleV6 = "sg_readall_and_monitor" ElasticsearchStatusGreen = "green" ElasticsearchStatusYellow = "yellow" ElasticsearchStatusRed = "red" ElasticsearchInitSysctlContainerName = "init-sysctl" ElasticsearchInitConfigMergerContainerName = "config-merger" ElasticsearchContainerName = "elasticsearch" ElasticsearchExporterContainerName = "exporter" ElasticsearchSearchGuardRolesMappingFileName = "sg_roles_mapping.yml" ElasticsearchSearchGuardInternalUserFileName = "sg_internal_users.yml" ElasticsearchOpendistroRolesMappingFileName = "roles_mapping.yml" ElasticsearchOpendistroInternalUserFileName = "internal_users.yml" ElasticsearchJavaOptsEnv = "ES_JAVA_OPTS" ElasticsearchOpenSearchJavaOptsEnv = "OPENSEARCH_JAVA_OPTS" ElasticsearchVolumeConfig = "esconfig" ElasticsearchVolumeTempConfig = "temp-config" ElasticsearchVolumeSecurityConfig = "security-config" ElasticsearchVolumeSecureSettings = "secure-settings" ElasticsearchVolumeCustomConfig = "custom-config" ElasticsearchVolumeData = "data" ElasticsearchVolumeTemp = "temp" // Ref: // - https://www.elastic.co/guide/en/elasticsearch/reference/7.6/heap-size.html#heap-size // - no more than 50% of your physical RAM // - no more than 32GB that the JVM uses for compressed object pointers (compressed oops) // - no more than 26GB for zero-based compressed oops; // 26 GB is safe on most systems ElasticsearchMaxHeapSize = 26 * 1024 * 1024 * 1024 // 128MB ElasticsearchMinHeapSize = 128 * 1024 * 1024 // =========================== Memcached Constants ============================ MemcachedDatabasePortName = "db" MemcachedPrimaryServicePortName = "primary" MemcachedDatabasePort = 11211 MongoDBDatabasePortName = "db" MongoDBPrimaryServicePortName = "primary" MongoDBDatabasePort = 27017 MongoDBKeyFileSecretSuffix = "-key" MongoDBRootUsername = "root" MongoDBCustomConfigFile = "mongod.conf" MongoDBReplicaSetConfig = "replicaset.json" MongoDBConfigurationJSFile = "configuration.js" NodeTypeMongos = "mongos" NodeTypeShard = "shard" NodeTypeConfig = "configsvr" NodeTypeArbiter = "arbiter" NodeTypeHidden = "hidden" NodeTypeReplica = "replica" NodeTypeStandalone = "standalone" MongoDBWorkDirectoryName = "workdir" MongoDBWorkDirectoryPath = "/work-dir" MongoDBCertDirectoryName = "certdir" MongoDBDataDirectoryName = "datadir" MongoDBDataDirectoryPath = "/data/db" MongoDBInitInstallContainerName = "copy-config" MongoDBInitBootstrapContainerName = "bootstrap" MongoDBConfigDirectoryName = "config" MongoDBConfigDirectoryPath = "/data/configdb" MongoDBInitialConfigDirectoryName = "configdir" MongoDBInitialConfigDirectoryPath = "/configdb-readonly" MongoDBInitScriptDirectoryName = "init-scripts" MongoDBInitScriptDirectoryPath = "/init-scripts" MongoDBInitialDirectoryName = "initial-script" MongoDBInitialDirectoryPath = "/docker-entrypoint-initdb.d" MongoDBClientCertDirectoryName = "client-cert" MongoDBClientCertDirectoryPath = "/client-cert" MongoDBServerCertDirectoryName = "server-cert" MongoDBServerCertDirectoryPath = "/server-cert" MongoDBInitialKeyDirectoryName = "keydir" MongoDBInitialKeyDirectoryPath = "/keydir-readonly" MongoDBContainerName = ResourceSingularMongoDB MongoDBDefaultVolumeClaimTemplateName = MongoDBDataDirectoryName MongodbUser = "root" MongoDBKeyForKeyFile = "key.txt" MongoDBAuthSecretSuffix = "-auth" // =========================== MySQL Constants ============================ MySQLMetricsExporterConfigSecretSuffix = "metrics-exporter-config" MySQLDatabasePortName = "db" MySQLRouterReadWritePortName = "rw" MySQLRouterReadOnlyPortName = "ro" MySQLPrimaryServicePortName = "primary" MySQLStandbyServicePortName = "standby" MySQLDatabasePort = 3306 MySQLRouterReadWritePort = 6446 MySQLRouterReadOnlyPort = 6447 MySQLCoordinatorClientPort = 2379 MySQLCoordinatorPort = 2380 MySQLCoordinatorStatus = "Coordinator/Status" MySQLGroupComPort = 33060 MySQLMaxGroupMembers = 9 // The recommended MySQL server version for group replication (GR) MySQLGRRecommendedVersion = "8.0.23" MySQLDefaultGroupSize = 3 MySQLRootUserName = "MYSQL_ROOT_USERNAME" MySQLRootPassword = "MYSQL_ROOT_PASSWORD" MySQLName = "MYSQL_NAME" MySQLRootUser = "root" MySQLTLSConfigCustom = "custom" MySQLTLSConfigSkipVerify = "skip-verify" MySQLTLSConfigTrue = "true" MySQLTLSConfigFalse = "false" MySQLTLSConfigPreferred = "preferred" MySQLContainerName = "mysql" MySQLRouterContainerName = "mysql-router" MySQLRouterInitContainerName = "mysql-router-init" MySQLCoordinatorContainerName = "mysql-coordinator" MySQLInitContainerName = "mysql-init" MySQLRouterInitScriptDirectoryName = "init-scripts" MySQLRouterInitScriptDirectoryPath = "/scripts" MySQLRouterConfigDirectoryName = "router-config-secret" MySQLRouterConfigDirectoryPath = "/etc/mysqlrouter" MySQLRouterTLSDirectoryName = "router-tls-volume" MySQLRouterTLSDirectoryPath = "/etc/mysql/certs" MySQLReplicationUser = "repl" MySQLComponentKey = MySQLKey + "/component" MySQLComponentDB = "database" MySQLComponentRouter = "router" MySQLVolumeNameTemp = "tmp" MySQLVolumeMountPathTemp = "/tmp" MySQLVolumeNameData = "data" MySQLVolumeMountPathData = "/var/lib/mysql" MySQLVolumeNameUserInitScript = "initial-script" MySQLVolumeMountPathUserInitScript = "/docker-entrypoint-initdb.d" MySQLVolumeNameInitScript = "init-scripts" MySQLVolumeMountPathInitScript = "/scripts" MySQLVolumeNameCustomConfig = "custom-config" MySQLVolumeMountPathCustomConfig = "/etc/mysql/conf.d" MySQLVolumeNameTLS = "tls-volume" MySQLVolumeMountPathTLS = "/etc/mysql/certs" MySQLVolumeNameExporterTLS = "exporter-tls-volume" MySQLVolumeMountPathExporterTLS = "/etc/mysql/certs" MySQLVolumeNameSourceCA = "source-ca" MySQLVolumeMountPathSourceCA = "/etc/mysql/server/certs" // =========================== PerconaXtraDB Constants ============================ PerconaXtraDBClusterRecommendedVersion = "5.7" PerconaXtraDBMaxClusterNameLength = 32 PerconaXtraDBStandaloneReplicas = 1 PerconaXtraDBDefaultClusterSize = 3 PerconaXtraDBDataMountPath = "/var/lib/mysql" PerconaXtraDBDataLostFoundPath = PerconaXtraDBDataMountPath + "/lost+found" PerconaXtraDBInitDBVolumeName = "initial-script" PerconaXtraDBInitDBMountPath = "/docker-entrypoint-initdb.d" PerconaXtraDBCustomConfigMountPath = "/etc/percona-server.conf.d/" PerconaXtraDBClusterCustomConfigMountPath = "/etc/mysql/custom.conf.d/" PerconaXtraDBCustomConfigVolumeName = "custom-config" PerconaXtraDBTLSConfigCustom = "custom" PerconaXtraDBInitContainerName = "px-init" PerconaXtraDBCoordinatorContainerName = "px-coordinator" PerconaXtraDBRunScriptVolumeName = "run-script" PerconaXtraDBRunScriptVolumeMountPath = "/run-script" PerconaXtraDBInitScriptVolumeName = "init-scripts" PerconaXtraDBInitScriptVolumeMountPath = "/scripts" PerconaXtraDBContainerName = ResourceSingularPerconaXtraDB PerconaXtraDBCertMountPath = "/etc/mysql/certs" PerconaXtraDBExporterConfigFileName = "exporter.cnf" PerconaXtraDBGaleraClusterPrimaryComponent = "Primary" PerconaXtraDBServerTLSVolumeName = "tls-server-config" PerconaXtraDBClientTLSVolumeName = "tls-client-config" PerconaXtraDBExporterTLSVolumeName = "tls-metrics-exporter-config" PerconaXtraDBMetricsExporterTLSVolumeName = "metrics-exporter-config" PerconaXtraDBMetricsExporterConfigPath = "/etc/mysql/config/exporter" PerconaXtraDBDataVolumeName = "data" PerconaXtraDBMySQLUserGroupID = 1001 // =========================== MariaDB Constants ============================ MariaDBMaxClusterNameLength = 32 MariaDBStandaloneReplicas = 1 MariaDBDefaultClusterSize = 3 MariaDBDataMountPath = "/var/lib/mysql" MariaDBDataLostFoundPath = MariaDBDataMountPath + "/lost+found" MariaDBInitDBVolumeName = "initial-script" MariaDBInitDBMountPath = "/docker-entrypoint-initdb.d" MariaDBCustomConfigMountPath = "/etc/mysql/conf.d/" MariaDBClusterCustomConfigMountPath = "/etc/mysql/custom.conf.d/" MariaDBCustomConfigVolumeName = "custom-config" MariaDBTLSConfigCustom = "custom" MariaDBInitContainerName = "mariadb-init" MariaDBCoordinatorContainerName = "md-coordinator" MariaDBRunScriptVolumeName = "run-script" MariaDBRunScriptVolumeMountPath = "/run-script" MariaDBInitScriptVolumeName = "init-scripts" MariaDBInitScriptVolumeMountPath = "/scripts" MariaDBContainerName = ResourceSingularMariaDB MariaDBCertMountPath = "/etc/mysql/certs" MariaDBExporterConfigFileName = "exporter.cnf" MariaDBGaleraClusterPrimaryComponent = "Primary" MariaDBServerTLSVolumeName = "tls-server-config" MariaDBClientTLSVolumeName = "tls-client-config" MariaDBExporterTLSVolumeName = "tls-metrics-exporter-config" MariaDBMetricsExporterTLSVolumeName = "metrics-exporter-config" MariaDBMetricsExporterConfigPath = "/etc/mysql/config/exporter" MariaDBDataVolumeName = "data" // =========================== PostgreSQL Constants ============================ PostgresDatabasePortName = "db" PostgresPrimaryServicePortName = "primary" PostgresStandbyServicePortName = "standby" PostgresDatabasePort = 5432 PostgresPodPrimary = "primary" PostgresPodStandby = "standby" EnvPostgresUser = "POSTGRES_USER" EnvPostgresPassword = "POSTGRES_PASSWORD" PostgresRootUser = "postgres" PostgresCoordinatorContainerName = "pg-coordinator" PostgresCoordinatorPort = 2380 PostgresCoordinatorPortName = "coordinator" PostgresContainerName = ResourceSingularPostgres PostgresCoordinatorClientPort = 2379 PostgresCoordinatorClientPortName = "coordinatclient" RaftMetricsExporterPort = 23790 RaftMetricsExporterPortName = "raft-metrics" PostgresInitVolumeName = "initial-script" PostgresInitDir = "/var/initdb" PostgresDataVolumeName = "data" PostgresDataDir = "/var/pv" PostgresCustomConfigVolumeName = "custom-config" PostgresCustomConfigDir = "/etc/config" PostgresRunScriptsVolumeName = "run-scripts" PostgresRunScriptsDir = "/run_scripts" PostgresRoleScriptsVolumeName = "role-scripts" PostgresRoleScriptsDir = "/role_scripts" PostgresKeyFileSecretSuffix = "key" PostgresPEMSecretSuffix = "pem" PostgresDefaultUsername = "postgres" PostgresPgCoordinatorStatus = "Coordinator/Status" // to pause the failover for postgres. this is helpful for ops request PostgresPgCoordinatorStatusPause = "Pause" // to resume the failover for postgres. this is helpful for ops request PostgresPgCoordinatorStatusResume = "Resume" // when we need to resume pg-coordinator as non transferable we are going to set this state. // this is useful when we have set a node as primary and you don't want other node rather then this node to become primary. PostgresPgCoordinatorStatusResumeNonTransferable = "NonTransferableResume" // =========================== ProxySQL Constants ============================ LabelProxySQLName = ProxySQLKey + "/name" LabelProxySQLLoadBalance = ProxySQLKey + "/load-balance" LabelProxySQLLoadBalanceStandalone = "Standalone" ProxySQLContainerName = ResourceSingularProxySQL ProxySQLDatabasePort = 6033 ProxySQLDatabasePortName = "db" ProxySQLPrimaryServicePortName = "db" ProxySQLAdminPort = 6032 ProxySQLAdminPortName = "admin" ProxySQLDataMountPath = "/var/lib/proxysql" ProxySQLCustomConfigMountPath = "/etc/custom-config" ProxySQLBackendSSLMountPath = "/var/lib/certs" ProxySQLFrontendSSLMountPath = "/var/lib/frontend" ProxySQLClusterAdmin = "cluster" ProxySQLClusterPasswordField = "cluster_password" ProxySQLTLSConfigCustom = "custom" ProxySQLTLSConfigSkipVerify = "skip-verify" ProxySQLMonitorUsername = "proxysql" ProxySQLAuthUsername = "cluster" ProxySQLConfigSecretKey = "proxysql.cnf" // =========================== Redis Constants ============================ RedisConfigKey = "redis.conf" // RedisConfigKey is going to create for the customize redis configuration // DefaultConfigKey is going to create for the default redis configuration RedisContainerName = ResourceSingularRedis RedisSentinelContainerName = "redissentinel" DefaultConfigKey = "default.conf" RedisShardKey = RedisKey + "/shard" RedisDatabasePortName = "db" RedisPrimaryServicePortName = "primary" RedisDatabasePort = 6379 RedisSentinelPort = 26379 RedisGossipPortName = "gossip" RedisGossipPort = 16379 RedisSentinelPortName = "sentinel" RedisScriptVolumeName = "script-vol" RedisScriptVolumePath = "/scripts" RedisDataVolumeName = "data" RedisDataVolumePath = "/data" RedisTLSVolumeName = "tls-volume" RedisExporterTLSVolumeName = "exporter-tls-volume" RedisTLSVolumePath = "/certs" RedisSentinelTLSVolumeName = "sentinel-tls-volume" RedisSentinelTLSVolumePath = "/sentinel-certs" RedisConfigVolumeName = "redis-config" RedisConfigVolumePath = "/usr/local/etc/redis/" RedisNodeFlagMaster = "master" RedisNodeFlagNoAddr = "noaddr" RedisNodeFlagSlave = "slave" RedisKeyFileSecretSuffix = "key" RedisPEMSecretSuffix = "pem" RedisRootUsername = "default" EnvRedisUser = "USERNAME" EnvRedisPassword = "REDISCLI_AUTH" // =========================== PgBouncer Constants ============================ PgBouncerUpstreamServerCA = "upstream-server-ca.crt" PgBouncerUpstreamServerClientCert = "upstream-server-client.crt" PgBouncerUpstreamServerClientKey = "upstream-server-client.key" PgBouncerClientCrt = "client.crt" PgBouncerClientKey = "client.key" PgBouncerCACrt = "ca.crt" PgBouncerTLSCrt = "tls.crt" PgBouncerTLSKey = "tls.key" PgBouncerDatabasePortName = "db" PgBouncerPrimaryServicePortName = "primary" PgBouncerDatabasePort = 5432 PgBouncerConfigFile = "pgbouncer.ini" PgBouncerAdminUsername = "pgbouncer" PgBouncerDefaultPoolMode = "session" PgBouncerDefaultIgnoreStartupParameters = "empty" )
const ( // used for Databases that have started provisioning DatabaseProvisioningStarted = "ProvisioningStarted" // used for Databases which completed provisioning DatabaseProvisioned = "Provisioned" // used for Databases that are currently being initialized using stash DatabaseDataRestoreStarted = "DataRestoreStarted" // used for Databases that have been initialized using stash DatabaseDataRestored = "DataRestored" // used for Databases whose pods are ready DatabaseReplicaReady = "ReplicaReady" // used for Databases that are currently accepting connection DatabaseAcceptingConnection = "AcceptingConnection" // used for Databases that report status OK (also implies that we can connect to it) DatabaseReady = "Ready" // used for database that reports ok when all the instances are available ServerReady = "ServerReady" // used for Databases that are paused DatabasePaused = "Paused" // used for Databases that are halted DatabaseHalted = "Halted" // used for pausing health check of a Database DatabaseHealthCheckPaused = "HealthCheckPaused" // used for Databases whose internal user credentials are synced InternalUsersSynced = "InternalUsersSynced" // user for databases that have read access DatabaseReadAccess = "DatabaseReadAccess" // user for databases that have write access DatabaseWriteAccess = "DatabaseWriteAccess" // Condition reasons DataRestoreStartedByExternalInitializer = "DataRestoreStartedByExternalInitializer" DataRestoreInterrupted = "DataRestoreInterrupted" DatabaseSuccessfullyRestored = "SuccessfullyDataRestored" FailedToRestoreData = "FailedToRestoreData" AllReplicasAreReady = "AllReplicasReady" SomeReplicasAreNotReady = "SomeReplicasNotReady" DatabaseAcceptingConnectionRequest = "DatabaseAcceptingConnectionRequest" DatabaseNotAcceptingConnectionRequest = "DatabaseNotAcceptingConnectionRequest" ReadinessCheckSucceeded = "ReadinessCheckSucceeded" ReadinessCheckFailed = "ReadinessCheckFailed" DatabaseProvisioningStartedSuccessfully = "DatabaseProvisioningStartedSuccessfully" DatabaseSuccessfullyProvisioned = "DatabaseSuccessfullyProvisioned" DatabaseHaltedSuccessfully = "DatabaseHaltedSuccessfully" DatabaseReadAccessCheckSucceeded = "DatabaseReadAccessCheckSucceeded" DatabaseWriteAccessCheckSucceeded = "DatabaseWriteAccessCheckSucceeded" DatabaseReadAccessCheckFailed = "DatabaseReadAccessCheckFailed" DatabaseWriteAccessCheckFailed = "DatabaseReadAccessCheckFailed" InternalUsersCredentialSyncFailed = "InternalUsersCredentialsSyncFailed" InternalUsersCredentialsSyncedSuccessfully = "InternalUsersCredentialsSyncedSuccessfully" )
List of possible condition types for a KubeDB object
const ( KafkaPortNameREST = "http" KafkaPortNameController = "controller" KafkaBrokerClientPortName = "broker" KafkaControllerClientPortName = "controller" KafkaPortNameInternal = "internal" KafkaTopicNameHealth = "kafka-health" KafkaTopicDeletionThresholdOffset = 1000 KafkaRESTPort = 9092 KafkaControllerRESTPort = 9093 KafkaInternalRESTPort = 29092 KafkaContainerName = "kafka" KafkaUserAdmin = "admin" KafkaNodeRoleSet = "set" KafkaNodeRolesCombined = "controller,broker" KafkaNodeRolesController = "controller" KafkaNodeRolesBrokers = "broker" KafkaStandbyServiceSuffix = "standby" KafkaBrokerListener = "KafkaBrokerListener" KafkaControllerListener = "KafkaControllerListener" KafkaDataDir = "/var/log/kafka" KafkaMetaDataDir = "/var/log/kafka/metadata" KafkaCertDir = "/var/private/ssl" KafkaConfigDir = "/opt/kafka/config/kafkaconfig" KafkaTempConfigDir = "/opt/kafka/config/temp-config" KafkaConfigFileName = "config.properties" KafkaSSLPropertiesFileName = "ssl.properties" KafkaClientAuthConfigFileName = "clientauth.properties" KafkaListeners = "listeners" KafkaAdvertisedListeners = "advertised.listeners" KafkaListenerSecurityProtocolMap = "listener.security.protocol.map" KafkaControllerNodeCount = "controller.count" KafkaControllerQuorumVoters = "controller.quorum.voters" KafkaControllerListenersName = "controller.listener.names" KafkaInterBrokerListener = "inter.broker.listener.name" KafkaNodeRole = "process.roles" KafkaClusterID = "cluster.id" KafkaDataDirName = "log.dirs" KafkaMetadataDirName = "metadata.log.dir" KafkaKeystorePasswordKey = "keystore_password" KafkaTruststorePasswordKey = "truststore_password" KafkaServerKeystoreKey = "server.keystore.jks" KafkaServerTruststoreKey = "server.truststore.jks" KafkaSecurityProtocol = "security.protocol" KafkaGracefulShutdownTimeout = "task.shutdown.graceful.timeout.ms" KafkaEndpointVerifyAlgo = "ssl.endpoint.identification.algorithm" KafkaKeystoreLocation = "ssl.keystore.location" KafkaTruststoreLocation = "ssl.truststore.location" KafkaKeystorePassword = "ssl.keystore.password" KafkaTruststorePassword = "ssl.truststore.password" KafkaKeyPassword = "ssl.key.password" KafkaKeystoreDefaultPass = "changeit" KafkaEnabledSASLMechanisms = "sasl.enabled.mechanisms" KafkaSASLMechanism = "sasl.mechanism" KafkaMechanismControllerProtocol = "sasl.mechanism.controller.protocol" KafkaSASLInterBrokerProtocol = "sasl.mechanism.inter.broker.protocol" KafkaSASLPLAINConfigKey = "listener.name.SASL_PLAINTEXT.plain.sasl.jaas.config" KafkaSASLSSLConfigKey = "listener.name.SASL_SSL.plain.sasl.jaas.config" KafkaSASLJAASConfig = "sasl.jaas.config" KafkaServiceName = "serviceName" KafkaSASLPlainMechanism = "PLAIN" KafkaVolumeData = "data" KafkaVolumeConfig = "kafkaconfig" KafkaVolumeTempConfig = "temp-config" EnvKafkaUser = "KAFKA_USER" EnvKafkaPassword = "KAFKA_PASSWORD" KafkaListenerPLAINTEXTProtocol = "PLAINTEXT" KafkaListenerSASLProtocol = "SASL_PLAINTEXT" KafkaListenerSASLSSLProtocol = "SASL_SSL" )
const ( ResourceCodeElasticsearch = "es" ResourceKindElasticsearch = "Elasticsearch" ResourceSingularElasticsearch = "elasticsearch" ResourcePluralElasticsearch = "elasticsearches" )
const ( ResourceCodeEtcd = "etc" ResourceKindEtcd = "Etcd" ResourceSingularEtcd = "etcd" ResourcePluralEtcd = "etcds" )
const ( ResourceCodeKafka = "kf" ResourceKindKafka = "Kafka" ResourceSingularKafka = "kafka" ResourcePluralKafka = "kafkas" )
const ( ResourceCodeMariaDB = "md" ResourceKindMariaDB = "MariaDB" ResourceSingularMariaDB = "mariadb" ResourcePluralMariaDB = "mariadbs" )
const ( ResourceCodeMemcached = "mc" ResourceKindMemcached = "Memcached" ResourceSingularMemcached = "memcached" ResourcePluralMemcached = "memcacheds" )
const ( TLSCAKeyFileName = "ca.key" TLSCACertFileName = "ca.crt" MongoPemFileName = "mongo.pem" MongoClientFileName = "client.pem" MongoCertDirectory = "/var/run/mongodb/tls" MongoDBShardLabelKey = "mongodb.kubedb.com/node.shard" MongoDBConfigLabelKey = "mongodb.kubedb.com/node.config" MongoDBMongosLabelKey = "mongodb.kubedb.com/node.mongos" MongoDBTypeLabelKey = "mongodb.kubedb.com/node.type" MongoDBShardAffinityTemplateVar = "SHARD_INDEX" )
const ( ResourceCodeMongoDB = "mg" ResourceKindMongoDB = "MongoDB" ResourceSingularMongoDB = "mongodb" ResourcePluralMongoDB = "mongodbs" )
const ( ResourceCodeMySQL = "my" ResourceKindMySQL = "MySQL" ResourceSingularMySQL = "mysql" ResourcePluralMySQL = "mysqls" )
const ( ResourceCodePerconaXtraDB = "px" ResourceKindPerconaXtraDB = "PerconaXtraDB" ResourceSingularPerconaXtraDB = "perconaxtradb" ResourcePluralPerconaXtraDB = "perconaxtradbs" )
const ( ResourceCodePgBouncer = "pb" ResourceKindPgBouncer = "PgBouncer" ResourceSingularPgBouncer = "pgbouncer" ResourcePluralPgBouncer = "pgbouncers" )
const ( ResourceCodePostgres = "pg" ResourceKindPostgres = "Postgres" ResourceSingularPostgres = "postgres" ResourcePluralPostgres = "postgreses" )
const ( ResourceCodeProxySQL = "prx" ResourceKindProxySQL = "ProxySQL" ResourceSingularProxySQL = "proxysql" ResourcePluralProxySQL = "proxysqls" )
const ( ResourceCodeRedisSentinel = "rds" ResourceKindRedisSentinel = "RedisSentinel" ResourceSingularRedisSentinel = "redissentinel" ResourcePluralRedisSentinel = "redissentinels" )
const ( ResourceCodeRedis = "rd" ResourceKindRedis = "Redis" ResourceSingularRedis = "redis" ResourcePluralRedis = "redises" )
const (
ElasticsearchNodeAffinityTemplateVar = "NODE_ROLE"
)
const (
RedisShardAffinityTemplateVar = "SHARD_INDEX"
)
const (
ResourceKindStatefulSet = "StatefulSet"
)
Resource kind related constants
Variables ¶
var ( DefaultResources = core.ResourceRequirements{ Requests: core.ResourceList{ core.ResourceCPU: resource.MustParse(".500"), core.ResourceMemory: resource.MustParse("1024Mi"), }, Limits: core.ResourceList{ core.ResourceMemory: resource.MustParse("1024Mi"), }, } // CoordinatorDefaultResources must be used for raft backed coordinators to avoid unintended leader switches CoordinatorDefaultResources = core.ResourceRequirements{ Requests: core.ResourceList{ core.ResourceCPU: resource.MustParse(".200"), core.ResourceMemory: resource.MustParse("256Mi"), }, Limits: core.ResourceList{ core.ResourceMemory: resource.MustParse("256Mi"), }, } // DefaultResourcesElasticSearch must be used for elasticsearch // to avoid OOMKILLED while deploying ES V8 DefaultResourcesElasticSearch = core.ResourceRequirements{ Requests: core.ResourceList{ core.ResourceCPU: resource.MustParse(".500"), core.ResourceMemory: resource.MustParse("1.5Gi"), }, Limits: core.ResourceList{ core.ResourceMemory: resource.MustParse("1.5Gi"), }, } )
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: kubedb.GroupName, Version: "v1alpha2"}
Functions ¶
func GetDatabasePods ¶ added in v0.24.0
func GetDatabasePods(db metav1.Object, stsLister appslister.StatefulSetLister, pods []core.Pod) ([]core.Pod, error)
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func GetServiceTemplate ¶ added in v0.15.0
func GetServiceTemplate(templates []NamedServiceTemplateSpec, alias ServiceAlias) ofst.ServiceTemplateSpec
GetServiceTemplate returns a pointer to the desired serviceTemplate referred by "aliaS". Otherwise, it returns nil.
func GetSharedBufferSizeForPostgres ¶ added in v0.19.0
GetSharedBufferSizeForPostgres this func takes a input type int64 which is in bytes return the 25% of the input in Bytes
func HasServiceTemplate ¶ added in v0.15.0
func HasServiceTemplate(templates []NamedServiceTemplateSpec, alias ServiceAlias) bool
HasServiceTemplate returns "true" if the desired serviceTemplate provided in "aliaS" is present in the serviceTemplate list. Otherwise, it returns "false".
func MySQLExporterTLSArg ¶ added in v0.16.0
func MySQLExporterTLSArg() string
func MySQLRequireSSLArg ¶ added in v0.16.0
func MySQLRequireSSLArg() string
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func UsesAcmeIssuer ¶ added in v0.32.0
Types ¶
type AddressType ¶ added in v0.18.0
type AddressType string
+kubebuilder:validation:Enum=DNS;IP;IPv4;IPv6
const ( AddressTypeDNS AddressType = "DNS" // Uses spec.podIP as address for db pods. AddressTypeIP AddressType = "IP" // Uses first IPv4 address from spec.podIP, spec.podIPs fields as address for db pods. AddressTypeIPv4 AddressType = "IPv4" // Uses first IPv6 address from spec.podIP, spec.podIPs fields as address for db pods. AddressTypeIPv6 AddressType = "IPv6" )
func (AddressType) IsIP ¶ added in v0.18.0
func (a AddressType) IsIP() bool
type Age ¶ added in v0.29.0
type Age struct { // Populated by Provisioner when authSecret is created or Ops Manager when authSecret is updated. LastUpdateTimestamp metav1.Time `json:"lastUpdateTimestamp,omitempty"` }
func (*Age) DeepCopy ¶ added in v0.29.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Age.
func (*Age) DeepCopyInto ¶ added in v0.29.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllowedConsumers ¶ added in v0.25.0
type AllowedConsumers struct { // Namespaces indicates namespaces from which Consumers may be attached to // // +optional // +kubebuilder:default={from: Same} Namespaces *ConsumerNamespaces `json:"namespaces,omitempty"` // Selector specifies a selector for consumers that are allowed to bind // to this database instance. // // +optional Selector *metav1.LabelSelector `json:"selector,omitempty"` }
AllowedConsumers defines which consumers may refer to a database instance.
func (*AllowedConsumers) DeepCopy ¶ added in v0.25.0
func (in *AllowedConsumers) DeepCopy() *AllowedConsumers
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedConsumers.
func (*AllowedConsumers) DeepCopyInto ¶ added in v0.25.0
func (in *AllowedConsumers) DeepCopyInto(out *AllowedConsumers)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoOpsSpec ¶ added in v0.28.0
type AutoOpsSpec struct { // Disabled specifies whether the ops-request recommendation generation will be disabled or not. // +optional Disabled bool `json:"disabled,omitempty"` }
AutoOpsSpec defines the specifications of automatic ops-request recommendation generation
func (*AutoOpsSpec) DeepCopy ¶ added in v0.28.0
func (in *AutoOpsSpec) DeepCopy() *AutoOpsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoOpsSpec.
func (*AutoOpsSpec) DeepCopyInto ¶ added in v0.28.0
func (in *AutoOpsSpec) DeepCopyInto(out *AutoOpsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAuthMode ¶
type ClusterAuthMode string
ClusterAuthMode represents the clusterAuthMode of mongodb clusters ( replicaset or sharding) ref: https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-clusterauthmode +kubebuilder:validation:Enum=keyFile;sendKeyFile;sendX509;x509
const ( // ClusterAuthModeKeyFile represents `keyFile` mongodb clusterAuthMode. In this mode, Use a keyfile for authentication. Accept only keyfiles. ClusterAuthModeKeyFile ClusterAuthMode = "keyFile" // ClusterAuthModeSendKeyFile represents `sendKeyFile` mongodb clusterAuthMode. // This mode is for rolling upgrade purposes. Send a keyfile for authentication but can accept both keyfiles // and x.509 certificates. ClusterAuthModeSendKeyFile ClusterAuthMode = "sendKeyFile" // ClusterAuthModeSendX509 represents `sendx509` mongodb clusterAuthMode. This mode is usually for rolling upgrade purposes. // Send the x.509 certificate for authentication but can accept both keyfiles and x.509 certificates. ClusterAuthModeSendX509 ClusterAuthMode = "sendX509" // ClusterAuthModeX509 represents `x509` mongodb clusterAuthMode. This is the recommended clusterAuthMode. // Send the x.509 certificate for authentication and accept only x.509 certificates. ClusterAuthModeX509 ClusterAuthMode = "x509" )
type ConnectionPoolConfig ¶
type ConnectionPoolConfig struct { // Port is the port number on which PgBouncer listens to clients. Default: 5432. // +kubebuilder:default=54342 // +optional Port *int32 `json:"port,omitempty"` // PoolMode is the pooling mechanism type. Default: session. // +kubebuilder:default="session" // +optional PoolMode string `json:"poolMode,omitempty"` // MaxClientConnections is the maximum number of allowed client connections. Default: 100. // +kubebuilder:default=100 // +optional MaxClientConnections *int64 `json:"maxClientConnections,omitempty"` // DefaultPoolSize specifies how many server connections to allow per user/database pair. Default: 20. // +kubebuilder:default=20 // +optional DefaultPoolSize *int64 `json:"defaultPoolSize,omitempty"` // MinPoolSize is used to add more server connections to pool if below this number. Default: 0 (disabled). // +kubebuilder:default=0 // +optional MinPoolSize *int64 `json:"minPoolSize,omitempty"` // ReservePoolSize specifies how many additional connections to allow to a pool. 0 disables. Default: 0 (disabled). // +kubebuilder:default=0 // +optional ReservePoolSize *int64 `json:"reservePoolSize,omitempty"` // ReservePoolTimeoutSeconds is the number of seconds in which if a client has not been serviced, // pgbouncer enables use of additional connections from reserve pool. 0 disables. Default: 5.0. // +kubebuilder:default=5 // +optional ReservePoolTimeoutSeconds *int64 `json:"reservePoolTimeoutSeconds,omitempty"` // MaxDBConnections is the maximum number of connections allowed per-database. Default: 0 (unlimited). // +kubebuilder:default=0 // +optional MaxDBConnections *int64 `json:"maxDBConnections,omitempty"` // MaxUserConnections is the maximum number of users allowed per-database. Default: 0 (unlimited). // +kubebuilder:default=0 // +optional MaxUserConnections *int64 `json:"maxUserConnections,omitempty"` // StatsPeriodSeconds sets how often the averages shown in various SHOW commands are updated // and how often aggregated statistics are written to the log. Default: 60 // +kubebuilder:default=60 // +optional StatsPeriodSeconds *int64 `json:"statsPeriodSeconds,omitempty"` // AuthType specifies how to authenticate users. Default: md5 (md5+plain text). // +kubebuilder:default=md5 // +optional AuthType PgBouncerClientAuthMode `json:"authType,omitempty"` // IgnoreStartupParameters specifies comma-separated startup parameters that // pgbouncer knows are handled by admin and it can ignore them. Default: empty // +kubebuilder:default="empty" // +optional IgnoreStartupParameters string `json:"ignoreStartupParameters,omitempty"` }
func (*ConnectionPoolConfig) DeepCopy ¶
func (in *ConnectionPoolConfig) DeepCopy() *ConnectionPoolConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolConfig.
func (*ConnectionPoolConfig) DeepCopyInto ¶
func (in *ConnectionPoolConfig) DeepCopyInto(out *ConnectionPoolConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConsumerNamespaces ¶ added in v0.25.0
type ConsumerNamespaces struct { // From indicates where Consumers will be selected for the database instance. Possible // values are: // * All: Consumers in all namespaces. // * Selector: Consumers in namespaces selected by the selector // * Same: Only Consumers in the same namespace // // +optional // +kubebuilder:default=Same From *FromNamespaces `json:"from,omitempty"` // Selector must be specified when From is set to "Selector". In that case, // only Consumers in Namespaces matching this Selector will be selected by the // database instance. This field is ignored for other values of "From". // // +optional Selector *metav1.LabelSelector `json:"selector,omitempty"` }
ConsumerNamespaces indicate which namespaces Consumers should be selected from.
func (*ConsumerNamespaces) DeepCopy ¶ added in v0.25.0
func (in *ConsumerNamespaces) DeepCopy() *ConsumerNamespaces
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsumerNamespaces.
func (*ConsumerNamespaces) DeepCopyInto ¶ added in v0.25.0
func (in *ConsumerNamespaces) DeepCopyInto(out *ConsumerNamespaces)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CoordinatorSpec ¶ added in v0.21.0
type CoordinatorSpec struct { // Compute Resources required by coordinator container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ // +optional Resources core.ResourceRequirements `json:"resources,omitempty"` // Security options the coordinator container should run with. // More info: https://kubernetes.io/docs/concepts/policy/security-context/ // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ // +optional SecurityContext *core.SecurityContext `json:"securityContext,omitempty"` }
CoordinatorSpec defines attributes of the coordinator container
func (*CoordinatorSpec) DeepCopy ¶ added in v0.21.0
func (in *CoordinatorSpec) DeepCopy() *CoordinatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoordinatorSpec.
func (*CoordinatorSpec) DeepCopyInto ¶ added in v0.21.0
func (in *CoordinatorSpec) DeepCopyInto(out *CoordinatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabasePhase ¶
type DatabasePhase string
+kubebuilder:validation:Enum=Provisioning;DataRestoring;Ready;Critical;NotReady;Halted;Unknown
const ( // used for Databases that are currently provisioning DatabasePhaseProvisioning DatabasePhase = "Provisioning" // used for Databases for which data is currently restoring DatabasePhaseDataRestoring DatabasePhase = "DataRestoring" // used for Databases that are currently ReplicaReady, AcceptingConnection and Ready DatabasePhaseReady DatabasePhase = "Ready" // used for Databases that can connect, ReplicaReady == false || Ready == false (eg, ES yellow) DatabasePhaseCritical DatabasePhase = "Critical" // used for Databases that can't connect DatabasePhaseNotReady DatabasePhase = "NotReady" // used for Databases that are halted DatabasePhaseHalted DatabasePhase = "Halted" // used for Databases for which Phase can't be calculated DatabasePhaseUnknown DatabasePhase = "Unknown" )
type Databases ¶
type Databases struct { // Alias to uniquely identify a target database running inside a specific Postgres instance. Alias string `json:"alias"` // DatabaseRef specifies the database appbinding reference in any namespace. DatabaseRef appcat.AppReference `json:"databaseRef"` // DatabaseName is the name of the target database inside a Postgres instance. DatabaseName string `json:"databaseName"` }
func (*Databases) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Databases.
func (*Databases) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Elasticsearch ¶
type Elasticsearch struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ElasticsearchSpec `json:"spec,omitempty"` Status ElasticsearchStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=elasticsearches,singular=elasticsearch,shortName=es,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (Elasticsearch) AppBindingMeta ¶
func (e Elasticsearch) AppBindingMeta() appcat.AppBindingMeta
func (*Elasticsearch) CertSecretVolumeMountPath ¶
func (e *Elasticsearch) CertSecretVolumeMountPath(configDir string, alias ElasticsearchCertificateAlias) string
returns the mountPath for certificate secrets. if configDir is "/usr/share/elasticsearch/config", mountPath will be, "/usr/share/elasticsearch/config/certs/<alias>".
func (*Elasticsearch) CertSecretVolumeName ¶
func (e *Elasticsearch) CertSecretVolumeName(alias ElasticsearchCertificateAlias) string
returns the volume name for certificate secret. Values will be like: transport-certs, http-certs etc.
func (*Elasticsearch) CertificateName ¶
func (e *Elasticsearch) CertificateName(alias ElasticsearchCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (*Elasticsearch) ClientCertificateCN ¶
func (e *Elasticsearch) ClientCertificateCN(alias ElasticsearchCertificateAlias) string
ClientCertificateCN returns the CN for a client certificate
func (*Elasticsearch) CombinedStatefulSetName ¶ added in v0.15.2
func (e *Elasticsearch) CombinedStatefulSetName() string
func (*Elasticsearch) ConfigSecretName ¶
func (e *Elasticsearch) ConfigSecretName() string
returns the secret name for the default elasticsearch configuration
func (*Elasticsearch) CoordinatingStatefulSetName ¶ added in v0.19.0
func (e *Elasticsearch) CoordinatingStatefulSetName() string
func (Elasticsearch) CustomResourceDefinition ¶
func (_ Elasticsearch) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*Elasticsearch) DataColdStatefulSetName ¶ added in v0.19.0
func (e *Elasticsearch) DataColdStatefulSetName() string
func (*Elasticsearch) DataContentStatefulSetName ¶ added in v0.19.0
func (e *Elasticsearch) DataContentStatefulSetName() string
func (*Elasticsearch) DataFrozenStatefulSetName ¶ added in v0.19.0
func (e *Elasticsearch) DataFrozenStatefulSetName() string
func (*Elasticsearch) DataHotStatefulSetName ¶ added in v0.19.0
func (e *Elasticsearch) DataHotStatefulSetName() string
func (Elasticsearch) DataSelectors ¶ added in v0.16.0
func (e Elasticsearch) DataSelectors() map[string]string
func (*Elasticsearch) DataStatefulSetName ¶ added in v0.15.2
func (e *Elasticsearch) DataStatefulSetName() string
func (*Elasticsearch) DataWarmStatefulSetName ¶ added in v0.19.0
func (e *Elasticsearch) DataWarmStatefulSetName() string
func (*Elasticsearch) DeepCopy ¶
func (in *Elasticsearch) DeepCopy() *Elasticsearch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Elasticsearch.
func (*Elasticsearch) DeepCopyInto ¶
func (in *Elasticsearch) DeepCopyInto(out *Elasticsearch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Elasticsearch) DeepCopyObject ¶
func (in *Elasticsearch) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Elasticsearch) DefaultUserCredSecretName ¶ added in v0.17.1
func (e *Elasticsearch) DefaultUserCredSecretName(userName string) string
returns the default secret name for the user credentials (ie. username, password) If username contains underscore (_), it will be replaced by hyphen (‐) for the Kubernetes naming convention.
func (Elasticsearch) GetAuthSecretName ¶ added in v0.29.0
func (e Elasticsearch) GetAuthSecretName() string
func (*Elasticsearch) GetCertSecretName ¶ added in v0.18.0
func (e *Elasticsearch) GetCertSecretName(alias ElasticsearchCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any, otherwise returns default certificate secret name for the given alias.
func (*Elasticsearch) GetConnectionScheme ¶
func (e *Elasticsearch) GetConnectionScheme() string
func (*Elasticsearch) GetConnectionURL ¶
func (e *Elasticsearch) GetConnectionURL() string
func (*Elasticsearch) GetMatchExpressions ¶
func (e *Elasticsearch) GetMatchExpressions() []metav1.LabelSelectorRequirement
func (*Elasticsearch) GetPersistentSecrets ¶
func (e *Elasticsearch) GetPersistentSecrets() []string
func (*Elasticsearch) GetUserCredSecretName ¶ added in v0.17.1
func (e *Elasticsearch) GetUserCredSecretName(username string) (string, error)
Return the secret name for the given user. Return error, if the secret name is missing.
func (Elasticsearch) GoverningServiceName ¶
func (e Elasticsearch) GoverningServiceName() string
func (Elasticsearch) IngestSelectors ¶ added in v0.16.0
func (e Elasticsearch) IngestSelectors() map[string]string
func (*Elasticsearch) IngestStatefulSetName ¶ added in v0.15.2
func (e *Elasticsearch) IngestStatefulSetName() string
func (*Elasticsearch) InitialMasterNodes ¶ added in v0.17.0
func (e *Elasticsearch) InitialMasterNodes() []string
func (*Elasticsearch) MLStatefulSetName ¶ added in v0.19.0
func (e *Elasticsearch) MLStatefulSetName() string
func (*Elasticsearch) MasterDiscoveryServiceName ¶ added in v0.15.0
func (e *Elasticsearch) MasterDiscoveryServiceName() string
func (Elasticsearch) MasterSelectors ¶ added in v0.16.0
func (e Elasticsearch) MasterSelectors() map[string]string
func (*Elasticsearch) MasterStatefulSetName ¶ added in v0.15.2
func (e *Elasticsearch) MasterStatefulSetName() string
func (Elasticsearch) NodeRoleSpecificLabelKey ¶ added in v0.19.0
func (e Elasticsearch) NodeRoleSpecificLabelKey(roleType ElasticsearchNodeRoleType) string
func (Elasticsearch) NodeRoleSpecificSelectors ¶ added in v0.19.0
func (e Elasticsearch) NodeRoleSpecificSelectors(roleType ElasticsearchNodeRoleType) map[string]string
func (Elasticsearch) OffshootLabels ¶
func (e Elasticsearch) OffshootLabels() map[string]string
func (Elasticsearch) OffshootName ¶
func (e Elasticsearch) OffshootName() string
func (Elasticsearch) OffshootSelectors ¶
func (e Elasticsearch) OffshootSelectors(extraSelectors ...map[string]string) map[string]string
func (Elasticsearch) PodControllerLabels ¶ added in v0.23.0
func (e Elasticsearch) PodControllerLabels(extraLabels ...map[string]string) map[string]string
func (Elasticsearch) PodLabels ¶ added in v0.23.0
func (e Elasticsearch) PodLabels(extraLabels ...map[string]string) map[string]string
func (*Elasticsearch) ReplicasAreReady ¶
func (e *Elasticsearch) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (Elasticsearch) ResourceFQN ¶ added in v0.16.0
func (e Elasticsearch) ResourceFQN() string
func (Elasticsearch) ResourceKind ¶
func (e Elasticsearch) ResourceKind() string
func (Elasticsearch) ResourcePlural ¶
func (e Elasticsearch) ResourcePlural() string
func (Elasticsearch) ResourceShortCode ¶
func (e Elasticsearch) ResourceShortCode() string
func (Elasticsearch) ResourceSingular ¶
func (e Elasticsearch) ResourceSingular() string
func (Elasticsearch) ServiceLabels ¶ added in v0.23.0
func (e Elasticsearch) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
func (Elasticsearch) ServiceName ¶
func (e Elasticsearch) ServiceName() string
func (*Elasticsearch) SetDefaults ¶
func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, topology *core_util.Topology)
func (*Elasticsearch) SetHealthCheckerDefaults ¶ added in v0.28.0
func (e *Elasticsearch) SetHealthCheckerDefaults()
func (*Elasticsearch) SetTLSDefaults ¶
func (e *Elasticsearch) SetTLSDefaults(esVersion *catalog.ElasticsearchVersion)
set default tls configuration (ie. alias, secretName)
func (Elasticsearch) StatsService ¶
func (e Elasticsearch) StatsService() mona.StatsAccessor
func (Elasticsearch) StatsServiceLabels ¶
func (e Elasticsearch) StatsServiceLabels() map[string]string
func (*Elasticsearch) TransformStatefulSetName ¶ added in v0.19.0
func (e *Elasticsearch) TransformStatefulSetName() string
type ElasticsearchCertificateAlias ¶
type ElasticsearchCertificateAlias string
+kubebuilder:validation:Enum=ca;transport;http;admin;client;archiver;metrics-exporter
const ( ElasticsearchCACert ElasticsearchCertificateAlias = "ca" ElasticsearchTransportCert ElasticsearchCertificateAlias = "transport" ElasticsearchHTTPCert ElasticsearchCertificateAlias = "http" ElasticsearchAdminCert ElasticsearchCertificateAlias = "admin" ElasticsearchClientCert ElasticsearchCertificateAlias = "client" ElasticsearchArchiverCert ElasticsearchCertificateAlias = "archiver" ElasticsearchMetricsExporterCert ElasticsearchCertificateAlias = "metrics-exporter" )
type ElasticsearchClusterTopology ¶
type ElasticsearchClusterTopology struct { Master ElasticsearchNode `json:"master"` Ingest ElasticsearchNode `json:"ingest"` Data *ElasticsearchNode `json:"data,omitempty"` DataContent *ElasticsearchNode `json:"dataContent,omitempty"` DataHot *ElasticsearchNode `json:"dataHot,omitempty"` DataWarm *ElasticsearchNode `json:"dataWarm,omitempty"` DataCold *ElasticsearchNode `json:"dataCold,omitempty"` DataFrozen *ElasticsearchNode `json:"dataFrozen,omitempty"` ML *ElasticsearchNode `json:"ml,omitempty"` Transform *ElasticsearchNode `json:"transform,omitempty"` Coordinating *ElasticsearchNode `json:"coordinating,omitempty"` }
func (*ElasticsearchClusterTopology) DeepCopy ¶
func (in *ElasticsearchClusterTopology) DeepCopy() *ElasticsearchClusterTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchClusterTopology.
func (*ElasticsearchClusterTopology) DeepCopyInto ¶
func (in *ElasticsearchClusterTopology) DeepCopyInto(out *ElasticsearchClusterTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ElasticsearchClusterTopology) ToMap ¶ added in v0.19.0
func (esTopology *ElasticsearchClusterTopology) ToMap() map[ElasticsearchNodeRoleType]ElasticsearchNode
ToMap returns ClusterTopology in a Map
type ElasticsearchInternalUser ¶
type ElasticsearchInternalUser string
const ( ElasticsearchInternalUserElastic ElasticsearchInternalUser = "elastic" ElasticsearchInternalUserAdmin ElasticsearchInternalUser = "admin" ElasticsearchInternalUserKibanaserver ElasticsearchInternalUser = "kibanaserver" ElasticsearchInternalUserKibanaSystem ElasticsearchInternalUser = "kibana_system" ElasticsearchInternalUserLogstashSystem ElasticsearchInternalUser = "logstash_system" ElasticsearchInternalUserBeatsSystem ElasticsearchInternalUser = "beats_system" ElasticsearchInternalUserApmSystem ElasticsearchInternalUser = "apm_system" ElasticsearchInternalUserRemoteMonitoringUser ElasticsearchInternalUser = "remote_monitoring_user" ElasticsearchInternalUserKibanaro ElasticsearchInternalUser = "kibanaro" ElasticsearchInternalUserLogstash ElasticsearchInternalUser = "logstash" ElasticsearchInternalUserReadall ElasticsearchInternalUser = "readall" ElasticsearchInternalUserSnapshotrestore ElasticsearchInternalUser = "snapshotrestore" ElasticsearchInternalUserMetricsExporter ElasticsearchInternalUser = "metrics_exporter" )
type ElasticsearchList ¶
type ElasticsearchList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of Elasticsearch CRD objects Items []Elasticsearch `json:"items,omitempty"` }
func (*ElasticsearchList) DeepCopy ¶
func (in *ElasticsearchList) DeepCopy() *ElasticsearchList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchList.
func (*ElasticsearchList) DeepCopyInto ¶
func (in *ElasticsearchList) DeepCopyInto(out *ElasticsearchList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ElasticsearchList) DeepCopyObject ¶
func (in *ElasticsearchList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ElasticsearchNode ¶
type ElasticsearchNode struct { // Replicas represents number of replica for this specific type of node // +optional Replicas *int32 `json:"replicas,omitempty"` // +optional Suffix string `json:"suffix,omitempty"` // HeapSizePercentage specifies both the initial heap allocation (-Xms) percentage and the maximum heap allocation (-Xmx) percentage. // Node level values have higher precedence than global values. // +optional HeapSizePercentage *int32 `json:"heapSizePercentage,omitempty"` // Storage to specify how storage shall be used. // +optional Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Compute Resources required by the sidecar container. // +optional Resources core.ResourceRequirements `json:"resources,omitempty"` // "selector" are unavailable after the eviction, i.e. even in absence of // the evicted pod. For example, one can prevent all voluntary evictions // by specifying 0. This is a mutually exclusive setting with "minAvailable". // +optional MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` }
func (*ElasticsearchNode) DeepCopy ¶
func (in *ElasticsearchNode) DeepCopy() *ElasticsearchNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchNode.
func (*ElasticsearchNode) DeepCopyInto ¶
func (in *ElasticsearchNode) DeepCopyInto(out *ElasticsearchNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ElasticsearchNodeRoleType ¶ added in v0.19.0
type ElasticsearchNodeRoleType string
const ( ElasticsearchNodeRoleTypeCombined ElasticsearchNodeRoleType = "combined" ElasticsearchNodeRoleTypeMaster ElasticsearchNodeRoleType = "master" ElasticsearchNodeRoleTypeData ElasticsearchNodeRoleType = "data" ElasticsearchNodeRoleTypeDataContent ElasticsearchNodeRoleType = "data-content" ElasticsearchNodeRoleTypeDataHot ElasticsearchNodeRoleType = "data-hot" ElasticsearchNodeRoleTypeDataWarm ElasticsearchNodeRoleType = "data-warm" ElasticsearchNodeRoleTypeDataCold ElasticsearchNodeRoleType = "data-cold" ElasticsearchNodeRoleTypeDataFrozen ElasticsearchNodeRoleType = "data-frozen" ElasticsearchNodeRoleTypeIngest ElasticsearchNodeRoleType = "ingest" ElasticsearchNodeRoleTypeML ElasticsearchNodeRoleType = "ml" ElasticsearchNodeRoleTypeRemoteClusterClient ElasticsearchNodeRoleType = "remote-cluster-client" ElasticsearchNodeRoleTypeTransform ElasticsearchNodeRoleType = "transform" ElasticsearchNodeRoleTypeCoordinating ElasticsearchNodeRoleType = "coordinating" )
type ElasticsearchRoleMapSpec ¶
type ElasticsearchRoleMapSpec struct { // Specifies the reserved status. // Resources that have this set to true can’t be changed using the REST API or Kibana. // Default to "false". // +optional Reserved bool `json:"reserved,omitempty" yaml:"reserved,omitempty"` // Specifies the hidden status. // Resources that have this set to true are not returned by the REST API // and not visible in Kibana. // Default to "false". // +optional Hidden bool `json:"hidden,omitempty" yaml:"hidden,omitempty"` // Specifies a list of backend roles assigned to this role. // Backend roles can come from the internal user database, // LDAP groups, JSON web token claims or SAML assertions. // +optional BackendRoles []string `json:"backendRoles,omitempty" yaml:"backend_roles,omitempty"` // Specifies a list of hosts assigned to this role. // +optional Hosts []string `json:"hosts,omitempty" yaml:"hosts,omitempty"` // Specifies a list of users assigned to this role. // +optional Users []string `json:"users,omitempty" yaml:"users,omitempty"` // Specifies a list of backend roles (migrated from ES-version6) assigned to this role. AndBackendRoles []string `json:"andBackendRoles,omitempty" yaml:"and_backend_roles,omitempty"` }
Specifies the role mapping structure. Both 'json' and 'yaml' tags are used in structure metadata. The `json` tags (camel case) are used while taking input from users. The `yaml` tags (snake case) are used by the operator to generate roles_mapping.yml file.
func (*ElasticsearchRoleMapSpec) DeepCopy ¶
func (in *ElasticsearchRoleMapSpec) DeepCopy() *ElasticsearchRoleMapSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchRoleMapSpec.
func (*ElasticsearchRoleMapSpec) DeepCopyInto ¶
func (in *ElasticsearchRoleMapSpec) DeepCopyInto(out *ElasticsearchRoleMapSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ElasticsearchSpec ¶
type ElasticsearchSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of Elasticsearch to be deployed. Version string `json:"version"` // Number of instances to deploy for a Elasticsearch database. // +optional Replicas *int32 `json:"replicas,omitempty"` // Elasticsearch topology for node specification // +optional Topology *ElasticsearchClusterTopology `json:"topology,omitempty"` // To enable ssl for http layer EnableSSL bool `json:"enableSSL,omitempty"` // disable security of authPlugin (ie, xpack or searchguard). It disables authentication security of user. // If unset, default is false // +optional DisableSecurity bool `json:"disableSecurity,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database. // If specified, this file will be used as configuration file otherwise default configuration file will be used. // +optional ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // SecureConfigSecret is an optional field to provide secure settings for database. // - Ref: https://www.elastic.co/guide/en/elasticsearch/reference/7.14/secure-settings.html // Secure settings are store at "ES_CONFIG_DIR/elasticsearch.keystore" file (contents are encoded with password), // once the keystore created. // Expects a k8s secret name with data format: // data: // key: value // password: KEYSTORE_PASSWORD // s3.client.default.access_key: ACCESS_KEY // s3.client.default.secret_key: SECRET_KEY // +optional SecureConfigSecret *core.LocalObjectReference `json:"secureConfigSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // "selector" are unavailable after the eviction, i.e. even in absence of // the evicted pod. For example, one can prevent all voluntary evictions // by specifying 0. This is a mutually exclusive setting with "minAvailable". // +optional MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` // TLS contains tls configurations // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // InternalUsers contains internal user configurations. // Expected Input format: // internalUsers: // <username1>: // ... // <username2>: // ... // +optional InternalUsers map[string]ElasticsearchUserSpec `json:"internalUsers,omitempty"` // RolesMapping contains roles mapping configurations. // Expected Input format: // rolesMapping: // <role1>: // ... // <role2>: // ... // +optional RolesMapping map[string]ElasticsearchRoleMapSpec `json:"rolesMapping,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // KernelSettings contains the additional kernel settings. // +optional KernelSettings *KernelSettings `json:"kernelSettings,omitempty"` // HeapSizePercentage specifies both the initial heap allocation (xms) percentage and the maximum heap allocation (xmx) percentage. // Elasticsearch bootstrap fails, if -Xms and -Xmx are not equal. // Error: initial heap size [X] not equal to maximum heap size [Y]; this can cause resize pauses. // It will be applied to all nodes. If the node level `heapSizePercentage` is specified, this global value will be overwritten. // It defaults to 50% of memory limit. // +optional // +kubebuilder:default=50 HeapSizePercentage *int32 `json:"heapSizePercentage,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*ElasticsearchSpec) DeepCopy ¶
func (in *ElasticsearchSpec) DeepCopy() *ElasticsearchSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchSpec.
func (*ElasticsearchSpec) DeepCopyInto ¶
func (in *ElasticsearchSpec) DeepCopyInto(out *ElasticsearchSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ElasticsearchStatus ¶
type ElasticsearchStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*ElasticsearchStatus) DeepCopy ¶
func (in *ElasticsearchStatus) DeepCopy() *ElasticsearchStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchStatus.
func (*ElasticsearchStatus) DeepCopyInto ¶
func (in *ElasticsearchStatus) DeepCopyInto(out *ElasticsearchStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ElasticsearchUserSpec ¶
type ElasticsearchUserSpec struct { // Specifies the hash of the password. // +optional Hash string `json:"-" yaml:"hash,omitempty"` // Specifies The full name of the user // Only applicable for xpack authplugin FullName string `json:"full_name,omitempty" yaml:"-"` // Specifies Arbitrary metadata that you want to associate with the user // Only applicable for xpack authplugin Metadata map[string]string `json:"metadata,omitempty" yaml:"-"` // Specifies the email of the user. // Only applicable for xpack authplugin Email string `json:"email,omitempty" yaml:"-"` // A set of roles the user has. The roles determine the user’s access permissions. // To create a user without any roles, specify an empty list: [] // Only applicable for xpack authplugin Roles []string `json:"roles,omitempty" yaml:"-"` // Specifies the k8s secret name that holds the user credentials. // Default to "<resource-name>-<username>-cred". // +optional SecretName string `json:"secretName,omitempty" yaml:"-"` // Specifies the reserved status. // Resources that have this set to true can’t be changed using the REST API or Kibana. // Default to "false". // +optional Reserved bool `json:"reserved,omitempty" yaml:"reserved,omitempty"` // Specifies the hidden status. // Resources that have this set to true are not returned by the REST API // and not visible in Kibana. // Default to "false". // +optional Hidden bool `json:"hidden,omitempty" yaml:"hidden,omitempty"` // Specifies a list of backend roles assigned to this user. // Backend roles can come from the internal user database, // LDAP groups, JSON web token claims or SAML assertions. // +optional BackendRoles []string `json:"backendRoles,omitempty" yaml:"backend_roles,omitempty"` // Specifies a list of searchguard security plugin roles assigned to this user. // +optional SearchGuardRoles []string `json:"searchGuardRoles,omitempty" yaml:"search_guard_roles,omitempty"` // Specifies a list of opendistro security plugin roles assigned to this user. // +optional OpendistroSecurityRoles []string `json:"opendistroSecurityRoles,omitempty" yaml:"opendistro_security_roles,omitempty"` // Specifies one or more custom attributes, // which can be used in index names and DLS queries. // +optional Attributes map[string]string `json:"attributes,omitempty" yaml:"attributes,omitempty"` // Specifies the description of the user // +optional Description string `json:"description,omitempty" yaml:"description,omitempty"` }
ElasticsearchUserSpec specifies the security plugin internal user structure. Both 'json' and 'yaml' tags are used in structure metadata. The `json` tags (camel case) are used while taking input from users. The `yaml` tags (snake case) are used by the operator to generate internal_users.yml file. For Elastic-Stack built-in users, there is no yaml files, instead the operator is responsible for creating/syncing the users. For the fields that are only used by operator, the metadata yaml tag is kept empty ("-") so that they do not interrupt in other distributions YAML generation.
func (*ElasticsearchUserSpec) DeepCopy ¶
func (in *ElasticsearchUserSpec) DeepCopy() *ElasticsearchUserSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchUserSpec.
func (*ElasticsearchUserSpec) DeepCopyInto ¶
func (in *ElasticsearchUserSpec) DeepCopyInto(out *ElasticsearchUserSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ErrantTransactionRecoveryPolicy ¶ added in v0.27.0
type ErrantTransactionRecoveryPolicy string
const ( ErrantTransactionRecoveryPolicyClone ErrantTransactionRecoveryPolicy = "Clone" ErrantTransactionRecoveryPolicyPseudoTransaction ErrantTransactionRecoveryPolicy = "PseudoTransaction" )
type Etcd ¶
type Etcd struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec EtcdSpec `json:"spec,omitempty"` Status EtcdStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=etcds,singular=etcd,shortName=etc,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (Etcd) AppBindingMeta ¶
func (r Etcd) AppBindingMeta() appcat.AppBindingMeta
func (Etcd) ClientServiceName ¶
func (Etcd) CustomResourceDefinition ¶
func (_ Etcd) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*Etcd) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Etcd.
func (*Etcd) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Etcd) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Etcd) GetAuthSecretName ¶ added in v0.29.0
func (Etcd) OffshootLabels ¶
func (Etcd) OffshootName ¶
func (Etcd) OffshootSelectors ¶
func (Etcd) PeerServiceName ¶
func (Etcd) PodControllerLabels ¶ added in v0.23.0
func (*Etcd) ReplicasAreReady ¶
func (e *Etcd) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (Etcd) ResourceFQN ¶ added in v0.16.0
func (Etcd) ResourceKind ¶
func (Etcd) ResourcePlural ¶
func (Etcd) ResourceShortCode ¶
func (Etcd) ResourceSingular ¶
func (Etcd) ServiceLabels ¶ added in v0.23.0
func (*Etcd) SetDefaults ¶
func (e *Etcd) SetDefaults()
func (Etcd) StatsService ¶
func (e Etcd) StatsService() mona.StatsAccessor
func (Etcd) StatsServiceLabels ¶
type EtcdList ¶
type EtcdList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of Etcd TPR objects Items []Etcd `json:"items,omitempty"` }
func (*EtcdList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdList.
func (*EtcdList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdSpec ¶
type EtcdSpec struct { // Version of Etcd to be deployed. Version string `json:"version"` // Number of instances to deploy for a Etcd database. Replicas *int32 `json:"replicas,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage spec to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // etcd cluster TLS configuration TLS *TLSPolicy `json:"tls,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` }
func (*EtcdSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSpec.
func (*EtcdSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdSpec) GetPersistentSecrets ¶
type EtcdStatus ¶
type EtcdStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*EtcdStatus) DeepCopy ¶
func (in *EtcdStatus) DeepCopy() *EtcdStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdStatus.
func (*EtcdStatus) DeepCopyInto ¶
func (in *EtcdStatus) DeepCopyInto(out *EtcdStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FromNamespaces ¶ added in v0.25.0
type FromNamespaces string
FromNamespaces specifies namespace from which Consumers may be attached to a database instance.
+kubebuilder:validation:Enum=All;Selector;Same
const ( // Consumers in all namespaces may be attached to the database instance. NamespacesFromAll FromNamespaces = "All" // Only Consumers in namespaces selected by the selector may be attached to the database instance. NamespacesFromSelector FromNamespaces = "Selector" // Only Consumers in the same namespace as the database instance may be attached to it. NamespacesFromSame FromNamespaces = "Same" )
type GaleraWsrepSSTMethod ¶ added in v0.32.0
type GaleraWsrepSSTMethod string
+kubebuilder:validation:Enum=rsync;mariabackup
const ( GaleraWsrepSSTMethodRsync GaleraWsrepSSTMethod = "rsync" GaleraWsrepSSTMethodMariabackup GaleraWsrepSSTMethod = "mariabackup" )
type InitSpec ¶
type InitSpec struct { // Initialized indicates that this database has been initialized. // This will be set by the operator when status.conditions["Provisioned"] is set to ensure // that database is not mistakenly reset when recovered using disaster recovery tools. Initialized bool `json:"initialized,omitempty"` // Wait for initial DataRestore condition WaitForInitialRestore bool `json:"waitForInitialRestore,omitempty"` Script *ScriptSourceSpec `json:"script,omitempty"` }
func (*InitSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitSpec.
func (*InitSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Kafka ¶ added in v0.30.0
type Kafka struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KafkaSpec `json:"spec,omitempty"` Status KafkaStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=kf,scope=Namespaced +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".apiVersion" +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*Kafka) AppBindingMeta ¶ added in v0.30.0
func (k *Kafka) AppBindingMeta() appcat.AppBindingMeta
func (*Kafka) BrokerNodeSelectors ¶ added in v0.30.0
func (*Kafka) BrokerServiceLabels ¶ added in v0.30.0
func (*Kafka) BrokerStatefulSetName ¶ added in v0.30.0
func (*Kafka) CertSecretVolumeMountPath ¶ added in v0.30.0
returns CertSecretVolumeMountPath if configDir is "/opt/kafka/config", mountPath will be, "/opt/kafka/config/<alias>".
func (*Kafka) CertSecretVolumeName ¶ added in v0.30.0
func (k *Kafka) CertSecretVolumeName(alias KafkaCertificateAlias) string
returns the CertSecretVolumeName Values will be like: client-certs, server-certs etc.
func (*Kafka) CertificateName ¶ added in v0.30.0
func (k *Kafka) CertificateName(alias KafkaCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (*Kafka) ClientCertificateCN ¶ added in v0.30.0
func (k *Kafka) ClientCertificateCN(alias KafkaCertificateAlias) string
ClientCertificateCN returns the CN for a client certificate
func (*Kafka) CombinedStatefulSetName ¶ added in v0.30.0
func (*Kafka) ConfigSecretName ¶ added in v0.30.0
func (k *Kafka) ConfigSecretName(role KafkaNodeRoleType) string
func (*Kafka) ControllerNodeSelectors ¶ added in v0.30.0
func (*Kafka) ControllerServiceLabels ¶ added in v0.30.0
func (*Kafka) ControllerStatefulSetName ¶ added in v0.30.0
func (*Kafka) CustomResourceDefinition ¶ added in v0.30.0
func (k *Kafka) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*Kafka) DeepCopy ¶ added in v0.30.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kafka.
func (*Kafka) DeepCopyInto ¶ added in v0.30.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Kafka) DeepCopyObject ¶ added in v0.30.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Kafka) Default ¶ added in v0.30.0
func (k *Kafka) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Kafka) DefaultKeystoreCredSecretName ¶ added in v0.30.0
func (*Kafka) DefaultUserCredSecretName ¶ added in v0.30.0
func (*Kafka) GetCertSecretName ¶ added in v0.30.0
func (k *Kafka) GetCertSecretName(alias KafkaCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any, otherwise returns default certificate secret name for the given alias.
func (*Kafka) GetConnectionScheme ¶ added in v0.30.0
func (*Kafka) GoverningServiceName ¶ added in v0.30.0
func (*Kafka) GoverningServiceNameBroker ¶ added in v0.30.0
func (*Kafka) GoverningServiceNameController ¶ added in v0.30.0
func (*Kafka) NodeRoleSpecificLabelKey ¶ added in v0.30.0
func (k *Kafka) NodeRoleSpecificLabelKey(role KafkaNodeRoleType) string
func (*Kafka) OffshootLabels ¶ added in v0.30.0
func (*Kafka) OffshootName ¶ added in v0.30.0
func (*Kafka) OffshootSelectors ¶ added in v0.30.0
func (*Kafka) Owner ¶ added in v0.30.0
func (k *Kafka) Owner() *meta.OwnerReference
Owner returns owner reference to resources
func (*Kafka) PodControllerLabels ¶ added in v0.30.0
func (*Kafka) ResourceFQN ¶ added in v0.30.0
func (*Kafka) ResourceKind ¶ added in v0.30.0
func (*Kafka) ResourcePlural ¶ added in v0.30.0
func (*Kafka) ResourceShortCode ¶ added in v0.30.0
func (*Kafka) ResourceSingular ¶ added in v0.30.0
func (*Kafka) ServiceLabels ¶ added in v0.30.0
func (*Kafka) ServiceName ¶ added in v0.30.0
func (*Kafka) SetDefaults ¶ added in v0.30.0
func (k *Kafka) SetDefaults()
func (*Kafka) SetHealthCheckerDefaults ¶ added in v0.30.0
func (k *Kafka) SetHealthCheckerDefaults()
func (*Kafka) SetTLSDefaults ¶ added in v0.30.0
func (k *Kafka) SetTLSDefaults()
func (*Kafka) SetupWebhookWithManager ¶ added in v0.30.0
func (*Kafka) StandbyServiceName ¶ added in v0.30.0
func (*Kafka) StatefulSetName ¶ added in v0.30.0
func (*Kafka) StatsService ¶ added in v0.33.0
func (k *Kafka) StatsService() mona.StatsAccessor
func (*Kafka) StatsServiceLabels ¶ added in v0.33.0
func (*Kafka) ValidateCreate ¶ added in v0.30.0
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Kafka) ValidateCreateOrUpdate ¶ added in v0.30.0
func (*Kafka) ValidateDelete ¶ added in v0.30.0
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type KafkaApp ¶ added in v0.30.0
type KafkaApp struct {
*Kafka
}
func (*KafkaApp) DeepCopy ¶ added in v0.30.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaApp.
func (*KafkaApp) DeepCopyInto ¶ added in v0.30.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaCertificateAlias ¶ added in v0.30.0
type KafkaCertificateAlias string
+kubebuilder:validation:Enum=ca;transport;http;client;server
const ( KafkaCACert KafkaCertificateAlias = "ca" KafkaTransportCert KafkaCertificateAlias = "transport" KafkaHTTPCert KafkaCertificateAlias = "http" KafkaClientCert KafkaCertificateAlias = "client" KafkaServerCert KafkaCertificateAlias = "server" )
type KafkaClusterTopology ¶ added in v0.30.0
type KafkaClusterTopology struct { Controller *KafkaNode `json:"controller,omitempty"` Broker *KafkaNode `json:"broker,omitempty"` }
KafkaClusterTopology defines kafka topology node specs for controller node and broker node dedicated controller nodes contains metadata for brokers and broker nodes contains data both nodes must be configured in topology mode
func (*KafkaClusterTopology) DeepCopy ¶ added in v0.30.0
func (in *KafkaClusterTopology) DeepCopy() *KafkaClusterTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaClusterTopology.
func (*KafkaClusterTopology) DeepCopyInto ¶ added in v0.30.0
func (in *KafkaClusterTopology) DeepCopyInto(out *KafkaClusterTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KafkaClusterTopology) ToMap ¶ added in v0.30.0
func (kfTopology *KafkaClusterTopology) ToMap() map[KafkaNodeRoleType]KafkaNode
ToMap returns ClusterTopology in a Map
type KafkaList ¶ added in v0.30.0
type KafkaList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Kafka `json:"items"` }
KafkaList contains a list of Kafka
func (*KafkaList) DeepCopy ¶ added in v0.30.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaList.
func (*KafkaList) DeepCopyInto ¶ added in v0.30.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KafkaList) DeepCopyObject ¶ added in v0.30.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KafkaListenerType ¶ added in v0.30.0
type KafkaListenerType string
+kubebuilder:validation:Enum=BROKER;CONTROLLER;INTERNAL
const ( KafkaListenerBroker KafkaListenerType = "BROKER" KafkaListenerController KafkaListenerType = "CONTROLLER" KafkaListenerInternal KafkaListenerType = "INTERNAL" )
type KafkaNode ¶ added in v0.30.0
type KafkaNode struct { // Replicas represents number of replica for this specific type of node // +optional Replicas *int32 `json:"replicas,omitempty"` // suffix to append with node name // +optional Suffix string `json:"suffix,omitempty"` // Storage to specify how storage shall be used. // +optional Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Compute Resources required by the sidecar container. // +optional Resources core.ResourceRequirements `json:"resources,omitempty"` }
func (*KafkaNode) DeepCopy ¶ added in v0.30.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaNode.
func (*KafkaNode) DeepCopyInto ¶ added in v0.30.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaNodeRoleType ¶ added in v0.30.0
type KafkaNodeRoleType string
+kubebuilder:validation:Enum=controller;broker;combined
const ( KafkaNodeRoleController KafkaNodeRoleType = "controller" KafkaNodeRoleBroker KafkaNodeRoleType = "broker" KafkaNodeRoleCombined KafkaNodeRoleType = "combined" )
type KafkaPhase ¶ added in v0.30.0
type KafkaPhase string
+kubebuilder:validation:Enum=Provisioning;Ready;NotReady;Critical
const ( KafkaPhaseProvisioning KafkaPhase = "Provisioning" KafkaPhaseReady KafkaPhase = "Ready" KafkaPhaseNotReady KafkaPhase = "NotReady" KafkaPhaseCritical KafkaPhase = "Critical" )
type KafkaSpec ¶ added in v0.30.0
type KafkaSpec struct { // Version of Kafka to be deployed. Version string `json:"version"` // Number of instances to deploy for a Kafka database. // +optional Replicas *int32 `json:"replicas,omitempty"` // Kafka topology for node specification // +optional Topology *KafkaClusterTopology `json:"topology,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // To enable ssl for http layer EnableSSL bool `json:"enableSSL,omitempty"` // disable security. It disables authentication security of user. // If unset, default is false // +optional DisableSecurity bool `json:"disableSecurity,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // Keystore encryption secret // +optional KeystoreCredSecret *SecretReference `json:"keystoreCredSecret,omitempty"` // TLS contains tls configurations // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 20, timeoutSeconds: 10, failureThreshold: 3} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` }
KafkaSpec defines the desired state of Kafka
func (*KafkaSpec) DeepCopy ¶ added in v0.30.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaSpec.
func (*KafkaSpec) DeepCopyInto ¶ added in v0.30.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaStatus ¶ added in v0.30.0
type KafkaStatus struct { // Specifies the current phase of the database // +optional Phase KafkaPhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` }
KafkaStatus defines the observed state of Kafka
func (*KafkaStatus) DeepCopy ¶ added in v0.30.0
func (in *KafkaStatus) DeepCopy() *KafkaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaStatus.
func (*KafkaStatus) DeepCopyInto ¶ added in v0.30.0
func (in *KafkaStatus) DeepCopyInto(out *KafkaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KernelSettings ¶ added in v0.16.0
type KernelSettings struct { // Privileged specifies the status whether the init container // requires privileged access to perform the following commands. // +optional Privileged bool `json:"privileged,omitempty"` // Sysctls hold a list of sysctls commands needs to apply to kernel. // +optional Sysctls []core.Sysctl `json:"sysctls,omitempty"` }
func (*KernelSettings) DeepCopy ¶ added in v0.16.0
func (in *KernelSettings) DeepCopy() *KernelSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelSettings.
func (*KernelSettings) DeepCopyInto ¶ added in v0.16.0
func (in *KernelSettings) DeepCopyInto(out *KernelSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalanceMode ¶
type LoadBalanceMode string
+kubebuilder:validation:Enum=Galera;GroupReplication
const ( LoadBalanceModeGalera LoadBalanceMode = "Galera" LoadBalanceModeGroupReplication LoadBalanceMode = "GroupReplication" )
type MariaDB ¶
type MariaDB struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MariaDBSpec `json:"spec,omitempty"` Status MariaDBStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=mariadbs,singular=mariadb,shortName=md,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (MariaDB) AppBindingMeta ¶
func (m MariaDB) AppBindingMeta() appcat.AppBindingMeta
func (*MariaDB) CertFilePath ¶ added in v0.28.0
func (m *MariaDB) CertFilePath(certAlias MariaDBCertificateAlias, certFileName string) string
func (*MariaDB) CertMountPath ¶ added in v0.28.0
func (m *MariaDB) CertMountPath(alias MariaDBCertificateAlias) string
func (*MariaDB) CertificateName ¶ added in v0.17.0
func (m *MariaDB) CertificateName(alias MariaDBCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (MariaDB) ClusterName ¶ added in v0.15.1
func (MariaDB) CustomResourceDefinition ¶
func (_ MariaDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*MariaDB) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDB.
func (*MariaDB) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MariaDB) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MariaDB) GetAuthSecretName ¶ added in v0.15.1
func (*MariaDB) GetCertSecretName ¶ added in v0.18.0
func (m *MariaDB) GetCertSecretName(alias MariaDBCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any, otherwise returns default certificate secret name for the given alias.
func (MariaDB) GoverningServiceName ¶
func (*MariaDB) InlineConfigSecretName ¶ added in v0.19.0
func (MariaDB) OffshootLabels ¶
func (MariaDB) OffshootName ¶
func (MariaDB) OffshootSelectors ¶
func (MariaDB) PodControllerLabels ¶ added in v0.23.0
func (MariaDB) PrimaryServiceDNS ¶ added in v0.17.0
func (*MariaDB) ReplicasAreReady ¶
func (m *MariaDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (MariaDB) ResourceFQN ¶ added in v0.16.0
func (MariaDB) ResourceKind ¶
func (MariaDB) ResourcePlural ¶
func (MariaDB) ResourceShortCode ¶
func (MariaDB) ResourceSingular ¶
func (MariaDB) ServiceLabels ¶ added in v0.23.0
func (MariaDB) ServiceName ¶
func (*MariaDB) SetDefaults ¶
func (*MariaDB) SetHealthCheckerDefaults ¶ added in v0.28.0
func (m *MariaDB) SetHealthCheckerDefaults()
func (*MariaDB) SetTLSDefaults ¶ added in v0.17.0
func (m *MariaDB) SetTLSDefaults()
func (MariaDB) StatsService ¶
func (m MariaDB) StatsService() mona.StatsAccessor
func (MariaDB) StatsServiceLabels ¶
type MariaDBCertificateAlias ¶
type MariaDBCertificateAlias string
+kubebuilder:validation:Enum=server;archiver;metrics-exporter
const ( MariaDBServerCert MariaDBCertificateAlias = "server" MariaDBClientCert MariaDBCertificateAlias = "client" MariaDBExporterCert MariaDBCertificateAlias = "metrics-exporter" )
type MariaDBList ¶
type MariaDBList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of MariaDB TPR objects Items []MariaDB `json:"items,omitempty"` }
func (*MariaDBList) DeepCopy ¶
func (in *MariaDBList) DeepCopy() *MariaDBList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDBList.
func (*MariaDBList) DeepCopyInto ¶
func (in *MariaDBList) DeepCopyInto(out *MariaDBList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MariaDBList) DeepCopyObject ¶
func (in *MariaDBList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MariaDBSpec ¶
type MariaDBSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of MariaDB to be deployed. Version string `json:"version"` // Number of instances to deploy for a MariaDB database. Replicas *int32 `json:"replicas,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage spec to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // WsrepSSTMethod is used to define the STATE-SNAPSHOT-TRANSFER method to be used in the Galera cluster // default value : rsync // +kubebuilder:default:=rsync // +optional WsrepSSTMethod GaleraWsrepSSTMethod `json:"wsrepSSTMethod,omitempty"` // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database (i.e custom-mysql.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // Indicates that the database server need to be encrypted connections(ssl) // +optional RequireSSL bool `json:"requireSSL,omitempty"` // TLS contains tls configurations // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // Coordinator defines attributes of the coordinator container // +optional Coordinator CoordinatorSpec `json:"coordinator,omitempty"` // AllowedSchemas defines the types of database schemas that MAY refer to // a database instance and the trusted namespaces where those schema resources MAY be // present. // // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*MariaDBSpec) DeepCopy ¶
func (in *MariaDBSpec) DeepCopy() *MariaDBSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDBSpec.
func (*MariaDBSpec) DeepCopyInto ¶
func (in *MariaDBSpec) DeepCopyInto(out *MariaDBSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MariaDBSpec) GetPersistentSecrets ¶
func (m *MariaDBSpec) GetPersistentSecrets() []string
type MariaDBStatus ¶
type MariaDBStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*MariaDBStatus) DeepCopy ¶
func (in *MariaDBStatus) DeepCopy() *MariaDBStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDBStatus.
func (*MariaDBStatus) DeepCopyInto ¶
func (in *MariaDBStatus) DeepCopyInto(out *MariaDBStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemberSecret ¶
type MemberSecret struct { // PeerSecret is the secret containing TLS certs used by each etcd member pod // for the communication between etcd peers. PeerSecret string `json:"peerSecret,omitempty"` // ServerSecret is the secret containing TLS certs used by each etcd member pod // for the communication between etcd server and its clients. ServerSecret string `json:"serverSecret,omitempty"` }
func (*MemberSecret) DeepCopy ¶
func (in *MemberSecret) DeepCopy() *MemberSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberSecret.
func (*MemberSecret) DeepCopyInto ¶
func (in *MemberSecret) DeepCopyInto(out *MemberSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Memcached ¶
type Memcached struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MemcachedSpec `json:"spec,omitempty"` Status MemcachedStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=memcacheds,singular=memcached,shortName=mc,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (Memcached) AppBindingMeta ¶
func (m Memcached) AppBindingMeta() appcat.AppBindingMeta
func (Memcached) CustomResourceDefinition ¶
func (_ Memcached) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*Memcached) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Memcached.
func (*Memcached) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Memcached) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Memcached) GoverningServiceName ¶
func (Memcached) OffshootLabels ¶
func (Memcached) OffshootName ¶
func (Memcached) OffshootSelectors ¶
func (Memcached) PodControllerLabels ¶ added in v0.23.0
func (*Memcached) ReplicasAreReady ¶
func (m *Memcached) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (Memcached) ResourceFQN ¶ added in v0.16.0
func (Memcached) ResourceKind ¶
func (Memcached) ResourcePlural ¶
func (Memcached) ResourceShortCode ¶
func (Memcached) ResourceSingular ¶
func (Memcached) ServiceLabels ¶ added in v0.23.0
func (Memcached) ServiceName ¶
func (*Memcached) SetDefaults ¶
func (m *Memcached) SetDefaults()
func (Memcached) StatsService ¶
func (m Memcached) StatsService() mona.StatsAccessor
func (Memcached) StatsServiceLabels ¶
type MemcachedCertificateAlias ¶
type MemcachedCertificateAlias string
+kubebuilder:validation:Enum=server;metrics-exporter
const ( MemcachedServerCert MemcachedCertificateAlias = "server" MemcachedMetricsExporterCert MemcachedCertificateAlias = "metrics-exporter" )
type MemcachedList ¶
type MemcachedList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of Memcached TPR objects Items []Memcached `json:"items,omitempty"` }
func (*MemcachedList) DeepCopy ¶
func (in *MemcachedList) DeepCopy() *MemcachedList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedList.
func (*MemcachedList) DeepCopyInto ¶
func (in *MemcachedList) DeepCopyInto(out *MemcachedList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemcachedList) DeepCopyObject ¶
func (in *MemcachedList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MemcachedSpec ¶
type MemcachedSpec struct { // Version of Memcached to be deployed. Version string `json:"version"` // Number of instances to deploy for a Memcached database. Replicas *int32 `json:"replicas,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database. // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // DataVolume is an optional field to add one volume to each // memcached pod. The volume will be made available under // /data and owned by the memcached user. // // While not mandated by the API and not configured // automatically, the intended purpose is to use that volume // for memcached's persistent memory support // (https://memcached.org/blog/persistent-memory/) by adding // the memory-file and memory-limit options to the config // (https://github.com/memcached/memcached/wiki/WarmRestart). // // For that purpose, a CSI inline volume provided by PMEM-CSI // can be used, in which case each pod will get its own, empty // volume. Warm restarts are not supported. // // For testing, an empty dir can be used instead. DataVolume *core.VolumeSource `json:"dataVolume,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // TLS contains tls configurations // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` }
func (*MemcachedSpec) DeepCopy ¶
func (in *MemcachedSpec) DeepCopy() *MemcachedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedSpec.
func (*MemcachedSpec) DeepCopyInto ¶
func (in *MemcachedSpec) DeepCopyInto(out *MemcachedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemcachedSpec) GetPersistentSecrets ¶
func (m *MemcachedSpec) GetPersistentSecrets() []string
type MemcachedStatus ¶
type MemcachedStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` }
func (*MemcachedStatus) DeepCopy ¶
func (in *MemcachedStatus) DeepCopy() *MemcachedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedStatus.
func (*MemcachedStatus) DeepCopyInto ¶
func (in *MemcachedStatus) DeepCopyInto(out *MemcachedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoArbiterNode ¶ added in v0.27.0
type MongoArbiterNode struct { // ConfigSecret is an optional field to provide custom configuration file for database (i.e mongod.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` }
func (*MongoArbiterNode) DeepCopy ¶ added in v0.27.0
func (in *MongoArbiterNode) DeepCopy() *MongoArbiterNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoArbiterNode.
func (*MongoArbiterNode) DeepCopyInto ¶ added in v0.27.0
func (in *MongoArbiterNode) DeepCopyInto(out *MongoArbiterNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDB ¶
type MongoDB struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MongoDBSpec `json:"spec,omitempty"` Status MongoDBStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=mongodbs,singular=mongodb,shortName=mg,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (MongoDB) AppBindingMeta ¶
func (m MongoDB) AppBindingMeta() appcat.AppBindingMeta
func (MongoDB) ArbiterLabels ¶ added in v0.27.0
func (MongoDB) ArbiterNodeName ¶ added in v0.27.0
func (MongoDB) ArbiterSelectors ¶ added in v0.27.0
func (MongoDB) ArbiterShardLabels ¶ added in v0.27.0
func (MongoDB) ArbiterShardNodeName ¶ added in v0.27.0
func (MongoDB) ArbiterShardSelectors ¶ added in v0.27.0
func (*MongoDB) CertificateName ¶
func (m *MongoDB) CertificateName(alias MongoDBCertificateAlias, stsName string) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (*MongoDB) ConfigSecretName ¶ added in v0.16.0
ConfigSecretName returns the secret name for different nodetype
func (MongoDB) ConfigSvrDSN ¶
ConfigSvrDSN = <configSvrReplName>/<host1:port>,<host2:port>,<host3:port> Here, host1 = <pod-name>.<governing-serviceName>.svc
func (MongoDB) ConfigSvrHosts ¶
func (MongoDB) ConfigSvrLabels ¶
func (MongoDB) ConfigSvrNodeName ¶
func (MongoDB) ConfigSvrRepSetName ¶
func (MongoDB) ConfigSvrSelectors ¶
func (MongoDB) CustomResourceDefinition ¶
func (_ MongoDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*MongoDB) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDB.
func (*MongoDB) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDB) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MongoDB) GetAuthSecretName ¶ added in v0.29.0
func (*MongoDB) GetCertSecretName ¶ added in v0.18.0
func (m *MongoDB) GetCertSecretName(alias MongoDBCertificateAlias, stsName string) string
GetCertSecretName returns the secret name for a certificate alias
func (MongoDB) GetCorrespondingArbiterStsName ¶ added in v0.27.0
func (MongoDB) GetCorrespondingHiddenStsName ¶ added in v0.29.0
func (MongoDB) GetCorrespondingReplicaStsName ¶ added in v0.27.0
func (MongoDB) GetCorrespondingReplicaStsNameFromHidden ¶ added in v0.29.0
func (*MongoDB) GetDefaultLivenessProbeSpec ¶
func (*MongoDB) GetDefaultReadinessProbeSpec ¶
func (*MongoDB) GetEntryCommand ¶ added in v0.33.0
func (m *MongoDB) GetEntryCommand(mgVersion *v1alpha1.MongoDBVersion) string
func (MongoDB) GetShardNumber ¶ added in v0.27.0
func (MongoDB) GoverningServiceName ¶
Governing Service Name. Here, name parameter is either OffshootName, ShardNodeName, ConfigSvrNodeName , ArbiterNodeName or HiddenNodeName
func (MongoDB) HiddenNodeLabels ¶ added in v0.29.0
func (MongoDB) HiddenNodeName ¶ added in v0.29.0
func (MongoDB) HiddenNodeSelectors ¶ added in v0.29.0
func (MongoDB) HiddenNodeShardLabels ¶ added in v0.29.0
func (MongoDB) HiddenNodeShardSelectors ¶ added in v0.29.0
func (MongoDB) HiddenShardNodeName ¶ added in v0.29.0
func (MongoDB) HostAddress ¶
HostAddress returns serviceName for standalone mongodb. and, for replica set = <replName>/<host1>,<host2>,<host3> Here, host1 = <pod-name>.<governing-serviceName> Governing service name is used for replica host because, we used governing service name as part of host while adding members to replicaset.
func (MongoDB) HostAddressOnlyCoreMembers ¶ added in v0.29.0
func (MongoDB) HostsOnlyCoreMembers ¶ added in v0.29.0
func (*MongoDB) KeyFileRequired ¶
func (MongoDB) MongosHosts ¶
func (MongoDB) MongosLabels ¶
func (MongoDB) MongosNodeName ¶
func (MongoDB) MongosSelectors ¶
func (MongoDB) OffshootLabels ¶
func (MongoDB) OffshootLabelsWhenOthers ¶ added in v0.29.0
func (MongoDB) OffshootName ¶
func (MongoDB) OffshootSelectors ¶
func (MongoDB) OffshootSelectorsWhenOthers ¶ added in v0.29.0
func (MongoDB) PodControllerLabels ¶ added in v0.23.0
func (MongoDB) RepSetName ¶
RepSetName returns Replicaset name only for spec.replicaset
func (*MongoDB) ReplicasAreReady ¶
func (m *MongoDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (MongoDB) ResourceFQN ¶ added in v0.16.0
func (MongoDB) ResourceKind ¶
func (MongoDB) ResourcePlural ¶
func (MongoDB) ResourceShortCode ¶
func (MongoDB) ResourceSingular ¶
func (MongoDB) ServiceLabels ¶ added in v0.23.0
func (MongoDB) ServiceName ¶
func (*MongoDB) SetDefaults ¶
func (m *MongoDB) SetDefaults(mgVersion *v1alpha1.MongoDBVersion, topology *core_util.Topology)
func (*MongoDB) SetHealthCheckerDefaults ¶ added in v0.28.0
func (m *MongoDB) SetHealthCheckerDefaults()
func (*MongoDB) SetTLSDefaults ¶
func (m *MongoDB) SetTLSDefaults()
func (MongoDB) ShardCommonNodeName ¶
func (MongoDB) ShardDSN ¶
ShardDSN = <shardReplName>/<host1:port>,<host2:port>,<host3:port> Here, host1 = <pod-name>.<governing-serviceName>.svc
func (MongoDB) ShardDSNOnlyCoreMembers ¶ added in v0.29.0
func (MongoDB) ShardHosts ¶
func (MongoDB) ShardHostsOnlyCoreMembers ¶ added in v0.29.0
func (MongoDB) ShardLabelsWhenOthers ¶ added in v0.29.0
func (MongoDB) ShardNodeName ¶
func (MongoDB) ShardNodeTemplate ¶
func (MongoDB) ShardRepSetName ¶
func (MongoDB) ShardSelectorsWhenOthers ¶ added in v0.29.0
func (MongoDB) StatsService ¶
func (m MongoDB) StatsService() mona.StatsAccessor
func (MongoDB) StatsServiceLabels ¶
type MongoDBCertificateAlias ¶
type MongoDBCertificateAlias string
+kubebuilder:validation:Enum=server;client;metrics-exporter
const ( MongoDBServerCert MongoDBCertificateAlias = "server" MongoDBClientCert MongoDBCertificateAlias = "client" MongoDBMetricsExporterCert MongoDBCertificateAlias = "metrics-exporter" )
type MongoDBConfigNode ¶
type MongoDBConfigNode struct { // MongoDB config server node configs MongoDBNode `json:",inline"` // Storage to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // EphemeralStorage spec to specify the configuration of ephemeral storage type. EphemeralStorage *core.EmptyDirVolumeSource `json:"ephemeralStorage,omitempty"` }
func (*MongoDBConfigNode) DeepCopy ¶
func (in *MongoDBConfigNode) DeepCopy() *MongoDBConfigNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBConfigNode.
func (*MongoDBConfigNode) DeepCopyInto ¶
func (in *MongoDBConfigNode) DeepCopyInto(out *MongoDBConfigNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBList ¶
type MongoDBList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of MongoDB TPR objects Items []MongoDB `json:"items,omitempty"` }
func (*MongoDBList) DeepCopy ¶
func (in *MongoDBList) DeepCopy() *MongoDBList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBList.
func (*MongoDBList) DeepCopyInto ¶
func (in *MongoDBList) DeepCopyInto(out *MongoDBList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBList) DeepCopyObject ¶
func (in *MongoDBList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBMongosNode ¶
type MongoDBMongosNode struct { // MongoDB mongos node configs MongoDBNode `json:",inline"` }
func (*MongoDBMongosNode) DeepCopy ¶
func (in *MongoDBMongosNode) DeepCopy() *MongoDBMongosNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBMongosNode.
func (*MongoDBMongosNode) DeepCopyInto ¶
func (in *MongoDBMongosNode) DeepCopyInto(out *MongoDBMongosNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBNode ¶
type MongoDBNode struct { // Replicas represents number of replicas of this specific node. // If current node has replicaset enabled, then replicas is the amount of replicaset nodes. Replicas int32 `json:"replicas"` // Prefix is the name prefix of this node. Prefix string `json:"prefix,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database (i.e mongod.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` }
func (*MongoDBNode) DeepCopy ¶
func (in *MongoDBNode) DeepCopy() *MongoDBNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBNode.
func (*MongoDBNode) DeepCopyInto ¶
func (in *MongoDBNode) DeepCopyInto(out *MongoDBNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBReplicaSet ¶
type MongoDBReplicaSet struct { // Name of replicaset Name string `json:"name"` }
func (*MongoDBReplicaSet) DeepCopy ¶
func (in *MongoDBReplicaSet) DeepCopy() *MongoDBReplicaSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBReplicaSet.
func (*MongoDBReplicaSet) DeepCopyInto ¶
func (in *MongoDBReplicaSet) DeepCopyInto(out *MongoDBReplicaSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBShardNode ¶
type MongoDBShardNode struct { // Shards represents number of shards for shard type of node // More info: https://docs.mongodb.com/manual/core/sharded-cluster-shards/ Shards int32 `json:"shards"` // MongoDB sharding node configs MongoDBNode `json:",inline"` // Storage to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // EphemeralStorage spec to specify the configuration of ephemeral storage type. EphemeralStorage *core.EmptyDirVolumeSource `json:"ephemeralStorage,omitempty"` }
func (*MongoDBShardNode) DeepCopy ¶
func (in *MongoDBShardNode) DeepCopy() *MongoDBShardNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBShardNode.
func (*MongoDBShardNode) DeepCopyInto ¶
func (in *MongoDBShardNode) DeepCopyInto(out *MongoDBShardNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBShardingTopology ¶
type MongoDBShardingTopology struct { // Shard component of mongodb. // More info: https://docs.mongodb.com/manual/core/sharded-cluster-shards/ Shard MongoDBShardNode `json:"shard"` // Config Server (metadata) component of mongodb. // More info: https://docs.mongodb.com/manual/core/sharded-cluster-config-servers/ ConfigServer MongoDBConfigNode `json:"configServer"` // Mongos (router) component of mongodb. // More info: https://docs.mongodb.com/manual/core/sharded-cluster-query-router/ Mongos MongoDBMongosNode `json:"mongos"` }
func (*MongoDBShardingTopology) DeepCopy ¶
func (in *MongoDBShardingTopology) DeepCopy() *MongoDBShardingTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBShardingTopology.
func (*MongoDBShardingTopology) DeepCopyInto ¶
func (in *MongoDBShardingTopology) DeepCopyInto(out *MongoDBShardingTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBSpec ¶
type MongoDBSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of MongoDB to be deployed. Version string `json:"version"` // Number of instances to deploy for a MongoDB database. Replicas *int32 `json:"replicas,omitempty"` // MongoDB replica set ReplicaSet *MongoDBReplicaSet `json:"replicaSet,omitempty"` // MongoDB sharding topology. ShardTopology *MongoDBShardingTopology `json:"shardTopology,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage spec to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // EphemeralStorage spec to specify the configuration of ephemeral storage type. EphemeralStorage *core.EmptyDirVolumeSource `json:"ephemeralStorage,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // ClusterAuthMode for replicaset or sharding. (default will be x509 if sslmode is not `disabled`.) // See available ClusterAuthMode: https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-clusterauthmode ClusterAuthMode ClusterAuthMode `json:"clusterAuthMode,omitempty"` // SSLMode for both standalone and clusters. (default, disabled.) // See more options: https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-sslmode SSLMode SSLMode `json:"sslMode,omitempty"` // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database (i.e mongod.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate *ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // TLS contains tls configurations for client and server. // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // Secret for KeyFileSecret. Contains keyfile `key.txt` if spec.clusterAuthMode == keyFile || sendKeyFile KeyFileSecret *core.LocalObjectReference `json:"keyFileSecret,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // StorageEngine can be wiredTiger (default) or inMemory // See available StorageEngine: https://docs.mongodb.com/manual/core/storage-engines/ StorageEngine StorageEngine `json:"storageEngine,omitempty"` // Coordinator defines attributes of the coordinator container // +optional Coordinator CoordinatorSpec `json:"coordinator,omitempty"` // AllowedSchemas defines the types of database schemas that MAY refer to // a database instance and the trusted namespaces where those schema resources MAY be // present. // // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` // Mongo Arbiter component of mongodb. // More info: https://docs.mongodb.com/manual/core/replica-set-arbiter/ // +optional // +nullable Arbiter *MongoArbiterNode `json:"arbiter,omitempty"` // Hidden component of mongodb which is invisible to client applications // More info: https://www.mongodb.com/docs/manual/core/replica-set-hidden-member/ // +optional // +nullable Hidden *MongoHiddenNode `json:"hidden,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*MongoDBSpec) DeepCopy ¶
func (in *MongoDBSpec) DeepCopy() *MongoDBSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBSpec.
func (*MongoDBSpec) DeepCopyInto ¶
func (in *MongoDBSpec) DeepCopyInto(out *MongoDBSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBSpec) GetPersistentSecrets ¶
func (m *MongoDBSpec) GetPersistentSecrets() []string
func (*MongoDBSpec) SetSecurityContext ¶
func (m *MongoDBSpec) SetSecurityContext(podTemplate *ofst.PodTemplateSpec)
setSecurityContext will set default PodSecurityContext. These values will be applied only to newly created objects. These defaultings should not be applied to DBs or dormantDBs, that is managed by previous operators,
type MongoDBStatus ¶
type MongoDBStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*MongoDBStatus) DeepCopy ¶
func (in *MongoDBStatus) DeepCopy() *MongoDBStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBStatus.
func (*MongoDBStatus) DeepCopyInto ¶
func (in *MongoDBStatus) DeepCopyInto(out *MongoDBStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoHiddenNode ¶ added in v0.29.0
type MongoHiddenNode struct { // ConfigSecret is an optional field to provide custom configuration file for database (i.e mongod.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // Replicas represents number of replicas of this specific node. // If current node has replicaset enabled, then replicas is the amount of replicaset nodes. Replicas int32 `json:"replicas"` // Storage to specify how storage shall be used. Storage core.PersistentVolumeClaimSpec `json:"storage"` }
func (*MongoHiddenNode) DeepCopy ¶ added in v0.29.0
func (in *MongoHiddenNode) DeepCopy() *MongoHiddenNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoHiddenNode.
func (*MongoHiddenNode) DeepCopyInto ¶ added in v0.29.0
func (in *MongoHiddenNode) DeepCopyInto(out *MongoHiddenNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoShellScriptName ¶ added in v0.27.0
type MongoShellScriptName string
const ( ScriptNameCommon MongoShellScriptName = "common.sh" ScriptNameInstall MongoShellScriptName = "install.sh" ScriptNameMongos MongoShellScriptName = "mongos.sh" ScriptNameShard MongoShellScriptName = "sharding.sh" ScriptNameConfig MongoShellScriptName = "configdb.sh" ScriptNameReplicaset MongoShellScriptName = "replicaset.sh" ScriptNameArbiter MongoShellScriptName = "arbiter.sh" ScriptNameHidden MongoShellScriptName = "hidden.sh" )
type MySQL ¶
type MySQL struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MySQLSpec `json:"spec,omitempty"` Status MySQLStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=mysqls,singular=mysql,shortName=my,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (MySQL) AppBindingMeta ¶
func (m MySQL) AppBindingMeta() appcat.AppBindingMeta
func (*MySQL) CertificateName ¶
func (m *MySQL) CertificateName(alias MySQLCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (MySQL) CustomResourceDefinition ¶
func (_ MySQL) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*MySQL) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQL.
func (*MySQL) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MySQL) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MySQL) GetAuthSecretName ¶
func (*MySQL) GetCertSecretName ¶ added in v0.28.0
func (m *MySQL) GetCertSecretName(alias MySQLCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any otherwise returns default certificate secret name for the given alias.
func (MySQL) GetNameSpacedName ¶ added in v0.25.0
func (*MySQL) GetRouterName ¶ added in v0.23.0
func (MySQL) GoverningServiceName ¶
func (*MySQL) IsInnoDBCluster ¶ added in v0.23.0
func (*MySQL) IsReadReplica ¶ added in v0.25.0
func (*MySQL) IsSemiSync ¶ added in v0.27.0
func (*MySQL) MySQLTLSArgs ¶ added in v0.16.0
func (MySQL) OffshootLabels ¶
func (MySQL) OffshootName ¶
func (MySQL) OffshootSelectors ¶
func (MySQL) PodControllerLabels ¶ added in v0.23.0
func (MySQL) PrimaryServiceDNS ¶ added in v0.16.0
func (*MySQL) ReplicasAreReady ¶
func (m *MySQL) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (MySQL) ResourceFQN ¶ added in v0.16.0
func (MySQL) ResourceKind ¶
func (MySQL) ResourcePlural ¶
func (MySQL) ResourceShortCode ¶
func (MySQL) ResourceSingular ¶
func (MySQL) RouterOffshootLabels ¶ added in v0.23.0
func (MySQL) RouterOffshootSelectors ¶ added in v0.23.0
func (MySQL) RouterPodControllerLabels ¶ added in v0.23.0
func (MySQL) RouterPodLabels ¶ added in v0.23.0
func (MySQL) ServiceLabels ¶ added in v0.23.0
func (MySQL) ServiceName ¶
func (*MySQL) SetDefaults ¶
func (*MySQL) SetHealthCheckerDefaults ¶ added in v0.28.0
func (m *MySQL) SetHealthCheckerDefaults()
func (*MySQL) SetTLSDefaults ¶
func (m *MySQL) SetTLSDefaults()
func (MySQL) StandbyServiceDNS ¶ added in v0.25.0
func (MySQL) StandbyServiceName ¶
func (MySQL) StatsService ¶
func (m MySQL) StatsService() mona.StatsAccessor
func (MySQL) StatsServiceLabels ¶
func (*MySQL) UsesGroupReplication ¶
type MySQLCertificateAlias ¶
type MySQLCertificateAlias string
+kubebuilder:validation:Enum=server;client;metrics-exporter
const ( MySQLServerCert MySQLCertificateAlias = "server" MySQLClientCert MySQLCertificateAlias = "client" MySQLMetricsExporterCert MySQLCertificateAlias = "metrics-exporter" MySQLRouterCert MySQLCertificateAlias = "router" )
type MySQLGroupMode ¶
type MySQLGroupMode string
+kubebuilder:validation:Enum=Single-Primary
const (
MySQLGroupModeSinglePrimary MySQLGroupMode = "Single-Primary"
)
type MySQLGroupSpec ¶
type MySQLGroupSpec struct { // TODO: "Multi-Primary" needs to be implemented // Group Replication can be deployed in either "Single-Primary" or "Multi-Primary" mode // +kubebuilder:default=Single-Primary Mode *MySQLGroupMode `json:"mode,omitempty"` // Group name is a version 4 UUID // ref: https://dev.mysql.com/doc/refman/5.7/en/group-replication-options.html#sysvar_group_replication_group_name Name string `json:"name,omitempty"` }
func (*MySQLGroupSpec) DeepCopy ¶
func (in *MySQLGroupSpec) DeepCopy() *MySQLGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLGroupSpec.
func (*MySQLGroupSpec) DeepCopyInto ¶
func (in *MySQLGroupSpec) DeepCopyInto(out *MySQLGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLInnoDBClusterSpec ¶ added in v0.23.0
type MySQLInnoDBClusterSpec struct { // +kubebuilder:default=Single-Primary // +optional Mode *MySQLGroupMode `json:"mode,omitempty"` Router MySQLRouterSpec `json:"router,omitempty"` }
func (*MySQLInnoDBClusterSpec) DeepCopy ¶ added in v0.23.0
func (in *MySQLInnoDBClusterSpec) DeepCopy() *MySQLInnoDBClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLInnoDBClusterSpec.
func (*MySQLInnoDBClusterSpec) DeepCopyInto ¶ added in v0.23.0
func (in *MySQLInnoDBClusterSpec) DeepCopyInto(out *MySQLInnoDBClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLList ¶
type MySQLList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of MySQL TPR objects Items []MySQL `json:"items,omitempty"` }
func (*MySQLList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLList.
func (*MySQLList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MySQLList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MySQLMode ¶ added in v0.25.0
type MySQLMode string
+kubebuilder:validation:Enum=GroupReplication;InnoDBCluster;ReadReplica;SemiSync
type MySQLReadReplicaSpec ¶ added in v0.25.0
type MySQLReadReplicaSpec struct { // SourceRef specifies the source object SourceRef core.ObjectReference `json:"sourceRef" protobuf:"bytes,1,opt,name=sourceRef"` }
func (*MySQLReadReplicaSpec) DeepCopy ¶ added in v0.25.0
func (in *MySQLReadReplicaSpec) DeepCopy() *MySQLReadReplicaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLReadReplicaSpec.
func (*MySQLReadReplicaSpec) DeepCopyInto ¶ added in v0.25.0
func (in *MySQLReadReplicaSpec) DeepCopyInto(out *MySQLReadReplicaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLRouterSpec ¶ added in v0.23.0
type MySQLRouterSpec struct { // +optional // +kubebuilder:default=1 // +kubebuilder:validation:Minimum:=1 Replicas *int32 `json:"replicas,omitempty"` // PodTemplate is an optional configuration for pods used to expose MySQL router // +optional PodTemplate *ofst.PodTemplateSpec `json:"podTemplate,omitempty"` }
func (*MySQLRouterSpec) DeepCopy ¶ added in v0.23.0
func (in *MySQLRouterSpec) DeepCopy() *MySQLRouterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLRouterSpec.
func (*MySQLRouterSpec) DeepCopyInto ¶ added in v0.23.0
func (in *MySQLRouterSpec) DeepCopyInto(out *MySQLRouterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLSpec ¶
type MySQLSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of MySQL to be deployed. Version string `json:"version"` // Number of instances to deploy for a MySQL database. In case of MySQL group // replication, max allowed value is 9 (default 3). // (see ref: https://dev.mysql.com/doc/refman/5.7/en/group-replication-frequently-asked-questions.html) Replicas *int32 `json:"replicas,omitempty"` // MySQL cluster topology Topology *MySQLTopology `json:"topology,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage spec to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database (i.e custom-mysql.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // Indicates that the database server need to be encrypted connections(ssl) // +optional RequireSSL bool `json:"requireSSL,omitempty"` // TLS contains tls configurations for client and server. // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // Indicated whether to use DNS or IP address to address pods in a db cluster. // If IP address is used, HostNetwork will be used. Defaults to DNS. // +kubebuilder:default=DNS // +optional // +default="DNS" UseAddressType AddressType `json:"useAddressType,omitempty"` // Coordinator defines attributes of the coordinator container // +optional Coordinator CoordinatorSpec `json:"coordinator,omitempty"` // AllowedSchemas defines the types of database schemas that may refer to // a database instance and the trusted namespaces where those schema resources may be // present. // // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` // AllowedReadReplicas defines the types of read replicas that MAY be attached to a // MySQL instance and the trusted namespaces where those Read Replica resources MAY be // present. // // Support: Core // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedReadReplicas *AllowedConsumers `json:"allowedReadReplicas,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*MySQLSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLSpec.
func (*MySQLSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MySQLSpec) GetPersistentSecrets ¶
type MySQLStatus ¶
type MySQLStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*MySQLStatus) DeepCopy ¶
func (in *MySQLStatus) DeepCopy() *MySQLStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLStatus.
func (*MySQLStatus) DeepCopyInto ¶
func (in *MySQLStatus) DeepCopyInto(out *MySQLStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLTopology ¶ added in v0.25.0
type MySQLTopology struct { // If set to - // "GroupReplication", GroupSpec is required and MySQL servers will start a replication group Mode *MySQLMode `json:"mode,omitempty"` // Group replication info for MySQL // +optional Group *MySQLGroupSpec `json:"group,omitempty"` // InnoDBCluster replication info for MySQL InnodbCluster // +optional InnoDBCluster *MySQLInnoDBClusterSpec `json:"innoDBCluster,omitempty"` // ReadReplica implies that the instance will be a MySQL Read Only Replica // and it will take reference of appbinding of the source // +optional ReadReplica *MySQLReadReplicaSpec `json:"readReplica,omitempty"` // +optional SemiSync *SemiSyncSpec `json:"semiSync,omitempty"` }
func (*MySQLTopology) DeepCopy ¶ added in v0.25.0
func (in *MySQLTopology) DeepCopy() *MySQLTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLTopology.
func (*MySQLTopology) DeepCopyInto ¶ added in v0.25.0
func (in *MySQLTopology) DeepCopyInto(out *MySQLTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MySQLUser ¶ added in v0.28.0
type MySQLUser struct { Username string `json:"username"` // +optional Active *int `json:"active,omitempty"` // +optional UseSSL int `json:"use_ssl,omitempty"` // +optional DefaultHostgroup int `json:"default_hostgroup,omitempty"` // +optional DefaultSchema string `json:"default_schema,omitempty"` // +optional SchemaLocked int `json:"schema_locked,omitempty"` // +optional TransactionPersistent *int `json:"transaction_persistent,omitempty"` // +optional FastForward int `json:"fast_forward,omitempty"` // +optional Backend *int `json:"backend,omitempty"` // +optional Frontend *int `json:"frontend,omitempty"` // +optional MaxConnections *int32 `json:"max_connections,omitempty"` // +optional Attributes string `json:"attributes,omitempty"` // +optional Comment string `json:"comment,omitempty"` }
func (*MySQLUser) DeepCopy ¶ added in v0.28.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLUser.
func (*MySQLUser) DeepCopyInto ¶ added in v0.28.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamedServiceTemplateSpec ¶ added in v0.15.0
type NamedServiceTemplateSpec struct { // Alias represents the identifier of the service. Alias ServiceAlias `json:"alias"` // ServiceTemplate is an optional configuration for a service used to expose database // +optional ofst.ServiceTemplateSpec `json:",inline,omitempty"` }
func (*NamedServiceTemplateSpec) DeepCopy ¶ added in v0.15.0
func (in *NamedServiceTemplateSpec) DeepCopy() *NamedServiceTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedServiceTemplateSpec.
func (*NamedServiceTemplateSpec) DeepCopyInto ¶ added in v0.15.0
func (in *NamedServiceTemplateSpec) DeepCopyInto(out *NamedServiceTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PerconaXtraDB ¶
type PerconaXtraDB struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PerconaXtraDBSpec `json:"spec,omitempty"` Status PerconaXtraDBStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=perconaxtradbs,singular=perconaxtradb,shortName=px,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (PerconaXtraDB) AppBindingMeta ¶
func (p PerconaXtraDB) AppBindingMeta() appcat.AppBindingMeta
func (*PerconaXtraDB) CertFilePath ¶ added in v0.28.0
func (p *PerconaXtraDB) CertFilePath(certAlias PerconaXtraDBCertificateAlias, certFileName string) string
func (*PerconaXtraDB) CertMountPath ¶ added in v0.28.0
func (p *PerconaXtraDB) CertMountPath(alias PerconaXtraDBCertificateAlias) string
func (*PerconaXtraDB) CertificateName ¶ added in v0.28.0
func (p *PerconaXtraDB) CertificateName(alias PerconaXtraDBCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (PerconaXtraDB) ClusterName ¶
func (p PerconaXtraDB) ClusterName() string
func (PerconaXtraDB) CustomResourceDefinition ¶
func (_ PerconaXtraDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*PerconaXtraDB) DeepCopy ¶
func (in *PerconaXtraDB) DeepCopy() *PerconaXtraDB
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaXtraDB.
func (*PerconaXtraDB) DeepCopyInto ¶
func (in *PerconaXtraDB) DeepCopyInto(out *PerconaXtraDB)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaXtraDB) DeepCopyObject ¶
func (in *PerconaXtraDB) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (PerconaXtraDB) GetAuthSecretName ¶
func (p PerconaXtraDB) GetAuthSecretName() string
func (*PerconaXtraDB) GetCertSecretName ¶ added in v0.28.0
func (p *PerconaXtraDB) GetCertSecretName(alias PerconaXtraDBCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any, otherwise returns default certificate secret name for the given alias.
func (PerconaXtraDB) GetMonitorSecretName ¶ added in v0.29.0
func (p PerconaXtraDB) GetMonitorSecretName() string
func (PerconaXtraDB) GetReplicationSecretName ¶ added in v0.29.0
func (p PerconaXtraDB) GetReplicationSecretName() string
func (PerconaXtraDB) GoverningServiceName ¶
func (p PerconaXtraDB) GoverningServiceName() string
func (PerconaXtraDB) OffshootLabels ¶
func (p PerconaXtraDB) OffshootLabels() map[string]string
func (PerconaXtraDB) OffshootName ¶
func (p PerconaXtraDB) OffshootName() string
func (PerconaXtraDB) OffshootSelectors ¶
func (p PerconaXtraDB) OffshootSelectors() map[string]string
func (PerconaXtraDB) PeerName ¶
func (p PerconaXtraDB) PeerName(idx int) string
func (PerconaXtraDB) PodControllerLabels ¶ added in v0.23.0
func (p PerconaXtraDB) PodControllerLabels() map[string]string
func (PerconaXtraDB) PodLabels ¶ added in v0.23.0
func (p PerconaXtraDB) PodLabels() map[string]string
func (PerconaXtraDB) PrimaryServiceDNS ¶ added in v0.28.0
func (p PerconaXtraDB) PrimaryServiceDNS() string
func (*PerconaXtraDB) ReplicasAreReady ¶
func (p *PerconaXtraDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (PerconaXtraDB) ResourceFQN ¶ added in v0.16.0
func (p PerconaXtraDB) ResourceFQN() string
func (PerconaXtraDB) ResourceKind ¶
func (p PerconaXtraDB) ResourceKind() string
func (PerconaXtraDB) ResourcePlural ¶
func (p PerconaXtraDB) ResourcePlural() string
func (PerconaXtraDB) ResourceShortCode ¶
func (p PerconaXtraDB) ResourceShortCode() string
func (PerconaXtraDB) ResourceSingular ¶
func (p PerconaXtraDB) ResourceSingular() string
func (PerconaXtraDB) ServiceLabels ¶ added in v0.23.0
func (p PerconaXtraDB) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
func (PerconaXtraDB) ServiceName ¶
func (p PerconaXtraDB) ServiceName() string
func (*PerconaXtraDB) SetDefaults ¶
func (p *PerconaXtraDB) SetDefaults(topology *core_util.Topology)
func (*PerconaXtraDB) SetHealthCheckerDefaults ¶ added in v0.28.0
func (p *PerconaXtraDB) SetHealthCheckerDefaults()
func (*PerconaXtraDB) SetTLSDefaults ¶ added in v0.28.0
func (p *PerconaXtraDB) SetTLSDefaults()
func (PerconaXtraDB) StatsService ¶
func (p PerconaXtraDB) StatsService() mona.StatsAccessor
func (PerconaXtraDB) StatsServiceLabels ¶
func (p PerconaXtraDB) StatsServiceLabels() map[string]string
type PerconaXtraDBCertificateAlias ¶
type PerconaXtraDBCertificateAlias string
+kubebuilder:validation:Enum=server;client;metrics-exporter
const ( PerconaXtraDBServerCert PerconaXtraDBCertificateAlias = "server" PerconaXtraDBClientCert PerconaXtraDBCertificateAlias = "client" PerconaXtraDBExporterCert PerconaXtraDBCertificateAlias = "metrics-exporter" )
type PerconaXtraDBList ¶
type PerconaXtraDBList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of PerconaXtraDB TPR objects Items []PerconaXtraDB `json:"items,omitempty"` }
func (*PerconaXtraDBList) DeepCopy ¶
func (in *PerconaXtraDBList) DeepCopy() *PerconaXtraDBList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaXtraDBList.
func (*PerconaXtraDBList) DeepCopyInto ¶
func (in *PerconaXtraDBList) DeepCopyInto(out *PerconaXtraDBList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaXtraDBList) DeepCopyObject ¶
func (in *PerconaXtraDBList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PerconaXtraDBSpec ¶
type PerconaXtraDBSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of PerconaXtraDB to be deployed. Version string `json:"version"` // Replicas defines the number of instances to deploy for PerconaXtraDB. Replicas *int32 `json:"replicas,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage spec to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database (i.e custom-mysql.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // Indicates that the database server need to be encrypted connections(ssl) // +optional RequireSSL bool `json:"requireSSL,omitempty"` // TLS contains tls configurations // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // Coordinator defines attributes of the coordinator container // +optional Coordinator CoordinatorSpec `json:"coordinator,omitempty"` // AllowedSchemas defines the types of database schemas that MAY refer to // a database instance and the trusted namespaces where those schema resources MAY be // present. // // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` // SystemUserSecrets contains the system user credentials // +optional SystemUserSecrets *SystemUserSecretsSpec `json:"systemUserSecrets,omitempty"` }
func (*PerconaXtraDBSpec) DeepCopy ¶
func (in *PerconaXtraDBSpec) DeepCopy() *PerconaXtraDBSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaXtraDBSpec.
func (*PerconaXtraDBSpec) DeepCopyInto ¶
func (in *PerconaXtraDBSpec) DeepCopyInto(out *PerconaXtraDBSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PerconaXtraDBSpec) GetPersistentSecrets ¶
func (p *PerconaXtraDBSpec) GetPersistentSecrets() []string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
type PerconaXtraDBStatus ¶
type PerconaXtraDBStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*PerconaXtraDBStatus) DeepCopy ¶
func (in *PerconaXtraDBStatus) DeepCopy() *PerconaXtraDBStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaXtraDBStatus.
func (*PerconaXtraDBStatus) DeepCopyInto ¶
func (in *PerconaXtraDBStatus) DeepCopyInto(out *PerconaXtraDBStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PgBouncer ¶
type PgBouncer struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PgBouncerSpec `json:"spec,omitempty"` Status PgBouncerStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=pgbouncers,singular=pgbouncer,shortName=pb,categories={proxy,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (PgBouncer) AppBindingMeta ¶
func (p PgBouncer) AppBindingMeta() appcat.AppBindingMeta
func (*PgBouncer) CertificateName ¶
func (p *PgBouncer) CertificateName(alias PgBouncerCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (PgBouncer) ConfigSecretName ¶
func (PgBouncer) CustomResourceDefinition ¶
func (p PgBouncer) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*PgBouncer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgBouncer.
func (*PgBouncer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PgBouncer) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (PgBouncer) GetAuthSecretName ¶ added in v0.29.0
func (PgBouncer) GetBackendSecretName ¶ added in v0.30.0
func (*PgBouncer) GetCertSecretName ¶ added in v0.27.0
func (p *PgBouncer) GetCertSecretName(alias PgBouncerCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any provide, otherwise returns default certificate secret name for the given alias.
func (*PgBouncer) GetPersistentSecrets ¶ added in v0.27.0
GetPersistentSecrets returns auth secret and config secret of a pgbouncer object
func (PgBouncer) GoverningServiceName ¶
func (PgBouncer) OffshootLabels ¶
func (PgBouncer) OffshootName ¶
func (PgBouncer) OffshootSelectors ¶
func (PgBouncer) PodControllerLabels ¶ added in v0.23.0
func (*PgBouncer) ReplicasAreReady ¶
func (p *PgBouncer) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (PgBouncer) ReplicasServiceName ¶
func (PgBouncer) ResourceFQN ¶ added in v0.16.0
func (PgBouncer) ResourceKind ¶
func (PgBouncer) ResourcePlural ¶
func (PgBouncer) ResourceShortCode ¶
func (PgBouncer) ResourceSingular ¶
func (PgBouncer) ServiceLabels ¶ added in v0.23.0
func (PgBouncer) ServiceName ¶
func (*PgBouncer) SetDefaults ¶
func (p *PgBouncer) SetDefaults(pgBouncerVersion *catalog.PgBouncerVersion, usesAcme bool)
func (*PgBouncer) SetHealthCheckerDefaults ¶ added in v0.28.0
func (p *PgBouncer) SetHealthCheckerDefaults()
func (*PgBouncer) SetSecurityContext ¶ added in v0.32.0
func (p *PgBouncer) SetSecurityContext(pgBouncerVersion *catalog.PgBouncerVersion)
func (*PgBouncer) SetTLSDefaults ¶
func (PgBouncer) StatsService ¶
func (p PgBouncer) StatsService() mona.StatsAccessor
func (PgBouncer) StatsServiceLabels ¶
type PgBouncerCertificateAlias ¶
type PgBouncerCertificateAlias string
+kubebuilder:validation:Enum=server;archiver;metrics-exporter
const ( PgBouncerServerCert PgBouncerCertificateAlias = "server" PgBouncerClientCert PgBouncerCertificateAlias = "client" PgBouncerMetricsExporterCert PgBouncerCertificateAlias = "metrics-exporter" )
type PgBouncerClientAuthMode ¶ added in v0.27.0
type PgBouncerClientAuthMode string
PgBouncerClientAuthMode represents the ClientAuthMode of PgBouncer clusters ( replicaset ) We are allowing md5, scram, cert as ClientAuthMode +kubebuilder:validation:Enum=md5;scram;cert;
const ( // ClientAuthModeMD5 uses a custom less secure challenge-response mechanism. // It prevents password sniffing and avoids storing passwords on the server in plain text but provides no protection // if an attacker manages to steal the password hash from the server. // Also, the MD5 hash algorithm is nowadays no longer considered secure against determined attacks PgBouncerClientAuthModeMD5 PgBouncerClientAuthMode = "md5" // ClientAuthModeScram performs SCRAM-SHA-256 authentication, as described in RFC 7677. // It is a challenge-response scheme that prevents password sniffing on untrusted connections // and supports storing passwords on the server in a cryptographically hashed form that is thought to be secure. // This is the most secure of the currently provided methods, but it is not supported by older client libraries. PgBouncerClientAuthModeScram PgBouncerClientAuthMode = "scram" // ClientAuthModeCert represents `cert clientcert=1` auth mode where client need to provide cert and private key for authentication. // When server is config with this auth method. Client can't connect with pgbouncer server with password. They need // to Send the client cert and client key certificate for authentication. PgBouncerClientAuthModeCert PgBouncerClientAuthMode = "cert" )
type PgBouncerList ¶
type PgBouncerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of PgBouncer CRD objects. Items []PgBouncer `json:"items,omitempty"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*PgBouncerList) DeepCopy ¶
func (in *PgBouncerList) DeepCopy() *PgBouncerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgBouncerList.
func (*PgBouncerList) DeepCopyInto ¶
func (in *PgBouncerList) DeepCopyInto(out *PgBouncerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PgBouncerList) DeepCopyObject ¶
func (in *PgBouncerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PgBouncerSSLMode ¶ added in v0.27.0
type PgBouncerSSLMode string
+kubebuilder:validation:Enum=disable;allow;prefer;require;verify-ca;verify-full
const ( // PgBouncerSSLModeDisable represents `disable` sslMode. It ensures that the server does not use TLS/SSL. PgBouncerSSLModeDisable PgBouncerSSLMode = "disable" // PgBouncerSSLModeAllow represents `allow` sslMode. I don't care about security, // but I will pay the overhead of encryption if the server insists on it. PgBouncerSSLModeAllow PgBouncerSSLMode = "allow" // PgBouncerSSLModePrefer represents `preferSSL` sslMode. // I don't care about encryption, but I wish to pay the overhead of encryption if the server supports it. PgBouncerSSLModePrefer PgBouncerSSLMode = "prefer" // PgBouncerSSLModeRequire represents `requiteSSL` sslmode. I want my data to be encrypted, and I accept the overhead. // I trust that the network will make sure I always connect to the server I want. PgBouncerSSLModeRequire PgBouncerSSLMode = "require" // PgBouncerSSLModeVerifyCA represents `verify-ca` sslmode. I want my data encrypted, and I accept the overhead. // I want to be sure that I connect to a server that I trust. PgBouncerSSLModeVerifyCA PgBouncerSSLMode = "verify-ca" // PgBouncerSSLModeVerifyFull represents `verify-full` sslmode. I want my data encrypted, and I accept the overhead. // I want to be sure that I connect to a server I trust, and that it's the one I specify. PgBouncerSSLModeVerifyFull PgBouncerSSLMode = "verify-full" )
type PgBouncerSpec ¶
type PgBouncerSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of PgBouncer to be deployed. Version string `json:"version"` // Number of instances to deploy for a PgBouncer instance. // +optional Replicas *int32 `json:"replicas,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // PodTemplate is an optional configuration for pods. // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // Databases to proxy by connection pooling. // +optional Databases []Databases `json:"databases,omitempty"` // ConnectionPoolConfig defines Connection pool configuration. // +optional ConnectionPool *ConnectionPoolConfig `json:"connectionPool,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database (i.e mongod.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // Monitor is used monitor database instance. // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // SSLMode for both standalone and clusters. [disable;allow;prefer;require;verify-ca;verify-full] SSLMode PgBouncerSSLMode `json:"sslMode,omitempty"` // TLS contains tls configurations for client and server. // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy PgBouncerTerminationPolicy `json:"terminationPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*PgBouncerSpec) DeepCopy ¶
func (in *PgBouncerSpec) DeepCopy() *PgBouncerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgBouncerSpec.
func (*PgBouncerSpec) DeepCopyInto ¶
func (in *PgBouncerSpec) DeepCopyInto(out *PgBouncerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PgBouncerStatus ¶
type PgBouncerStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` }
func (*PgBouncerStatus) DeepCopy ¶
func (in *PgBouncerStatus) DeepCopy() *PgBouncerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgBouncerStatus.
func (*PgBouncerStatus) DeepCopyInto ¶
func (in *PgBouncerStatus) DeepCopyInto(out *PgBouncerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PgBouncerTerminationPolicy ¶ added in v0.27.0
type PgBouncerTerminationPolicy string
+kubebuilder:validation:Enum=Delete;WipeOut;DoNotTerminate
const ( // Deletes database pods, service, pvcs but leave the stash backup data intact. PgBouncerTerminationPolicyDelete PgBouncerTerminationPolicy = "Delete" // Deletes database pods, service, pvcs and stash backup data. PgBouncerTerminationPolicyWipeOut PgBouncerTerminationPolicy = "WipeOut" // Rejects attempt to delete database using ValidationWebhook. PgBouncerTerminationPolicyDoNotTerminate PgBouncerTerminationPolicy = "DoNotTerminate" )
type PostgreLeaderElectionConfig ¶ added in v0.17.0
type PostgreLeaderElectionConfig struct { // LeaseDuration is the duration in second that non-leader candidates will // wait to force acquire leadership. This is measured against time of // last observed ack. Default 15 // Deprecated LeaseDurationSeconds int32 `json:"leaseDurationSeconds,omitempty"` // RenewDeadline is the duration in second that the acting master will retry // refreshing leadership before giving up. Normally, LeaseDuration * 2 / 3. // Default 10 // Deprecated RenewDeadlineSeconds int32 `json:"renewDeadlineSeconds,omitempty"` // RetryPeriod is the duration in second the LeaderElector clients should wait // between tries of actions. Normally, LeaseDuration / 3. // Default 2 // Deprecated RetryPeriodSeconds int32 `json:"retryPeriodSeconds,omitempty"` // MaximumLagBeforeFailover is used as maximum lag tolerance for the cluster. // when ever a replica is lagging more than MaximumLagBeforeFailover // this node need to sync manually with the primary node. default value is 32MB // +default=33554432 // +kubebuilder:default=33554432 // +optional MaximumLagBeforeFailover uint64 `json:"maximumLagBeforeFailover,omitempty"` // Period between Node.Tick invocations // +kubebuilder:default="100ms" // +optional Period metav1.Duration `json:"period,omitempty"` // ElectionTick is the number of Node.Tick invocations that must pass between // elections. That is, if a follower does not receive any message from the // leader of current term before ElectionTick has elapsed, it will become // candidate and start an election. ElectionTick must be greater than // HeartbeatTick. We suggest ElectionTick = 10 * HeartbeatTick to avoid // unnecessary leader switching. default value is 10. // +default=10 // +kubebuilder:default=10 // +optional ElectionTick int32 `json:"electionTick,omitempty"` // HeartbeatTick is the number of Node.Tick invocations that must pass between // heartbeats. That is, a leader sends heartbeat messages to maintain its // leadership every HeartbeatTick ticks. default value is 1. // +default=1 // +kubebuilder:default=1 // +optional HeartbeatTick int32 `json:"heartbeatTick,omitempty"` // TransferLeadershipInterval retry interval for transfer leadership // to the healthiest node // +kubebuilder:default="1s" // +optional TransferLeadershipInterval *metav1.Duration `json:"transferLeadershipInterval,omitempty"` // TransferLeadershipTimeout retry timeout for transfer leadership // to the healthiest node // +kubebuilder:default="60s" // +optional TransferLeadershipTimeout *metav1.Duration `json:"transferLeadershipTimeout,omitempty"` }
PostgreLeaderElectionConfig contains essential attributes of leader election.
func (*PostgreLeaderElectionConfig) DeepCopy ¶ added in v0.17.0
func (in *PostgreLeaderElectionConfig) DeepCopy() *PostgreLeaderElectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreLeaderElectionConfig.
func (*PostgreLeaderElectionConfig) DeepCopyInto ¶ added in v0.17.0
func (in *PostgreLeaderElectionConfig) DeepCopyInto(out *PostgreLeaderElectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Postgres ¶
type Postgres struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PostgresSpec `json:"spec,omitempty"` Status PostgresStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=postgreses,singular=postgres,shortName=pg,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (Postgres) AppBindingMeta ¶
func (p Postgres) AppBindingMeta() appcat.AppBindingMeta
func (*Postgres) CertificateName ¶ added in v0.17.0
func (p *Postgres) CertificateName(alias PostgresCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (Postgres) CustomResourceDefinition ¶
func (_ Postgres) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*Postgres) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Postgres.
func (*Postgres) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Postgres) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Postgres) GetAuthSecretName ¶ added in v0.29.0
func (*Postgres) GetCertSecretName ¶ added in v0.18.0
func (p *Postgres) GetCertSecretName(alias PostgresCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any provide, otherwise returns default certificate secret name for the given alias.
func (Postgres) GoverningServiceName ¶
func (Postgres) OffshootLabels ¶
func (Postgres) OffshootName ¶
func (Postgres) OffshootSelectors ¶
func (Postgres) PodControllerLabels ¶ added in v0.23.0
func (*Postgres) ReplicasAreReady ¶
func (p *Postgres) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (Postgres) ResourceFQN ¶ added in v0.16.0
func (Postgres) ResourceKind ¶
func (Postgres) ResourcePlural ¶
func (Postgres) ResourceShortCode ¶
func (Postgres) ResourceSingular ¶
func (Postgres) ServiceLabels ¶ added in v0.23.0
func (Postgres) ServiceName ¶
func (*Postgres) SetDefaults ¶
func (p *Postgres) SetDefaults(postgresVersion *catalog.PostgresVersion, topology *core_util.Topology)
func (*Postgres) SetHealthCheckerDefaults ¶ added in v0.28.0
func (m *Postgres) SetHealthCheckerDefaults()
func (*Postgres) SetTLSDefaults ¶ added in v0.17.0
func (p *Postgres) SetTLSDefaults()
func (Postgres) StandbyServiceName ¶
func (Postgres) StatsService ¶
func (p Postgres) StatsService() mona.StatsAccessor
func (Postgres) StatsServiceLabels ¶
type PostgresCertificateAlias ¶
type PostgresCertificateAlias string
+kubebuilder:validation:Enum=server;archiver;metrics-exporter
const ( PostgresServerCert PostgresCertificateAlias = "server" PostgresClientCert PostgresCertificateAlias = "client" PostgresArchiverCert PostgresCertificateAlias = "archiver" PostgresMetricsExporterCert PostgresCertificateAlias = "metrics-exporter" )
type PostgresClientAuthMode ¶ added in v0.17.0
type PostgresClientAuthMode string
PostgresClientAuthMode represents the ClientAuthMode of PostgreSQL clusters ( replicaset ) ref: https://www.postgresql.org/docs/12/auth-methods.html +kubebuilder:validation:Enum=md5;scram;cert
const ( // ClientAuthModeMD5 uses a custom less secure challenge-response mechanism. // It prevents password sniffing and avoids storing passwords on the server in plain text but provides no protection // if an attacker manages to steal the password hash from the server. // Also, the MD5 hash algorithm is nowadays no longer considered secure against determined attacks ClientAuthModeMD5 PostgresClientAuthMode = "md5" // ClientAuthModeScram performs SCRAM-SHA-256 authentication, as described in RFC 7677. // It is a challenge-response scheme that prevents password sniffing on untrusted connections // and supports storing passwords on the server in a cryptographically hashed form that is thought to be secure. // This is the most secure of the currently provided methods, but it is not supported by older client libraries. ClientAuthModeScram PostgresClientAuthMode = "scram" // ClientAuthModeCert represents `cert clientcert=1` auth mode where client need to provide cert and private key for authentication. // When server is config with this auth method. Client can't connect with postgreSQL server with password. They need // to Send the client cert and client key certificate for authentication. ClientAuthModeCert PostgresClientAuthMode = "cert" )
type PostgresList ¶
type PostgresList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of Postgres CRD objects Items []Postgres `json:"items,omitempty"` }
func (*PostgresList) DeepCopy ¶
func (in *PostgresList) DeepCopy() *PostgresList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresList.
func (*PostgresList) DeepCopyInto ¶
func (in *PostgresList) DeepCopyInto(out *PostgresList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresList) DeepCopyObject ¶
func (in *PostgresList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresSSLMode ¶ added in v0.17.0
type PostgresSSLMode string
ref: https://www.postgresql.org/docs/13/libpq-ssl.html +kubebuilder:validation:Enum=disable;allow;prefer;require;verify-ca;verify-full
const ( // PostgresSSLModeDisable represents `disable` sslMode. It ensures that the server does not use TLS/SSL. PostgresSSLModeDisable PostgresSSLMode = "disable" // PostgresSSLModeAllow represents `allow` sslMode. I don't care about security, // but I will pay the overhead of encryption if the server insists on it. PostgresSSLModeAllow PostgresSSLMode = "allow" // PostgresSSLModePrefer represents `preferSSL` sslMode. // I don't care about encryption, but I wish to pay the overhead of encryption if the server supports it. PostgresSSLModePrefer PostgresSSLMode = "prefer" // PostgresSSLModeRequire represents `requiteSSL` sslmode. I want my data to be encrypted, and I accept the overhead. // I trust that the network will make sure I always connect to the server I want. PostgresSSLModeRequire PostgresSSLMode = "require" // PostgresSSLModeVerifyCA represents `verify-ca` sslmode. I want my data encrypted, and I accept the overhead. // I want to be sure that I connect to a server that I trust. PostgresSSLModeVerifyCA PostgresSSLMode = "verify-ca" // PostgresSSLModeVerifyFull represents `verify-full` sslmode. I want my data encrypted, and I accept the overhead. // I want to be sure that I connect to a server I trust, and that it's the one I specify. PostgresSSLModeVerifyFull PostgresSSLMode = "verify-full" )
type PostgresSpec ¶
type PostgresSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of Postgres to be deployed. Version string `json:"version"` // Number of instances to deploy for a Postgres database. Replicas *int32 `json:"replicas,omitempty"` // Standby mode StandbyMode *PostgresStandbyMode `json:"standbyMode,omitempty"` // Streaming mode StreamingMode *PostgresStreamingMode `json:"streamingMode,omitempty"` // Leader election configuration // +optional LeaderElection *PostgreLeaderElectionConfig `json:"leaderElection,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // ClientAuthMode for sidecar or sharding. (default will be md5. [md5;scram;cert]) ClientAuthMode PostgresClientAuthMode `json:"clientAuthMode,omitempty"` // SSLMode for both standalone and clusters. [disable;allow;prefer;require;verify-ca;verify-full] SSLMode PostgresSSLMode `json:"sslMode,omitempty"` // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database (i.e postgresql.conf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // TLS contains tls configurations for client and server. // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // Coordinator defines attributes of the coordinator container // +optional Coordinator CoordinatorSpec `json:"coordinator,omitempty"` // EnforceFsGroup Is Used when the storageClass's CSI Driver doesn't support FsGroup properties properly. // If It's true then The Init Container will run as RootUser and // the init-container will set user's permission for the mounted pvc volume with which coordinator and postgres containers are going to run. // In postgres it is /var/pv // +optional EnforceFsGroup bool `json:"enforceFsGroup,omitempty"` // AllowedSchemas defines the types of database schemas that MAY refer to // a database instance and the trusted namespaces where those schema resources MAY be // present. // // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*PostgresSpec) DeepCopy ¶
func (in *PostgresSpec) DeepCopy() *PostgresSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresSpec.
func (*PostgresSpec) DeepCopyInto ¶
func (in *PostgresSpec) DeepCopyInto(out *PostgresSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresSpec) GetPersistentSecrets ¶
func (p *PostgresSpec) GetPersistentSecrets() []string
type PostgresStandbyMode ¶
type PostgresStandbyMode string
+kubebuilder:validation:Enum=Hot;Warm
const ( HotPostgresStandbyMode PostgresStandbyMode = "Hot" WarmPostgresStandbyMode PostgresStandbyMode = "Warm" )
type PostgresStatus ¶
type PostgresStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*PostgresStatus) DeepCopy ¶
func (in *PostgresStatus) DeepCopy() *PostgresStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresStatus.
func (*PostgresStatus) DeepCopyInto ¶
func (in *PostgresStatus) DeepCopyInto(out *PostgresStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresStreamingMode ¶
type PostgresStreamingMode string
+kubebuilder:validation:Enum=Synchronous;Asynchronous
const ( SynchronousPostgresStreamingMode PostgresStreamingMode = "Synchronous" AsynchronousPostgresStreamingMode PostgresStreamingMode = "Asynchronous" )
type ProxySQL ¶
type ProxySQL struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ProxySQLSpec `json:"spec,omitempty"` Status ProxySQLStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=proxysqls,singular=proxysql,shortName=prx,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (ProxySQL) AppBindingMeta ¶
func (p ProxySQL) AppBindingMeta() appcat.AppBindingMeta
func (*ProxySQL) CertificateName ¶ added in v0.27.0
func (m *ProxySQL) CertificateName(alias ProxySQLCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (ProxySQL) CustomResourceDefinition ¶
func (_ ProxySQL) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*ProxySQL) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQL.
func (*ProxySQL) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxySQL) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ProxySQL) GetAuthSecretName ¶ added in v0.29.0
func (*ProxySQL) GetCertSecretName ¶ added in v0.27.0
func (m *ProxySQL) GetCertSecretName(alias ProxySQLCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any, otherwise returns default certificate secret name for the given alias.
func (ProxySQL) GoverningServiceName ¶
func (*ProxySQL) IsCluster ¶ added in v0.27.0
IsCluster returns boolean true if the proxysql is in cluster mode, otherwise false
func (ProxySQL) OffshootLabels ¶
func (ProxySQL) OffshootName ¶
func (ProxySQL) OffshootSelectors ¶
func (ProxySQL) PodControllerLabels ¶ added in v0.23.0
func (*ProxySQL) ReplicasAreReady ¶
func (p *ProxySQL) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (ProxySQL) ResourceFQN ¶ added in v0.16.0
func (ProxySQL) ResourceKind ¶
func (ProxySQL) ResourcePlural ¶
func (ProxySQL) ResourceShortCode ¶
func (ProxySQL) ResourceSingular ¶
func (ProxySQL) ServiceLabels ¶ added in v0.23.0
func (ProxySQL) ServiceName ¶
func (*ProxySQL) SetDefaults ¶
func (*ProxySQL) SetHealthCheckerDefaults ¶ added in v0.28.0
func (p *ProxySQL) SetHealthCheckerDefaults()
func (*ProxySQL) SetTLSDefaults ¶ added in v0.27.0
func (ProxySQL) StatsService ¶
func (p ProxySQL) StatsService() mona.StatsAccessor
func (ProxySQL) StatsServiceLabels ¶
type ProxySQLCertificateAlias ¶
type ProxySQLCertificateAlias string
+kubebuilder:validation:Enum=server;archiver;metrics-exporter
const ( ProxySQLServerCert ProxySQLCertificateAlias = "server" ProxySQLClientCert ProxySQLCertificateAlias = "client" ProxySQLMetricsExporterCert ProxySQLCertificateAlias = "metrics-exporter" )
type ProxySQLConfiguration ¶ added in v0.28.0
type ProxySQLConfiguration struct { // +optional MySQLUsers []MySQLUser `json:"mysqlUsers,omitempty"` // +optional // +kubebuilder:pruning:PreserveUnknownFields MySQLQueryRules []*runtime.RawExtension `json:"mysqlQueryRules,omitempty"` // +optional // +kubebuilder:pruning:PreserveUnknownFields MySQLVariables *runtime.RawExtension `json:"mysqlVariables,omitempty"` // +optional // +kubebuilder:pruning:PreserveUnknownFields AdminVariables *runtime.RawExtension `json:"adminVariables,omitempty"` }
func (*ProxySQLConfiguration) DeepCopy ¶ added in v0.28.0
func (in *ProxySQLConfiguration) DeepCopy() *ProxySQLConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLConfiguration.
func (*ProxySQLConfiguration) DeepCopyInto ¶ added in v0.28.0
func (in *ProxySQLConfiguration) DeepCopyInto(out *ProxySQLConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxySQLList ¶
type ProxySQLList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of ProxySQL TPR objects Items []ProxySQL `json:"items,omitempty"` }
func (*ProxySQLList) DeepCopy ¶
func (in *ProxySQLList) DeepCopy() *ProxySQLList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLList.
func (*ProxySQLList) DeepCopyInto ¶
func (in *ProxySQLList) DeepCopyInto(out *ProxySQLList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxySQLList) DeepCopyObject ¶
func (in *ProxySQLList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxySQLSpec ¶
type ProxySQLSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // +optional // SyncUsers is a boolean type and when enabled, operator fetches all users created in the backend server to the // ProxySQL server . Password changes are also synced in proxysql when it is enabled. SyncUsers bool `json:"syncUsers,omitempty"` // +optional // InitConfiguration contains information with which the proxysql will bootstrap (only 4 tables are configurable) InitConfiguration *ProxySQLConfiguration `json:"initConfig,omitempty"` // Version of ProxySQL to be deployed. Version string `json:"version"` // Number of instances to deploy for ProxySQL. Currently we support only replicas = 1. // TODO: If replicas > 1, proxysql will be clustered Replicas *int32 `json:"replicas,omitempty"` // Backend refers to the AppBinding of the backend MySQL/MariaDB/Percona-XtraDB server Backend *core.LocalObjectReference `json:"backend,omitempty"` // ProxySQL secret containing username and password for root user and proxysql user // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // Monitor is used monitor proxysql instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for proxysql (i.e custom-proxysql.cnf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose proxysql // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // TLS contains tls configurations for client and server. // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*ProxySQLSpec) DeepCopy ¶
func (in *ProxySQLSpec) DeepCopy() *ProxySQLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLSpec.
func (*ProxySQLSpec) DeepCopyInto ¶
func (in *ProxySQLSpec) DeepCopyInto(out *ProxySQLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxySQLSpec) GetPersistentSecrets ¶
func (p *ProxySQLSpec) GetPersistentSecrets() []string
type ProxySQLStatus ¶
type ProxySQLStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*ProxySQLStatus) DeepCopy ¶
func (in *ProxySQLStatus) DeepCopy() *ProxySQLStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLStatus.
func (*ProxySQLStatus) DeepCopyInto ¶
func (in *ProxySQLStatus) DeepCopyInto(out *ProxySQLStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecoveryTarget ¶
type RecoveryTarget struct { // TargetTime specifies the time stamp up to which recovery will proceed. TargetTime string `json:"targetTime,omitempty"` // TargetTimeline specifies recovering into a particular timeline. // The default is to recover along the same timeline that was current when the base backup was taken. TargetTimeline string `json:"targetTimeline,omitempty"` // TargetXID specifies the transaction ID up to which recovery will proceed. TargetXID string `json:"targetXID,omitempty"` // TargetInclusive specifies whether to include ongoing transaction in given target point. TargetInclusive *bool `json:"targetInclusive,omitempty"` }
func (*RecoveryTarget) DeepCopy ¶
func (in *RecoveryTarget) DeepCopy() *RecoveryTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecoveryTarget.
func (*RecoveryTarget) DeepCopyInto ¶
func (in *RecoveryTarget) DeepCopyInto(out *RecoveryTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Redis ¶
type Redis struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RedisSpec `json:"spec,omitempty"` Status RedisStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=redises,singular=redis,shortName=rd,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (Redis) AppBindingMeta ¶
func (r Redis) AppBindingMeta() appcat.AppBindingMeta
func (Redis) BaseNameForShard ¶
func (*Redis) CertificateName ¶
func (r *Redis) CertificateName(alias RedisCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (Redis) ConfigSecretName ¶
func (Redis) CustomConfigSecretName ¶ added in v0.23.0
func (Redis) CustomResourceDefinition ¶
func (r Redis) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*Redis) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Redis.
func (*Redis) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Redis) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Redis) GetAuthSecretName ¶ added in v0.29.0
func (*Redis) GetCertSecretName ¶ added in v0.20.0
func (r *Redis) GetCertSecretName(alias RedisCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any provide, otherwise returns default certificate secret name for the given alias.
func (Redis) GoverningServiceName ¶
func (Redis) OffshootLabels ¶
func (Redis) OffshootName ¶
func (Redis) OffshootSelectors ¶
func (Redis) PodControllerLabels ¶ added in v0.23.0
func (*Redis) ReplicasAreReady ¶
func (r *Redis) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (Redis) ResourceFQN ¶ added in v0.16.0
func (Redis) ResourceKind ¶
func (Redis) ResourcePlural ¶
func (Redis) ResourceShortCode ¶
func (Redis) ResourceSingular ¶
func (Redis) ServiceLabels ¶ added in v0.23.0
func (Redis) ServiceName ¶
func (*Redis) SetDefaults ¶
func (*Redis) SetHealthCheckerDefaults ¶ added in v0.28.0
func (r *Redis) SetHealthCheckerDefaults()
func (*Redis) SetTLSDefaults ¶
func (r *Redis) SetTLSDefaults()
func (Redis) ShardNodeTemplate ¶
func (Redis) StandbyServiceName ¶ added in v0.22.0
func (Redis) StatefulSetNameWithShard ¶
func (Redis) StatsService ¶
func (r Redis) StatsService() mona.StatsAccessor
func (Redis) StatsServiceLabels ¶
type RedisCertificateAlias ¶
type RedisCertificateAlias string
+kubebuilder:validation:Enum=server;client;metrics-exporter
const ( RedisServerCert RedisCertificateAlias = "server" RedisClientCert RedisCertificateAlias = "client" RedisMetricsExporterCert RedisCertificateAlias = "metrics-exporter" )
type RedisClusterSpec ¶
type RedisClusterSpec struct { // Number of master nodes. It must be >= 3. If not specified, defaults to 3. Master *int32 `json:"master,omitempty"` // Number of replica(s) per master node. If not specified, defaults to 1. Replicas *int32 `json:"replicas,omitempty"` }
func (*RedisClusterSpec) DeepCopy ¶
func (in *RedisClusterSpec) DeepCopy() *RedisClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClusterSpec.
func (*RedisClusterSpec) DeepCopyInto ¶
func (in *RedisClusterSpec) DeepCopyInto(out *RedisClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisList ¶
type RedisList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of Redis TPR objects Items []Redis `json:"items,omitempty"` }
func (*RedisList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisList.
func (*RedisList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RedisSentinel ¶ added in v0.22.0
type RedisSentinel struct { metav1.TypeMeta `json:",inline,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RedisSentinelSpec `json:"spec,omitempty"` Status RedisSentinelStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=redissentinels,singular=redissentinel,categories={datastore,kubedb,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (RedisSentinel) Address ¶ added in v0.29.0
func (r RedisSentinel) Address() string
func (RedisSentinel) AppBindingMeta ¶ added in v0.22.0
func (rs RedisSentinel) AppBindingMeta() appcat.AppBindingMeta
func (*RedisSentinel) CertificateName ¶ added in v0.22.0
func (rs *RedisSentinel) CertificateName(alias RedisCertificateAlias) string
CertificateName returns the default certificate name and/or certificate secret name for a certificate alias
func (RedisSentinel) ConfigSecretName ¶ added in v0.22.0
func (rs RedisSentinel) ConfigSecretName() string
func (RedisSentinel) CustomResourceDefinition ¶ added in v0.22.0
func (rs RedisSentinel) CustomResourceDefinition() *apiextensions.CustomResourceDefinition
func (*RedisSentinel) DeepCopy ¶ added in v0.22.0
func (in *RedisSentinel) DeepCopy() *RedisSentinel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinel.
func (*RedisSentinel) DeepCopyInto ¶ added in v0.22.0
func (in *RedisSentinel) DeepCopyInto(out *RedisSentinel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisSentinel) DeepCopyObject ¶ added in v0.22.0
func (in *RedisSentinel) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (RedisSentinel) GetAuthSecretName ¶ added in v0.29.0
func (rs RedisSentinel) GetAuthSecretName() string
func (*RedisSentinel) GetCertSecretName ¶ added in v0.22.0
func (rs *RedisSentinel) GetCertSecretName(alias RedisCertificateAlias) string
GetCertSecretName returns the secret name for a certificate alias if any provide, otherwise returns default certificate secret name for the given alias.
func (*RedisSentinel) GetPersistentSecrets ¶ added in v0.22.0
func (rs *RedisSentinel) GetPersistentSecrets() []string
func (RedisSentinel) GoverningServiceName ¶ added in v0.22.0
func (rs RedisSentinel) GoverningServiceName() string
func (RedisSentinel) OffshootLabels ¶ added in v0.22.0
func (rs RedisSentinel) OffshootLabels() map[string]string
func (RedisSentinel) OffshootName ¶ added in v0.22.0
func (rs RedisSentinel) OffshootName() string
func (RedisSentinel) OffshootSelectors ¶ added in v0.22.0
func (rs RedisSentinel) OffshootSelectors() map[string]string
func (RedisSentinel) PodControllerLabels ¶ added in v0.23.0
func (rs RedisSentinel) PodControllerLabels() map[string]string
func (RedisSentinel) PodLabels ¶ added in v0.23.0
func (rs RedisSentinel) PodLabels() map[string]string
func (*RedisSentinel) ReplicasAreReady ¶ added in v0.22.0
func (rs *RedisSentinel) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)
func (RedisSentinel) ResourceFQN ¶ added in v0.22.0
func (rs RedisSentinel) ResourceFQN() string
func (RedisSentinel) ResourceKind ¶ added in v0.22.0
func (rs RedisSentinel) ResourceKind() string
func (RedisSentinel) ResourcePlural ¶ added in v0.22.0
func (rs RedisSentinel) ResourcePlural() string
func (RedisSentinel) ResourceShortCode ¶ added in v0.22.0
func (rs RedisSentinel) ResourceShortCode() string
func (RedisSentinel) ResourceSingular ¶ added in v0.22.0
func (rs RedisSentinel) ResourceSingular() string
func (RedisSentinel) ServiceLabels ¶ added in v0.23.0
func (rs RedisSentinel) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string
func (*RedisSentinel) SetDefaults ¶ added in v0.22.0
func (rs *RedisSentinel) SetDefaults(topology *core_util.Topology)
func (*RedisSentinel) SetHealthCheckerDefaults ¶ added in v0.28.0
func (rs *RedisSentinel) SetHealthCheckerDefaults()
func (*RedisSentinel) SetTLSDefaults ¶ added in v0.22.0
func (rs *RedisSentinel) SetTLSDefaults()
func (RedisSentinel) StatsService ¶ added in v0.22.0
func (rs RedisSentinel) StatsService() mona.StatsAccessor
func (RedisSentinel) StatsServiceLabels ¶ added in v0.22.0
func (rs RedisSentinel) StatsServiceLabels() map[string]string
type RedisSentinelList ¶ added in v0.22.0
type RedisSentinelList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of RedisSentinel TPR objects Items []RedisSentinel `json:"items,omitempty"` }
func (*RedisSentinelList) DeepCopy ¶ added in v0.22.0
func (in *RedisSentinelList) DeepCopy() *RedisSentinelList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelList.
func (*RedisSentinelList) DeepCopyInto ¶ added in v0.22.0
func (in *RedisSentinelList) DeepCopyInto(out *RedisSentinelList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisSentinelList) DeepCopyObject ¶ added in v0.22.0
func (in *RedisSentinelList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RedisSentinelRef ¶ added in v0.22.0
type RedisSentinelRef struct { // Name of the refereed sentinel Name string `json:"name,omitempty"` // Namespace where refereed sentinel has been deployed Namespace string `json:"namespace,omitempty"` }
func (*RedisSentinelRef) DeepCopy ¶ added in v0.22.0
func (in *RedisSentinelRef) DeepCopy() *RedisSentinelRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelRef.
func (*RedisSentinelRef) DeepCopyInto ¶ added in v0.22.0
func (in *RedisSentinelRef) DeepCopyInto(out *RedisSentinelRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisSentinelSpec ¶ added in v0.22.0
type RedisSentinelSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of Postgres to be deployed. Version string `json:"version"` // Number of instances to deploy for a Redis Sentinel. Replicas *int32 `json:"replicas,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // TLS contains tls configurations for client and server. // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage spec to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // If disable Auth true then don't create any auth secret // +optional DisableAuth bool `json:"disableAuth,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*RedisSentinelSpec) DeepCopy ¶ added in v0.22.0
func (in *RedisSentinelSpec) DeepCopy() *RedisSentinelSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelSpec.
func (*RedisSentinelSpec) DeepCopyInto ¶ added in v0.22.0
func (in *RedisSentinelSpec) DeepCopyInto(out *RedisSentinelSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisSentinelStatus ¶ added in v0.22.0
type RedisSentinelStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*RedisSentinelStatus) DeepCopy ¶ added in v0.22.0
func (in *RedisSentinelStatus) DeepCopy() *RedisSentinelStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelStatus.
func (*RedisSentinelStatus) DeepCopyInto ¶ added in v0.22.0
func (in *RedisSentinelStatus) DeepCopyInto(out *RedisSentinelStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisSpec ¶
type RedisSpec struct { // AutoOps contains configuration of automatic ops-request-recommendation generation // +optional AutoOps AutoOpsSpec `json:"autoOps,omitempty"` // Version of Redis to be deployed. Version string `json:"version"` // Number of instances to deploy for a Redis database. Replicas *int32 `json:"replicas,omitempty"` // Default is "Standalone". If set to "Cluster", ClusterSpec is required and redis servers will // start in cluster mode Mode RedisMode `json:"mode,omitempty"` SentinelRef *RedisSentinelRef `json:"sentinelRef,omitempty"` // Redis cluster configuration for running redis servers in cluster mode. Required if Mode is set to "Cluster" Cluster *RedisClusterSpec `json:"cluster,omitempty"` // StorageType can be durable (default) or ephemeral StorageType StorageType `json:"storageType,omitempty"` // Storage spec to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` // Database authentication secret // +optional AuthSecret *SecretReference `json:"authSecret,omitempty"` // If disable Auth true then don't create any auth secret // +optional DisableAuth bool `json:"disableAuth,omitempty"` // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` // Monitor is used monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` // ConfigSecret is an optional field to provide custom configuration file for database (i.e redis.conf). // If specified, this file will be used as configuration file otherwise default configuration file will be used. ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` // TLS contains tls configurations for client and server. // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional Halted bool `json:"halted,omitempty"` // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` // Coordinator defines attributes of the coordinator container // +optional Coordinator CoordinatorSpec `json:"coordinator,omitempty"` // AllowedSchemas defines the types of database schemas that MAY refer to // a database instance and the trusted namespaces where those schema resources MAY be // present. // // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` // HealthChecker defines attributes of the health checker // +optional // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 1} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` }
func (*RedisSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSpec.
func (*RedisSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisSpec) GetPersistentSecrets ¶
type RedisStatus ¶
type RedisStatus struct { // Specifies the current phase of the database // +optional Phase DatabasePhase `json:"phase,omitempty"` // observedGeneration is the most recent generation observed for this resource. It corresponds to the // resource's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` }
func (*RedisStatus) DeepCopy ¶
func (in *RedisStatus) DeepCopy() *RedisStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisStatus.
func (*RedisStatus) DeepCopyInto ¶
func (in *RedisStatus) DeepCopyInto(out *RedisStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSLMode ¶
type SSLMode string
SSLMode represents available sslmodes of mongodb. ref: https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-sslmode +kubebuilder:validation:Enum=disabled;allowSSL;preferSSL;requireSSL
const ( // SSLModeDisabled represents `disabled` sslMode. It ensures that the server does not use TLS/SSL. SSLModeDisabled SSLMode = "disabled" // SSLModeAllowSSL represents `allowSSL` sslMode. It ensures that the connections between servers do not use TLS/SSL. For incoming connections, // the server accepts both TLS/SSL and non-TLS/non-SSL. SSLModeAllowSSL SSLMode = "allowSSL" // SSLModePreferSSL represents `preferSSL` sslMode. It ensures that the connections between servers use TLS/SSL. For incoming connections, // the server accepts both TLS/SSL and non-TLS/non-SSL. SSLModePreferSSL SSLMode = "preferSSL" // SSLModeRequireSSL represents `requiteSSL` sslmode. It ensures that the server uses and accepts only TLS/SSL encrypted connections. SSLModeRequireSSL SSLMode = "requireSSL" )
type ScriptSourceSpec ¶
type ScriptSourceSpec struct { ScriptPath string `json:"scriptPath,omitempty"` core.VolumeSource `json:",inline,omitempty"` }
func (*ScriptSourceSpec) DeepCopy ¶
func (in *ScriptSourceSpec) DeepCopy() *ScriptSourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptSourceSpec.
func (*ScriptSourceSpec) DeepCopyInto ¶
func (in *ScriptSourceSpec) DeepCopyInto(out *ScriptSourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReference ¶ added in v0.29.0
type SecretReference struct { core.LocalObjectReference `json:",inline,omitempty"` ExternallyManaged bool `json:"externallyManaged,omitempty"` }
func (*SecretReference) DeepCopy ¶ added in v0.29.0
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶ added in v0.29.0
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SemiSyncSpec ¶ added in v0.27.0
type SemiSyncSpec struct { // count of slave to wait for before commit // +kubebuilder:default=1 //+kubebuilder:validation:Minimum=1 SourceWaitForReplicaCount int `json:"sourceWaitForReplicaCount,omitempty"` // +kubebuilder:default="24h" SourceTimeout metav1.Duration `json:"sourceTimeout,omitempty"` // recovery method if the slave has any errant transaction // +kubebuilder:default=PseudoTransaction ErrantTransactionRecoveryPolicy *ErrantTransactionRecoveryPolicy `json:"errantTransactionRecoveryPolicy"` }
func (*SemiSyncSpec) DeepCopy ¶ added in v0.27.0
func (in *SemiSyncSpec) DeepCopy() *SemiSyncSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemiSyncSpec.
func (*SemiSyncSpec) DeepCopyInto ¶ added in v0.27.0
func (in *SemiSyncSpec) DeepCopyInto(out *SemiSyncSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAlias ¶ added in v0.15.0
type ServiceAlias string
+kubebuilder:validation:Enum=primary;standby;stats
const ( PrimaryServiceAlias ServiceAlias = "primary" StandbyServiceAlias ServiceAlias = "standby" StatsServiceAlias ServiceAlias = "stats" )
type StorageEngine ¶
type StorageEngine string
StorageEngine represents storage engine of mongodb clusters. ref: https://docs.mongodb.com/manual/core/storage-engines/
const ( // StorageEngineWiredTiger represents `wiredTiger` storage engine of mongodb. StorageEngineWiredTiger StorageEngine = "wiredTiger" // StorageEngineInMemory represents `inMemory` storage engine of mongodb. StorageEngineInMemory StorageEngine = "inMemory" )
type StorageType ¶
type StorageType string
+kubebuilder:validation:Enum=Durable;Ephemeral
const ( // default storage type and requires spec.storage to be configured StorageTypeDurable StorageType = "Durable" // Uses emptyDir as storage StorageTypeEphemeral StorageType = "Ephemeral" )
type SystemUserSecretsSpec ¶ added in v0.28.0
type SystemUserSecretsSpec struct { // ReplicationUserSecret contains replication system user credentials // +optional ReplicationUserSecret *SecretReference `json:"replicationUserSecret,omitempty"` // MonitorUserSecret contains monitor system user credentials // +optional MonitorUserSecret *SecretReference `json:"monitorUserSecret,omitempty"` }
func (*SystemUserSecretsSpec) DeepCopy ¶ added in v0.28.0
func (in *SystemUserSecretsSpec) DeepCopy() *SystemUserSecretsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemUserSecretsSpec.
func (*SystemUserSecretsSpec) DeepCopyInto ¶ added in v0.28.0
func (in *SystemUserSecretsSpec) DeepCopyInto(out *SystemUserSecretsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSPolicy ¶
type TLSPolicy struct { Member *MemberSecret `json:"member,omitempty"` OperatorSecret string `json:"operatorSecret,omitempty"` }
func (*TLSPolicy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSPolicy.
func (*TLSPolicy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerminationPolicy ¶
type TerminationPolicy string
+kubebuilder:validation:Enum=Halt;Delete;WipeOut;DoNotTerminate
const ( // Deletes database pods, service but leave the PVCs and stash backup data intact. TerminationPolicyHalt TerminationPolicy = "Halt" // Deletes database pods, service, pvcs but leave the stash backup data intact. TerminationPolicyDelete TerminationPolicy = "Delete" // Deletes database pods, service, pvcs and stash backup data. TerminationPolicyWipeOut TerminationPolicy = "WipeOut" // Rejects attempt to delete database using ValidationWebhook. TerminationPolicyDoNotTerminate TerminationPolicy = "DoNotTerminate" )
Source Files ¶
- constants.go
- doc.go
- doubleoptin_types.go
- elasticsearch_helpers.go
- elasticsearch_types.go
- etcd_helpers.go
- etcd_types.go
- helpers.go
- kafka_helpers.go
- kafka_types.go
- kafka_webhook.go
- mariadb_helpers.go
- mariadb_types.go
- memcached_helpers.go
- memcached_types.go
- mongodb_helpers.go
- mongodb_types.go
- mysql_helpers.go
- mysql_types.go
- openapi_generated.go
- perconaxtradb_helpers.go
- perconaxtradb_types.go
- pgbouncer_helpers.go
- pgbouncer_types.go
- postgres_helpers.go
- postgres_types.go
- proxysql_helpers.go
- proxysql_types.go
- redis_helpers.go
- redis_sentinel_helpers.go
- redis_sentinel_types.go
- redis_types.go
- register.go
- types.go
- zz_generated.deepcopy.go