v1alpha2

package
v0.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2021 License: Apache-2.0 Imports: 35 Imported by: 102

Documentation

Overview

+groupName=kubedb.com

Index

Constants

View Source
const (
	// Deprecated
	DatabaseNamePrefix = "kubedb"

	KubeDBOrganization = "kubedb"

	LabelRole = kubedb.GroupName + "/role"

	ReplicationModeDetectorContainerName = "replication-mode-detector"
	DatabasePodPrimary                   = "primary"
	DatabasePodStandby                   = "standby"

	ComponentDatabase     = "database"
	RoleStats             = "stats"
	DefaultStatsPath      = "/metrics"
	DefaultPasswordLength = 16

	ContainerExporterName = "exporter"
	LocalHost             = "localhost"
	LocalHostIP           = "127.0.0.1"

	DBCustomConfigName             = "custom-config"
	DefaultVolumeClaimTemplateName = "data"

	DBTLSVolume         = "tls-volume"
	DBExporterTLSVolume = "exporter-tls-volume"

	// =========================== 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"
	ElasticsearchMetricsPort                     = 9600
	ElasticsearchIngestNodeSuffix                = "ingest"
	ElasticsearchDataNodeSuffix                  = "data"
	ElasticsearchMasterNodeSuffix                = "master"
	ElasticsearchNodeRoleMaster                  = kubedb.GroupName + "/" + "role-master"
	ElasticsearchNodeRoleIngest                  = kubedb.GroupName + "/" + "role-ingest"
	ElasticsearchNodeRoleData                    = kubedb.GroupName + "/" + "role-data"
	ElasticsearchNodeRoleSet                     = "set"
	ElasticsearchConfigDir                       = "/usr/share/elasticsearch/config"
	ElasticsearchTempConfigDir                   = "/elasticsearch/temp-config"
	ElasticsearchCustomConfigDir                 = "/elasticsearch/custom-config"
	ElasticsearchDataDir                         = "/usr/share/elasticsearch/data"
	ElasticsearchOpendistroSecurityConfigDir     = "/usr/share/elasticsearch/plugins/opendistro_security/securityconfig"
	ElasticsearchSearchGuardSecurityConfigDir    = "/usr/share/elasticsearch/plugins/search-guard-%v/sgconfig"
	ElasticsearchOpendistroReadallMonitorRole    = "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"

	// 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"
	NodeTypeMongos                = "mongos"
	NodeTypeShard                 = "shard"
	NodeTypeConfig                = "configsvr"

	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"

	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"
	MySQLPrimaryServicePortName            = "primary"
	MySQLStandbyServicePortName            = "standby"
	MySQLDatabasePort                      = 3306
	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"

	MySQLTLSConfigCustom     = "custom"
	MySQLTLSConfigSkipVerify = "skip-verify"
	MySQLTLSConfigTrue       = "true"
	MySQLTLSConfigFalse      = "false"
	MySQLTLSConfigPreferred  = "preferred"

	// =========================== PerconaXtraDB Constants ============================
	PerconaXtraDBClusterRecommendedVersion    = "5.7"
	PerconaXtraDBMaxClusterNameLength         = 32
	PerconaXtraDBStandaloneReplicas           = 1
	PerconaXtraDBDefaultClusterSize           = 3
	PerconaXtraDBDataMountPath                = "/var/lib/mysql"
	PerconaXtraDBDataLostFoundPath            = PerconaXtraDBDataMountPath + "lost+found"
	PerconaXtraDBInitDBMountPath              = "/docker-entrypoint-initdb.d"
	PerconaXtraDBCustomConfigMountPath        = "/etc/percona-server.conf.d/"
	PerconaXtraDBClusterCustomConfigMountPath = "/etc/percona-xtradb-cluster.conf.d/"

	// =========================== MariaDB Constants ============================
	MariaDBMaxClusterNameLength         = 32
	MariaDBStandaloneReplicas           = 1
	MariaDBDefaultClusterSize           = 3
	MariaDBDataMountPath                = "/var/lib/mysql"
	MariaDBDataLostFoundPath            = MariaDBDataMountPath + "lost+found"
	MariaDBInitDBMountPath              = "/docker-entrypoint-initdb.d"
	MariaDBCustomConfigMountPath        = "/etc/percona-server.conf.d/"
	MariaDBClusterCustomConfigMountPath = "/etc/percona-xtradb-cluster.conf.d/"

	// =========================== PostgreSQL Constants ============================
	PostgresDatabasePortName       = "db"
	PostgresPrimaryServicePortName = "primary"
	PostgresStandbyServicePortName = "standby"
	PostgresDatabasePort           = 5432
	PostgresPodPrimary             = "primary"
	PostgresPodStandby             = "standby"
	PostgresLabelRole              = kubedb.GroupName + "/role"

	PostgresCoordinatorContainerName = "pg-coordinator"
	PostgresCoordinatorPort          = 2380
	PostgresCoordinatorPortName      = "coordinator"

	PostgresCoordinatorClientPort     = 2379
	PostgresCoordinatorClientPortName = "coordinatclient"

	PostgresRunScriptMountPath  = "/run_scripts"
	PostgresRunScriptVolumeName = "scripts"

	PostgresCurrentXlogLocation     = "pg_current_xlog_location"
	PostgresLastXlogReceiveLocation = "pg_last_xlog_receive_location"
	PostgresLastXlogReplayLocation  = "pg_last_xlog_replay_location"
	PostgresXlogLocationDiff        = "pg_xlog_location_diff"

	PostgresCurrentWalLSN         = "pg_current_wal_lsn"
	PostgresLastWalReceivePostion = "pg_last_wal_receive_lsn"
	PostgresLastWalReplayLSN      = "pg_last_wal_replay_lsn"
	PostgresWalLSNDiff            = "pg_wal_lsn_diff"

	PostgresKeyFileSecretSuffix = "key"
	PostgresPEMSecretSuffix     = "pem"
	PostgresDefaultUsername     = "postgres"

	// =========================== ProxySQL Constants ============================
	LabelProxySQLName        = ProxySQLKey + "/name"
	LabelProxySQLLoadBalance = ProxySQLKey + "/load-balance"

	ProxySQLDatabasePort           = 6033
	ProxySQLDatabasePortName       = "db"
	ProxySQLPrimaryServicePortName = "db"
	ProxySQLAdminPort              = 6032
	ProxySQLAdminPortName          = "admin"
	ProxySQLDataMountPath          = "/var/lib/proxysql"
	ProxySQLCustomConfigMountPath  = "/etc/custom-config"

	// =========================== Redis Constants ============================
	RedisShardKey               = RedisKey + "/shard"
	RedisDatabasePortName       = "db"
	RedisPrimaryServicePortName = "primary"
	RedisDatabasePort           = 6379
	RedisGossipPortName         = "gossip"
	RedisGossipPort             = 16379

	RedisKeyFileSecretSuffix = "key"
	RedisPEMSecretSuffix     = "pem"
	RedisRootUsername        = "root"

	// =========================== PgBouncer Constants ============================
	PgBouncerUpstreamServerCA       = "upstream-server-ca.crt"
	PgBouncerDatabasePortName       = "db"
	PgBouncerPrimaryServicePortName = "primary"
	PgBouncerDatabasePort           = 5432
	PgBouncerConfigFile             = "pgbouncer.ini"
	PgBouncerAdminUsername          = "kubedb"
)
View Source
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 Databases that are paused
	DatabasePaused = "Paused"
	// used for Databases that are halted
	DatabaseHalted = "Halted"

	// Condition reasons
	DataRestoreStartedByExternalInitializer = "DataRestoreStartedByExternalInitializer"
	DatabaseSuccessfullyRestored            = "SuccessfullyDataRestored"
	FailedToRestoreData                     = "FailedToRestoreData"
	AllReplicasAreReady                     = "AllReplicasReady"
	SomeReplicasAreNotReady                 = "SomeReplicasNotReady"
	DatabaseAcceptingConnectionRequest      = "DatabaseAcceptingConnectionRequest"
	DatabaseNotAcceptingConnectionRequest   = "DatabaseNotAcceptingConnectionRequest"
	ReadinessCheckSucceeded                 = "ReadinessCheckSucceeded"
	ReadinessCheckFailed                    = "ReadinessCheckFailed"
	DatabaseProvisioningStartedSuccessfully = "DatabaseProvisioningStartedSuccessfully"
	DatabaseSuccessfullyProvisioned         = "DatabaseSuccessfullyProvisioned"
	DatabaseHaltedSuccessfully              = "DatabaseHaltedSuccessfully"
)

List of possible condition types for a KubeDB object

View Source
const (
	ResourceCodeElasticsearch     = "es"
	ResourceKindElasticsearch     = "Elasticsearch"
	ResourceSingularElasticsearch = "elasticsearch"
	ResourcePluralElasticsearch   = "elasticsearches"
)
View Source
const (
	ResourceCodeEtcd     = "etc"
	ResourceKindEtcd     = "Etcd"
	ResourceSingularEtcd = "etcd"
	ResourcePluralEtcd   = "etcds"
)
View Source
const (
	ResourceCodeMariaDB     = "md"
	ResourceKindMariaDB     = "MariaDB"
	ResourceSingularMariaDB = "mariadb"
	ResourcePluralMariaDB   = "mariadbs"
)
View Source
const (
	ResourceCodeMemcached     = "mc"
	ResourceKindMemcached     = "Memcached"
	ResourceSingularMemcached = "memcached"
	ResourcePluralMemcached   = "memcacheds"
)
View Source
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"

	MongoDBShardAffinityTemplateVar = "SHARD_INDEX"
)
View Source
const (
	ResourceCodeMongoDB     = "mg"
	ResourceKindMongoDB     = "MongoDB"
	ResourceSingularMongoDB = "mongodb"
	ResourcePluralMongoDB   = "mongodbs"
)
View Source
const (
	ResourceCodeMySQL     = "my"
	ResourceKindMySQL     = "MySQL"
	ResourceSingularMySQL = "mysql"
	ResourcePluralMySQL   = "mysqls"
)
View Source
const (
	ResourceCodePerconaXtraDB     = "px"
	ResourceKindPerconaXtraDB     = "PerconaXtraDB"
	ResourceSingularPerconaXtraDB = "perconaxtradb"
	ResourcePluralPerconaXtraDB   = "perconaxtradbs"
)
View Source
const (
	ResourceCodePgBouncer     = "pb"
	ResourceKindPgBouncer     = "PgBouncer"
	ResourceSingularPgBouncer = "pgbouncer"
	ResourcePluralPgBouncer   = "pgbouncers"
)
View Source
const (
	ResourceCodePostgres     = "pg"
	ResourceKindPostgres     = "Postgres"
	ResourceSingularPostgres = "postgres"
	ResourcePluralPostgres   = "postgreses"
)
View Source
const (
	ResourceCodeProxySQL     = "prx"
	ResourceKindProxySQL     = "ProxySQL"
	ResourceSingularProxySQL = "proxysql"
	ResourcePluralProxySQL   = "proxysqls"
)
View Source
const (
	ResourceCodeRedis     = "rd"
	ResourceKindRedis     = "Redis"
	ResourceSingularRedis = "redis"
	ResourcePluralRedis   = "redises"
)
View Source
const (
	ElasticsearchNodeAffinityTemplateVar = "NODE_ROLE"
)
View Source
const (
	RedisShardAffinityTemplateVar = "SHARD_INDEX"
)
View Source
const (
	ResourceKindStatefulSet = "StatefulSet"
)

Resource kind related constants

Variables

View Source
var (
	ErrInvalidLengthGenerated        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowGenerated          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupGenerated = fmt.Errorf("proto: unexpected end of group")
)
View Source
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
)
View Source
var (
	DefaultResourceLimits = core.ResourceList{
		core.ResourceCPU:    resource.MustParse(".500"),
		core.ResourceMemory: resource.MustParse("1024Mi"),
	}
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: kubedb.GroupName, Version: "v1alpha2"}

Functions

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 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 Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

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 SetDefaultResourceLimits added in v0.16.0

func SetDefaultResourceLimits(req *core.ResourceRequirements, defaultLimits core.ResourceList)

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 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.
	// +optional
	Port *int32 `json:"port,omitempty" protobuf:"varint,1,opt,name=port"`
	// PoolMode is the pooling mechanism type. Default: session.
	// +optional
	PoolMode string `json:"poolMode,omitempty" protobuf:"bytes,2,opt,name=poolMode"`
	// MaxClientConnections is the maximum number of allowed client connections. Default: 100.
	// +optional
	MaxClientConnections *int64 `json:"maxClientConnections,omitempty" protobuf:"varint,3,opt,name=maxClientConnections"`
	// DefaultPoolSize specifies how many server connections to allow per user/database pair. Default: 20.
	// +optional
	DefaultPoolSize *int64 `json:"defaultPoolSize,omitempty" protobuf:"varint,4,opt,name=defaultPoolSize"`
	// MinPoolSize is used to add more server connections to pool if below this number. Default: 0 (disabled).
	// +optional
	MinPoolSize *int64 `json:"minPoolSize,omitempty" protobuf:"varint,5,opt,name=minPoolSize"`
	// ReservePoolSize specifies how many additional connections to allow to a pool. 0 disables. Default: 0 (disabled).
	// +optional
	ReservePoolSize *int64 `json:"reservePoolSize,omitempty" protobuf:"varint,6,opt,name=reservePoolSize"`
	// 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.
	// +optional
	ReservePoolTimeoutSeconds *int64 `json:"reservePoolTimeoutSeconds,omitempty" protobuf:"varint,7,opt,name=reservePoolTimeoutSeconds"`
	// MaxDBConnections is the maximum number of connections allowed per-database. Default: unlimited.
	// +optional
	MaxDBConnections *int64 `json:"maxDBConnections,omitempty" protobuf:"varint,8,opt,name=maxDBConnections"`
	// MaxUserConnections is the maximum number of users allowed per-database. Default: unlimited.
	// +optional
	MaxUserConnections *int64 `json:"maxUserConnections,omitempty" protobuf:"varint,9,opt,name=maxUserConnections"`
	// StatsPeriodSeconds sets how often the averages shown in various SHOW commands are updated
	// and how often aggregated statistics are written to the log.
	// +optional
	StatsPeriodSeconds *int64 `json:"statsPeriodSeconds,omitempty" protobuf:"varint,10,opt,name=statsPeriodSeconds"`
	// AdminUsers specifies an array of users who can act as PgBouncer administrators.
	// +optional
	AdminUsers []string `json:"adminUsers,omitempty" protobuf:"bytes,11,rep,name=adminUsers"`
	// AuthType specifies how to authenticate users. Default: md5 (md5+plain text).
	// +optional
	AuthType string `json:"authType,omitempty" protobuf:"bytes,12,opt,name=authType"`
	// AuthUser looks up any user not specified in auth_file from pg_shadow. Default: not set.
	// +optional
	AuthUser string `json:"authUser,omitempty" protobuf:"bytes,13,opt,name=authUser"`
	// IgnoreStartupParameters specifies comma-separated startup parameters that
	// pgbouncer knows are handled by admin and it can ignore them.
	// +optional
	IgnoreStartupParameters string `json:"ignoreStartupParameters,omitempty" protobuf:"bytes,14,opt,name=ignoreStartupParameters"`
}

func (*ConnectionPoolConfig) DeepCopy

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.

func (*ConnectionPoolConfig) Descriptor

func (*ConnectionPoolConfig) Descriptor() ([]byte, []int)

func (*ConnectionPoolConfig) Marshal

func (m *ConnectionPoolConfig) Marshal() (dAtA []byte, err error)

func (*ConnectionPoolConfig) MarshalTo

func (m *ConnectionPoolConfig) MarshalTo(dAtA []byte) (int, error)

func (*ConnectionPoolConfig) MarshalToSizedBuffer

func (m *ConnectionPoolConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConnectionPoolConfig) ProtoMessage

func (*ConnectionPoolConfig) ProtoMessage()

func (*ConnectionPoolConfig) Reset

func (m *ConnectionPoolConfig) Reset()

func (*ConnectionPoolConfig) Size

func (m *ConnectionPoolConfig) Size() (n int)

func (*ConnectionPoolConfig) String

func (this *ConnectionPoolConfig) String() string

func (*ConnectionPoolConfig) Unmarshal

func (m *ConnectionPoolConfig) Unmarshal(dAtA []byte) error

func (*ConnectionPoolConfig) XXX_DiscardUnknown

func (m *ConnectionPoolConfig) XXX_DiscardUnknown()

func (*ConnectionPoolConfig) XXX_Marshal

func (m *ConnectionPoolConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConnectionPoolConfig) XXX_Merge

func (m *ConnectionPoolConfig) XXX_Merge(src proto.Message)

func (*ConnectionPoolConfig) XXX_Size

func (m *ConnectionPoolConfig) XXX_Size() int

func (*ConnectionPoolConfig) XXX_Unmarshal

func (m *ConnectionPoolConfig) XXX_Unmarshal(b []byte) error

type DatabasePhase

type DatabasePhase string

+kubebuilder:validation:Enum=Provisioning;DataRestoring;Ready;Critical;NotReady;Halted

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"
)

type Databases

type Databases struct {
	// Alias to uniquely identify a target database running inside a specific Postgres instance.
	Alias string `json:"alias" protobuf:"bytes,1,opt,name=alias"`
	// DatabaseRef specifies the database appbinding reference in any namespace.
	DatabaseRef appcat.AppReference `json:"databaseRef" protobuf:"bytes,2,opt,name=databaseRef"`
	// DatabaseName is the name of the target database inside a Postgres instance.
	DatabaseName string `json:"databaseName" protobuf:"bytes,3,opt,name=databaseName"`
	// AuthSecretRef points to a secret that contains the credentials
	// (username and password) of an existing user of this database.
	// It is used to bind a single user to this specific database connection.
	// +optional
	AuthSecretRef *core.LocalObjectReference `json:"authSecretRef,omitempty" protobuf:"bytes,4,opt,name=authSecretRef"`
}

func (*Databases) DeepCopy

func (in *Databases) DeepCopy() *Databases

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Databases.

func (*Databases) DeepCopyInto

func (in *Databases) DeepCopyInto(out *Databases)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Databases) Descriptor

func (*Databases) Descriptor() ([]byte, []int)

func (*Databases) Marshal

func (m *Databases) Marshal() (dAtA []byte, err error)

func (*Databases) MarshalTo

func (m *Databases) MarshalTo(dAtA []byte) (int, error)

func (*Databases) MarshalToSizedBuffer

func (m *Databases) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Databases) ProtoMessage

func (*Databases) ProtoMessage()

func (*Databases) Reset

func (m *Databases) Reset()

func (*Databases) Size

func (m *Databases) Size() (n int)

func (*Databases) String

func (this *Databases) String() string

func (*Databases) Unmarshal

func (m *Databases) Unmarshal(dAtA []byte) error

func (*Databases) XXX_DiscardUnknown

func (m *Databases) XXX_DiscardUnknown()

func (*Databases) XXX_Marshal

func (m *Databases) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Databases) XXX_Merge

func (m *Databases) XXX_Merge(src proto.Message)

func (*Databases) XXX_Size

func (m *Databases) XXX_Size() int

func (*Databases) XXX_Unmarshal

func (m *Databases) XXX_Unmarshal(b []byte) error

type Elasticsearch

type Elasticsearch struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              ElasticsearchSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            ElasticsearchStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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) CustomResourceDefinition

func (_ Elasticsearch) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

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) 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) Descriptor

func (*Elasticsearch) Descriptor() ([]byte, []int)

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) Marshal

func (m *Elasticsearch) Marshal() (dAtA []byte, err error)

func (*Elasticsearch) MarshalTo

func (m *Elasticsearch) MarshalTo(dAtA []byte) (int, error)

func (*Elasticsearch) MarshalToSizedBuffer

func (m *Elasticsearch) MarshalToSizedBuffer(dAtA []byte) (int, error)

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) OffshootLabels

func (e Elasticsearch) OffshootLabels() map[string]string

func (Elasticsearch) OffshootName

func (e Elasticsearch) OffshootName() string

func (Elasticsearch) OffshootSelectors

func (e Elasticsearch) OffshootSelectors() map[string]string

func (*Elasticsearch) ProtoMessage

func (*Elasticsearch) ProtoMessage()

func (*Elasticsearch) ReplicasAreReady

func (e *Elasticsearch) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*Elasticsearch) Reset

func (m *Elasticsearch) Reset()

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) ServiceName

func (e Elasticsearch) ServiceName() string

func (*Elasticsearch) SetDefaults

func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, topology *core_util.Topology)

func (*Elasticsearch) SetTLSDefaults

func (e *Elasticsearch) SetTLSDefaults(esVersion *catalog.ElasticsearchVersion)

set default tls configuration (ie. alias, secretName)

func (*Elasticsearch) Size

func (m *Elasticsearch) Size() (n int)

func (Elasticsearch) StatsService

func (e Elasticsearch) StatsService() mona.StatsAccessor

func (Elasticsearch) StatsServiceLabels

func (e Elasticsearch) StatsServiceLabels() map[string]string

func (*Elasticsearch) String

func (this *Elasticsearch) String() string

func (*Elasticsearch) Unmarshal

func (m *Elasticsearch) Unmarshal(dAtA []byte) error

func (*Elasticsearch) XXX_DiscardUnknown

func (m *Elasticsearch) XXX_DiscardUnknown()

func (*Elasticsearch) XXX_Marshal

func (m *Elasticsearch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Elasticsearch) XXX_Merge

func (m *Elasticsearch) XXX_Merge(src proto.Message)

func (*Elasticsearch) XXX_Size

func (m *Elasticsearch) XXX_Size() int

func (*Elasticsearch) XXX_Unmarshal

func (m *Elasticsearch) XXX_Unmarshal(b []byte) error

type ElasticsearchCertificateAlias

type ElasticsearchCertificateAlias string

+kubebuilder:validation:Enum=ca;transport;http;admin;archiver;metrics-exporter

const (
	ElasticsearchCACert              ElasticsearchCertificateAlias = "ca"
	ElasticsearchTransportCert       ElasticsearchCertificateAlias = "transport"
	ElasticsearchHTTPCert            ElasticsearchCertificateAlias = "http"
	ElasticsearchAdminCert           ElasticsearchCertificateAlias = "admin"
	ElasticsearchArchiverCert        ElasticsearchCertificateAlias = "archiver"
	ElasticsearchMetricsExporterCert ElasticsearchCertificateAlias = "metrics-exporter"
)

type ElasticsearchClusterTopology

type ElasticsearchClusterTopology struct {
	Master ElasticsearchNode `json:"master" protobuf:"bytes,1,opt,name=master"`
	Data   ElasticsearchNode `json:"data" protobuf:"bytes,2,opt,name=data"`
	Ingest ElasticsearchNode `json:"ingest" protobuf:"bytes,3,opt,name=ingest"`
}

func (*ElasticsearchClusterTopology) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchClusterTopology.

func (*ElasticsearchClusterTopology) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ElasticsearchClusterTopology) Descriptor

func (*ElasticsearchClusterTopology) Descriptor() ([]byte, []int)

func (*ElasticsearchClusterTopology) Marshal

func (m *ElasticsearchClusterTopology) Marshal() (dAtA []byte, err error)

func (*ElasticsearchClusterTopology) MarshalTo

func (m *ElasticsearchClusterTopology) MarshalTo(dAtA []byte) (int, error)

func (*ElasticsearchClusterTopology) MarshalToSizedBuffer

func (m *ElasticsearchClusterTopology) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ElasticsearchClusterTopology) ProtoMessage

func (*ElasticsearchClusterTopology) ProtoMessage()

func (*ElasticsearchClusterTopology) Reset

func (m *ElasticsearchClusterTopology) Reset()

func (*ElasticsearchClusterTopology) Size

func (m *ElasticsearchClusterTopology) Size() (n int)

func (*ElasticsearchClusterTopology) String

func (this *ElasticsearchClusterTopology) String() string

func (*ElasticsearchClusterTopology) Unmarshal

func (m *ElasticsearchClusterTopology) Unmarshal(dAtA []byte) error

func (*ElasticsearchClusterTopology) XXX_DiscardUnknown

func (m *ElasticsearchClusterTopology) XXX_DiscardUnknown()

func (*ElasticsearchClusterTopology) XXX_Marshal

func (m *ElasticsearchClusterTopology) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ElasticsearchClusterTopology) XXX_Merge

func (m *ElasticsearchClusterTopology) XXX_Merge(src proto.Message)

func (*ElasticsearchClusterTopology) XXX_Size

func (m *ElasticsearchClusterTopology) XXX_Size() int

func (*ElasticsearchClusterTopology) XXX_Unmarshal

func (m *ElasticsearchClusterTopology) XXX_Unmarshal(b []byte) error

type ElasticsearchInternalUser

type ElasticsearchInternalUser string
const (
	ElasticsearchInternalUserElastic         ElasticsearchInternalUser = "elastic"
	ElasticsearchInternalUserAdmin           ElasticsearchInternalUser = "admin"
	ElasticsearchInternalUserKibanaserver    ElasticsearchInternalUser = "kibanaserver"
	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" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of Elasticsearch CRD objects
	Items []Elasticsearch `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

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.

func (*ElasticsearchList) Descriptor

func (*ElasticsearchList) Descriptor() ([]byte, []int)

func (*ElasticsearchList) Marshal

func (m *ElasticsearchList) Marshal() (dAtA []byte, err error)

func (*ElasticsearchList) MarshalTo

func (m *ElasticsearchList) MarshalTo(dAtA []byte) (int, error)

func (*ElasticsearchList) MarshalToSizedBuffer

func (m *ElasticsearchList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ElasticsearchList) ProtoMessage

func (*ElasticsearchList) ProtoMessage()

func (*ElasticsearchList) Reset

func (m *ElasticsearchList) Reset()

func (*ElasticsearchList) Size

func (m *ElasticsearchList) Size() (n int)

func (*ElasticsearchList) String

func (this *ElasticsearchList) String() string

func (*ElasticsearchList) Unmarshal

func (m *ElasticsearchList) Unmarshal(dAtA []byte) error

func (*ElasticsearchList) XXX_DiscardUnknown

func (m *ElasticsearchList) XXX_DiscardUnknown()

func (*ElasticsearchList) XXX_Marshal

func (m *ElasticsearchList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ElasticsearchList) XXX_Merge

func (m *ElasticsearchList) XXX_Merge(src proto.Message)

func (*ElasticsearchList) XXX_Size

func (m *ElasticsearchList) XXX_Size() int

func (*ElasticsearchList) XXX_Unmarshal

func (m *ElasticsearchList) XXX_Unmarshal(b []byte) error

type ElasticsearchNode

type ElasticsearchNode struct {
	// Replicas represents number of replica for this specific type of node
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
	Suffix   string `json:"suffix,omitempty" protobuf:"bytes,2,opt,name=suffix"`
	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,3,opt,name=storage"`
	// Compute Resources required by the sidecar container.
	Resources core.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,4,opt,name=resources"`
	// An eviction is allowed if at most "maxUnavailable" pods selected by
	// "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" protobuf:"bytes,5,opt,name=maxUnavailable"`
}

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.

func (*ElasticsearchNode) Descriptor

func (*ElasticsearchNode) Descriptor() ([]byte, []int)

func (*ElasticsearchNode) Marshal

func (m *ElasticsearchNode) Marshal() (dAtA []byte, err error)

func (*ElasticsearchNode) MarshalTo

func (m *ElasticsearchNode) MarshalTo(dAtA []byte) (int, error)

func (*ElasticsearchNode) MarshalToSizedBuffer

func (m *ElasticsearchNode) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ElasticsearchNode) ProtoMessage

func (*ElasticsearchNode) ProtoMessage()

func (*ElasticsearchNode) Reset

func (m *ElasticsearchNode) Reset()

func (*ElasticsearchNode) Size

func (m *ElasticsearchNode) Size() (n int)

func (*ElasticsearchNode) String

func (this *ElasticsearchNode) String() string

func (*ElasticsearchNode) Unmarshal

func (m *ElasticsearchNode) Unmarshal(dAtA []byte) error

func (*ElasticsearchNode) XXX_DiscardUnknown

func (m *ElasticsearchNode) XXX_DiscardUnknown()

func (*ElasticsearchNode) XXX_Marshal

func (m *ElasticsearchNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ElasticsearchNode) XXX_Merge

func (m *ElasticsearchNode) XXX_Merge(src proto.Message)

func (*ElasticsearchNode) XXX_Size

func (m *ElasticsearchNode) XXX_Size() int

func (*ElasticsearchNode) XXX_Unmarshal

func (m *ElasticsearchNode) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=reserved"`

	// 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" protobuf:"bytes,2,opt,name=hidden"`

	// 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" protobuf:"bytes,3,opt,name=backendRoles"`

	// Specifies a list of hosts assigned to this role.
	// +optional
	Hosts []string `json:"hosts,omitempty" yaml:"hosts,omitempty" protobuf:"bytes,4,opt,name=hosts"`

	// Specifies a list of users assigned to this role.
	// +optional
	Users []string `json:"users,omitempty" yaml:"users,omitempty" protobuf:"bytes,5,opt,name=users"`

	// Specifies a list of backend roles (migrated from ES-version6) assigned to this role.
	AndBackendRoles []string `json:"andBackendRoles,omitempty" yaml:"and_backend_roles,omitempty" protobuf:"bytes,6,opt,name=andBackendRoles"`
}

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

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.

func (*ElasticsearchRoleMapSpec) Descriptor

func (*ElasticsearchRoleMapSpec) Descriptor() ([]byte, []int)

func (*ElasticsearchRoleMapSpec) Marshal

func (m *ElasticsearchRoleMapSpec) Marshal() (dAtA []byte, err error)

func (*ElasticsearchRoleMapSpec) MarshalTo

func (m *ElasticsearchRoleMapSpec) MarshalTo(dAtA []byte) (int, error)

func (*ElasticsearchRoleMapSpec) MarshalToSizedBuffer

func (m *ElasticsearchRoleMapSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ElasticsearchRoleMapSpec) ProtoMessage

func (*ElasticsearchRoleMapSpec) ProtoMessage()

func (*ElasticsearchRoleMapSpec) Reset

func (m *ElasticsearchRoleMapSpec) Reset()

func (*ElasticsearchRoleMapSpec) Size

func (m *ElasticsearchRoleMapSpec) Size() (n int)

func (*ElasticsearchRoleMapSpec) String

func (this *ElasticsearchRoleMapSpec) String() string

func (*ElasticsearchRoleMapSpec) Unmarshal

func (m *ElasticsearchRoleMapSpec) Unmarshal(dAtA []byte) error

func (*ElasticsearchRoleMapSpec) XXX_DiscardUnknown

func (m *ElasticsearchRoleMapSpec) XXX_DiscardUnknown()

func (*ElasticsearchRoleMapSpec) XXX_Marshal

func (m *ElasticsearchRoleMapSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ElasticsearchRoleMapSpec) XXX_Merge

func (m *ElasticsearchRoleMapSpec) XXX_Merge(src proto.Message)

func (*ElasticsearchRoleMapSpec) XXX_Size

func (m *ElasticsearchRoleMapSpec) XXX_Size() int

func (*ElasticsearchRoleMapSpec) XXX_Unmarshal

func (m *ElasticsearchRoleMapSpec) XXX_Unmarshal(b []byte) error

type ElasticsearchSpec

type ElasticsearchSpec struct {
	// Version of Elasticsearch to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=version"`

	// Number of instances to deploy for a Elasticsearch database.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`

	// Elasticsearch topology for node specification
	Topology *ElasticsearchClusterTopology `json:"topology,omitempty" protobuf:"bytes,3,opt,name=topology"`

	// To enable ssl in transport & http layer
	EnableSSL bool `json:"enableSSL,omitempty" protobuf:"varint,4,opt,name=enableSSL"`

	// disable security of authPlugin (ie, xpack or searchguard). It disables authentication security of user.
	// If unset, default is false
	DisableSecurity bool `json:"disableSecurity,omitempty" protobuf:"varint,5,opt,name=disableSecurity"`

	// Database authentication secret
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,6,opt,name=authSecret"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty" protobuf:"bytes,7,opt,name=storageType,casttype=StorageType"`

	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,8,opt,name=storage"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty" protobuf:"bytes,9,opt,name=init"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,10,opt,name=monitor"`

	// 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" protobuf:"bytes,11,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,12,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,13,rep,name=serviceTemplates"`

	// An eviction is allowed if at most "maxUnavailable" pods selected by
	// "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" protobuf:"bytes,14,opt,name=maxUnavailable"`

	// TLS contains tls configurations
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,15,opt,name=tls"`

	// InternalUsers contains internal user configurations.
	// Expected Input format:
	// internalUsers:
	//   <username1>:
	//		...
	//   <username2>:
	//		...
	// +optional
	InternalUsers map[string]ElasticsearchUserSpec `json:"internalUsers,omitempty" protobuf:"bytes,16,rep,name=internalUsers"`

	// RolesMapping contains roles mapping configurations.
	// Expected Input format:
	// rolesMapping:
	//   <role1>:
	//		...
	//   <role2>:
	//		...
	// +optional
	RolesMapping map[string]ElasticsearchRoleMapSpec `json:"rolesMapping,omitempty" protobuf:"bytes,17,rep,name=rolesMapping"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,18,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,19,opt,name=terminationPolicy,casttype=TerminationPolicy"`

	// KernelSettings contains the additional kernel settings.
	// +optional
	KernelSettings *KernelSettings `json:"kernelSettings,omitempty" protobuf:"bytes,20,opt,name=kernelSettings"`
}

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.

func (*ElasticsearchSpec) Descriptor

func (*ElasticsearchSpec) Descriptor() ([]byte, []int)

func (*ElasticsearchSpec) Marshal

func (m *ElasticsearchSpec) Marshal() (dAtA []byte, err error)

func (*ElasticsearchSpec) MarshalTo

func (m *ElasticsearchSpec) MarshalTo(dAtA []byte) (int, error)

func (*ElasticsearchSpec) MarshalToSizedBuffer

func (m *ElasticsearchSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ElasticsearchSpec) ProtoMessage

func (*ElasticsearchSpec) ProtoMessage()

func (*ElasticsearchSpec) Reset

func (m *ElasticsearchSpec) Reset()

func (*ElasticsearchSpec) Size

func (m *ElasticsearchSpec) Size() (n int)

func (*ElasticsearchSpec) String

func (this *ElasticsearchSpec) String() string

func (*ElasticsearchSpec) Unmarshal

func (m *ElasticsearchSpec) Unmarshal(dAtA []byte) error

func (*ElasticsearchSpec) XXX_DiscardUnknown

func (m *ElasticsearchSpec) XXX_DiscardUnknown()

func (*ElasticsearchSpec) XXX_Marshal

func (m *ElasticsearchSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ElasticsearchSpec) XXX_Merge

func (m *ElasticsearchSpec) XXX_Merge(src proto.Message)

func (*ElasticsearchSpec) XXX_Size

func (m *ElasticsearchSpec) XXX_Size() int

func (*ElasticsearchSpec) XXX_Unmarshal

func (m *ElasticsearchSpec) XXX_Unmarshal(b []byte) error

type ElasticsearchStatus

type ElasticsearchStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*ElasticsearchStatus) Descriptor

func (*ElasticsearchStatus) Descriptor() ([]byte, []int)

func (*ElasticsearchStatus) Marshal

func (m *ElasticsearchStatus) Marshal() (dAtA []byte, err error)

func (*ElasticsearchStatus) MarshalTo

func (m *ElasticsearchStatus) MarshalTo(dAtA []byte) (int, error)

func (*ElasticsearchStatus) MarshalToSizedBuffer

func (m *ElasticsearchStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ElasticsearchStatus) ProtoMessage

func (*ElasticsearchStatus) ProtoMessage()

func (*ElasticsearchStatus) Reset

func (m *ElasticsearchStatus) Reset()

func (*ElasticsearchStatus) Size

func (m *ElasticsearchStatus) Size() (n int)

func (*ElasticsearchStatus) String

func (this *ElasticsearchStatus) String() string

func (*ElasticsearchStatus) Unmarshal

func (m *ElasticsearchStatus) Unmarshal(dAtA []byte) error

func (*ElasticsearchStatus) XXX_DiscardUnknown

func (m *ElasticsearchStatus) XXX_DiscardUnknown()

func (*ElasticsearchStatus) XXX_Marshal

func (m *ElasticsearchStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ElasticsearchStatus) XXX_Merge

func (m *ElasticsearchStatus) XXX_Merge(src proto.Message)

func (*ElasticsearchStatus) XXX_Size

func (m *ElasticsearchStatus) XXX_Size() int

func (*ElasticsearchStatus) XXX_Unmarshal

func (m *ElasticsearchStatus) XXX_Unmarshal(b []byte) error

type ElasticsearchUserSpec

type ElasticsearchUserSpec struct {
	// Specifies the hash of the password.
	// +optional
	Hash string `json:"-" yaml:"hash,omitempty"`

	// Specifies the k8s secret name that holds the user credentials.
	// Default to "<resource-name>-<username>-cred".
	// +optional
	SecretName string `json:"secretName,omitempty" yaml:"-" protobuf:"bytes,1,opt,name=secretName"`

	// 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" protobuf:"varint,2,opt,name=reserved"`

	// 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" protobuf:"varint,3,opt,name=hidden"`

	// 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" protobuf:"bytes,4,rep,name=backendRoles"`

	// Specifies a list of searchguard security plugin roles assigned to this user.
	// +optional
	SearchGuardRoles []string `json:"searchGuardRoles,omitempty" yaml:"search_guard_roles,omitempty" protobuf:"bytes,5,rep,name=searchGuardRoles"`

	// Specifies a list of opendistro security plugin roles assigned to this user.
	// +optional
	OpendistroSecurityRoles []string `` /* 135-byte string literal not displayed */

	// 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" protobuf:"bytes,7,rep,name=attributes"`

	// Specifies the description of the user
	// +optional
	Description string `json:"description,omitempty" yaml:"description,omitempty" protobuf:"bytes,8,opt,name=description"`
}

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.

func (*ElasticsearchUserSpec) DeepCopy

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.

func (*ElasticsearchUserSpec) Descriptor

func (*ElasticsearchUserSpec) Descriptor() ([]byte, []int)

func (*ElasticsearchUserSpec) Marshal

func (m *ElasticsearchUserSpec) Marshal() (dAtA []byte, err error)

func (*ElasticsearchUserSpec) MarshalTo

func (m *ElasticsearchUserSpec) MarshalTo(dAtA []byte) (int, error)

func (*ElasticsearchUserSpec) MarshalToSizedBuffer

func (m *ElasticsearchUserSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ElasticsearchUserSpec) ProtoMessage

func (*ElasticsearchUserSpec) ProtoMessage()

func (*ElasticsearchUserSpec) Reset

func (m *ElasticsearchUserSpec) Reset()

func (*ElasticsearchUserSpec) Size

func (m *ElasticsearchUserSpec) Size() (n int)

func (*ElasticsearchUserSpec) String

func (this *ElasticsearchUserSpec) String() string

func (*ElasticsearchUserSpec) Unmarshal

func (m *ElasticsearchUserSpec) Unmarshal(dAtA []byte) error

func (*ElasticsearchUserSpec) XXX_DiscardUnknown

func (m *ElasticsearchUserSpec) XXX_DiscardUnknown()

func (*ElasticsearchUserSpec) XXX_Marshal

func (m *ElasticsearchUserSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ElasticsearchUserSpec) XXX_Merge

func (m *ElasticsearchUserSpec) XXX_Merge(src proto.Message)

func (*ElasticsearchUserSpec) XXX_Size

func (m *ElasticsearchUserSpec) XXX_Size() int

func (*ElasticsearchUserSpec) XXX_Unmarshal

func (m *ElasticsearchUserSpec) XXX_Unmarshal(b []byte) error

type Etcd

type Etcd struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              EtcdSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            EtcdStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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 (e Etcd) ClientServiceName() string

func (Etcd) CustomResourceDefinition

func (_ Etcd) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*Etcd) DeepCopy

func (in *Etcd) DeepCopy() *Etcd

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Etcd.

func (*Etcd) DeepCopyInto

func (in *Etcd) DeepCopyInto(out *Etcd)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Etcd) DeepCopyObject

func (in *Etcd) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Etcd) Descriptor

func (*Etcd) Descriptor() ([]byte, []int)

func (*Etcd) Marshal

func (m *Etcd) Marshal() (dAtA []byte, err error)

func (*Etcd) MarshalTo

func (m *Etcd) MarshalTo(dAtA []byte) (int, error)

func (*Etcd) MarshalToSizedBuffer

func (m *Etcd) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (Etcd) OffshootLabels

func (e Etcd) OffshootLabels() map[string]string

func (Etcd) OffshootName

func (e Etcd) OffshootName() string

func (Etcd) OffshootSelectors

func (e Etcd) OffshootSelectors() map[string]string

func (Etcd) PeerServiceName

func (e Etcd) PeerServiceName() string

func (*Etcd) ProtoMessage

func (*Etcd) ProtoMessage()

func (*Etcd) ReplicasAreReady

func (e *Etcd) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*Etcd) Reset

func (m *Etcd) Reset()

func (Etcd) ResourceFQN added in v0.16.0

func (e Etcd) ResourceFQN() string

func (Etcd) ResourceKind

func (e Etcd) ResourceKind() string

func (Etcd) ResourcePlural

func (e Etcd) ResourcePlural() string

func (Etcd) ResourceShortCode

func (e Etcd) ResourceShortCode() string

func (Etcd) ResourceSingular

func (e Etcd) ResourceSingular() string

func (*Etcd) SetDefaults

func (e *Etcd) SetDefaults()

func (*Etcd) Size

func (m *Etcd) Size() (n int)

func (Etcd) StatsService

func (e Etcd) StatsService() mona.StatsAccessor

func (Etcd) StatsServiceLabels

func (e Etcd) StatsServiceLabels() map[string]string

func (*Etcd) String

func (this *Etcd) String() string

func (*Etcd) Unmarshal

func (m *Etcd) Unmarshal(dAtA []byte) error

func (*Etcd) XXX_DiscardUnknown

func (m *Etcd) XXX_DiscardUnknown()

func (*Etcd) XXX_Marshal

func (m *Etcd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Etcd) XXX_Merge

func (m *Etcd) XXX_Merge(src proto.Message)

func (*Etcd) XXX_Size

func (m *Etcd) XXX_Size() int

func (*Etcd) XXX_Unmarshal

func (m *Etcd) XXX_Unmarshal(b []byte) error

type EtcdList

type EtcdList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of Etcd TPR objects
	Items []Etcd `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

func (*EtcdList) DeepCopy

func (in *EtcdList) DeepCopy() *EtcdList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdList.

func (*EtcdList) DeepCopyInto

func (in *EtcdList) DeepCopyInto(out *EtcdList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EtcdList) DeepCopyObject

func (in *EtcdList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*EtcdList) Descriptor

func (*EtcdList) Descriptor() ([]byte, []int)

func (*EtcdList) Marshal

func (m *EtcdList) Marshal() (dAtA []byte, err error)

func (*EtcdList) MarshalTo

func (m *EtcdList) MarshalTo(dAtA []byte) (int, error)

func (*EtcdList) MarshalToSizedBuffer

func (m *EtcdList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EtcdList) ProtoMessage

func (*EtcdList) ProtoMessage()

func (*EtcdList) Reset

func (m *EtcdList) Reset()

func (*EtcdList) Size

func (m *EtcdList) Size() (n int)

func (*EtcdList) String

func (this *EtcdList) String() string

func (*EtcdList) Unmarshal

func (m *EtcdList) Unmarshal(dAtA []byte) error

func (*EtcdList) XXX_DiscardUnknown

func (m *EtcdList) XXX_DiscardUnknown()

func (*EtcdList) XXX_Marshal

func (m *EtcdList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EtcdList) XXX_Merge

func (m *EtcdList) XXX_Merge(src proto.Message)

func (*EtcdList) XXX_Size

func (m *EtcdList) XXX_Size() int

func (*EtcdList) XXX_Unmarshal

func (m *EtcdList) XXX_Unmarshal(b []byte) error

type EtcdSpec

type EtcdSpec struct {
	// Version of Etcd to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=version"`

	// Number of instances to deploy for a Etcd database.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty" protobuf:"bytes,3,opt,name=storageType,casttype=StorageType"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,4,opt,name=storage"`

	// Database authentication secret
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,5,opt,name=authSecret"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty" protobuf:"bytes,6,opt,name=init"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,8,opt,name=monitor"`

	// etcd cluster TLS configuration
	TLS *TLSPolicy `json:"tls,omitempty" protobuf:"bytes,9,opt,name=tls"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,10,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,11,rep,name=serviceTemplates"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,12,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,13,opt,name=terminationPolicy,casttype=TerminationPolicy"`
}

func (*EtcdSpec) DeepCopy

func (in *EtcdSpec) DeepCopy() *EtcdSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSpec.

func (*EtcdSpec) DeepCopyInto

func (in *EtcdSpec) DeepCopyInto(out *EtcdSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EtcdSpec) Descriptor

func (*EtcdSpec) Descriptor() ([]byte, []int)

func (*EtcdSpec) GetPersistentSecrets

func (e *EtcdSpec) GetPersistentSecrets() []string

func (*EtcdSpec) Marshal

func (m *EtcdSpec) Marshal() (dAtA []byte, err error)

func (*EtcdSpec) MarshalTo

func (m *EtcdSpec) MarshalTo(dAtA []byte) (int, error)

func (*EtcdSpec) MarshalToSizedBuffer

func (m *EtcdSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EtcdSpec) ProtoMessage

func (*EtcdSpec) ProtoMessage()

func (*EtcdSpec) Reset

func (m *EtcdSpec) Reset()

func (*EtcdSpec) Size

func (m *EtcdSpec) Size() (n int)

func (*EtcdSpec) String

func (this *EtcdSpec) String() string

func (*EtcdSpec) Unmarshal

func (m *EtcdSpec) Unmarshal(dAtA []byte) error

func (*EtcdSpec) XXX_DiscardUnknown

func (m *EtcdSpec) XXX_DiscardUnknown()

func (*EtcdSpec) XXX_Marshal

func (m *EtcdSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EtcdSpec) XXX_Merge

func (m *EtcdSpec) XXX_Merge(src proto.Message)

func (*EtcdSpec) XXX_Size

func (m *EtcdSpec) XXX_Size() int

func (*EtcdSpec) XXX_Unmarshal

func (m *EtcdSpec) XXX_Unmarshal(b []byte) error

type EtcdStatus

type EtcdStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*EtcdStatus) Descriptor

func (*EtcdStatus) Descriptor() ([]byte, []int)

func (*EtcdStatus) Marshal

func (m *EtcdStatus) Marshal() (dAtA []byte, err error)

func (*EtcdStatus) MarshalTo

func (m *EtcdStatus) MarshalTo(dAtA []byte) (int, error)

func (*EtcdStatus) MarshalToSizedBuffer

func (m *EtcdStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EtcdStatus) ProtoMessage

func (*EtcdStatus) ProtoMessage()

func (*EtcdStatus) Reset

func (m *EtcdStatus) Reset()

func (*EtcdStatus) Size

func (m *EtcdStatus) Size() (n int)

func (*EtcdStatus) String

func (this *EtcdStatus) String() string

func (*EtcdStatus) Unmarshal

func (m *EtcdStatus) Unmarshal(dAtA []byte) error

func (*EtcdStatus) XXX_DiscardUnknown

func (m *EtcdStatus) XXX_DiscardUnknown()

func (*EtcdStatus) XXX_Marshal

func (m *EtcdStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EtcdStatus) XXX_Merge

func (m *EtcdStatus) XXX_Merge(src proto.Message)

func (*EtcdStatus) XXX_Size

func (m *EtcdStatus) XXX_Size() int

func (*EtcdStatus) XXX_Unmarshal

func (m *EtcdStatus) XXX_Unmarshal(b []byte) error

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" protobuf:"varint,1,opt,name=initialized"`
	// Wait for initial DataRestore condition
	WaitForInitialRestore bool              `json:"waitForInitialRestore,omitempty" protobuf:"varint,2,opt,name=waitForInitialRestore"`
	Script                *ScriptSourceSpec `json:"script,omitempty" protobuf:"bytes,3,opt,name=script"`
}

func (*InitSpec) DeepCopy

func (in *InitSpec) DeepCopy() *InitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitSpec.

func (*InitSpec) DeepCopyInto

func (in *InitSpec) DeepCopyInto(out *InitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InitSpec) Descriptor

func (*InitSpec) Descriptor() ([]byte, []int)

func (*InitSpec) Marshal

func (m *InitSpec) Marshal() (dAtA []byte, err error)

func (*InitSpec) MarshalTo

func (m *InitSpec) MarshalTo(dAtA []byte) (int, error)

func (*InitSpec) MarshalToSizedBuffer

func (m *InitSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*InitSpec) ProtoMessage

func (*InitSpec) ProtoMessage()

func (*InitSpec) Reset

func (m *InitSpec) Reset()

func (*InitSpec) Size

func (m *InitSpec) Size() (n int)

func (*InitSpec) String

func (this *InitSpec) String() string

func (*InitSpec) Unmarshal

func (m *InitSpec) Unmarshal(dAtA []byte) error

func (*InitSpec) XXX_DiscardUnknown

func (m *InitSpec) XXX_DiscardUnknown()

func (*InitSpec) XXX_Marshal

func (m *InitSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InitSpec) XXX_Merge

func (m *InitSpec) XXX_Merge(src proto.Message)

func (*InitSpec) XXX_Size

func (m *InitSpec) XXX_Size() int

func (*InitSpec) XXX_Unmarshal

func (m *InitSpec) XXX_Unmarshal(b []byte) error

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" protobuf:"varint,1,opt,name=privileged"`
	// Sysctls hold a list of sysctls commands needs to apply to kernel.
	// +optional
	Sysctls []core.Sysctl `json:"sysctls,omitempty" protobuf:"bytes,2,rep,name=sysctls"`
}

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.

func (*KernelSettings) Descriptor added in v0.16.0

func (*KernelSettings) Descriptor() ([]byte, []int)

func (*KernelSettings) Marshal added in v0.16.0

func (m *KernelSettings) Marshal() (dAtA []byte, err error)

func (*KernelSettings) MarshalTo added in v0.16.0

func (m *KernelSettings) MarshalTo(dAtA []byte) (int, error)

func (*KernelSettings) MarshalToSizedBuffer added in v0.16.0

func (m *KernelSettings) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*KernelSettings) ProtoMessage added in v0.16.0

func (*KernelSettings) ProtoMessage()

func (*KernelSettings) Reset added in v0.16.0

func (m *KernelSettings) Reset()

func (*KernelSettings) Size added in v0.16.0

func (m *KernelSettings) Size() (n int)

func (*KernelSettings) String added in v0.16.0

func (this *KernelSettings) String() string

func (*KernelSettings) Unmarshal added in v0.16.0

func (m *KernelSettings) Unmarshal(dAtA []byte) error

func (*KernelSettings) XXX_DiscardUnknown added in v0.16.0

func (m *KernelSettings) XXX_DiscardUnknown()

func (*KernelSettings) XXX_Marshal added in v0.16.0

func (m *KernelSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KernelSettings) XXX_Merge added in v0.16.0

func (m *KernelSettings) XXX_Merge(src proto.Message)

func (*KernelSettings) XXX_Size added in v0.16.0

func (m *KernelSettings) XXX_Size() int

func (*KernelSettings) XXX_Unmarshal added in v0.16.0

func (m *KernelSettings) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=metadata"`
	Spec              MariaDBSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            MariaDBStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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) 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 (m MariaDB) ClusterName() string

func (MariaDB) CustomResourceDefinition

func (_ MariaDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MariaDB) DeepCopy

func (in *MariaDB) DeepCopy() *MariaDB

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDB.

func (*MariaDB) DeepCopyInto

func (in *MariaDB) DeepCopyInto(out *MariaDB)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MariaDB) DeepCopyObject

func (in *MariaDB) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MariaDB) Descriptor

func (*MariaDB) Descriptor() ([]byte, []int)

func (MariaDB) GetAuthSecretName added in v0.15.1

func (m MariaDB) GetAuthSecretName() string

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 (m MariaDB) GoverningServiceName() string

func (MariaDB) IsCluster added in v0.15.1

func (m MariaDB) IsCluster() bool

func (*MariaDB) Marshal

func (m *MariaDB) Marshal() (dAtA []byte, err error)

func (*MariaDB) MarshalTo

func (m *MariaDB) MarshalTo(dAtA []byte) (int, error)

func (*MariaDB) MarshalToSizedBuffer

func (m *MariaDB) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (MariaDB) OffshootLabels

func (m MariaDB) OffshootLabels() map[string]string

func (MariaDB) OffshootName

func (m MariaDB) OffshootName() string

func (MariaDB) OffshootSelectors

func (m MariaDB) OffshootSelectors() map[string]string

func (MariaDB) PeerName added in v0.15.1

func (m MariaDB) PeerName(idx int) string

func (MariaDB) PrimaryServiceDNS added in v0.17.0

func (m MariaDB) PrimaryServiceDNS() string

func (*MariaDB) ProtoMessage

func (*MariaDB) ProtoMessage()

func (*MariaDB) ReplicasAreReady

func (m *MariaDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*MariaDB) Reset

func (m *MariaDB) Reset()

func (MariaDB) ResourceFQN added in v0.16.0

func (m MariaDB) ResourceFQN() string

func (MariaDB) ResourceKind

func (m MariaDB) ResourceKind() string

func (MariaDB) ResourcePlural

func (m MariaDB) ResourcePlural() string

func (MariaDB) ResourceShortCode

func (m MariaDB) ResourceShortCode() string

func (MariaDB) ResourceSingular

func (m MariaDB) ResourceSingular() string

func (MariaDB) ServiceName

func (m MariaDB) ServiceName() string

func (*MariaDB) SetDefaults

func (m *MariaDB) SetDefaults(topology *core_util.Topology)

func (*MariaDB) SetTLSDefaults added in v0.17.0

func (m *MariaDB) SetTLSDefaults()

func (*MariaDB) Size

func (m *MariaDB) Size() (n int)

func (MariaDB) StatsService

func (m MariaDB) StatsService() mona.StatsAccessor

func (MariaDB) StatsServiceLabels

func (m MariaDB) StatsServiceLabels() map[string]string

func (*MariaDB) String

func (this *MariaDB) String() string

func (*MariaDB) Unmarshal

func (m *MariaDB) Unmarshal(dAtA []byte) error

func (*MariaDB) XXX_DiscardUnknown

func (m *MariaDB) XXX_DiscardUnknown()

func (*MariaDB) XXX_Marshal

func (m *MariaDB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MariaDB) XXX_Merge

func (m *MariaDB) XXX_Merge(src proto.Message)

func (*MariaDB) XXX_Size

func (m *MariaDB) XXX_Size() int

func (*MariaDB) XXX_Unmarshal

func (m *MariaDB) XXX_Unmarshal(b []byte) error

type MariaDBCertificateAlias

type MariaDBCertificateAlias string

+kubebuilder:validation:Enum=server;archiver;metrics-exporter

const (
	MariaDBServerCert          MariaDBCertificateAlias = "server"
	MariaDBArchiverCert        MariaDBCertificateAlias = "archiver"
	MariaDBMetricsExporterCert MariaDBCertificateAlias = "metrics-exporter"
)

type MariaDBList

type MariaDBList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of MariaDB TPR objects
	Items []MariaDB `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

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.

func (*MariaDBList) Descriptor

func (*MariaDBList) Descriptor() ([]byte, []int)

func (*MariaDBList) Marshal

func (m *MariaDBList) Marshal() (dAtA []byte, err error)

func (*MariaDBList) MarshalTo

func (m *MariaDBList) MarshalTo(dAtA []byte) (int, error)

func (*MariaDBList) MarshalToSizedBuffer

func (m *MariaDBList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MariaDBList) ProtoMessage

func (*MariaDBList) ProtoMessage()

func (*MariaDBList) Reset

func (m *MariaDBList) Reset()

func (*MariaDBList) Size

func (m *MariaDBList) Size() (n int)

func (*MariaDBList) String

func (this *MariaDBList) String() string

func (*MariaDBList) Unmarshal

func (m *MariaDBList) Unmarshal(dAtA []byte) error

func (*MariaDBList) XXX_DiscardUnknown

func (m *MariaDBList) XXX_DiscardUnknown()

func (*MariaDBList) XXX_Marshal

func (m *MariaDBList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MariaDBList) XXX_Merge

func (m *MariaDBList) XXX_Merge(src proto.Message)

func (*MariaDBList) XXX_Size

func (m *MariaDBList) XXX_Size() int

func (*MariaDBList) XXX_Unmarshal

func (m *MariaDBList) XXX_Unmarshal(b []byte) error

type MariaDBSpec

type MariaDBSpec struct {
	// Version of MariaDB to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=version"`

	// Number of instances to deploy for a MariaDB database.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty" protobuf:"bytes,3,opt,name=storageType,casttype=StorageType"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,4,opt,name=storage"`

	// Database authentication secret
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,5,opt,name=authSecret"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty" protobuf:"bytes,6,opt,name=init"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,7,opt,name=monitor"`

	// 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" protobuf:"bytes,8,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,9,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,10,rep,name=serviceTemplates"`

	// Indicates that the database server need to be encrypted connections(ssl)
	// +optional
	RequireSSL bool `json:"requireSSL,omitempty" protobuf:"varint,11,opt,name=requireSSL"`

	// TLS contains tls configurations
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,12,opt,name=tls"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,13,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,14,opt,name=terminationPolicy,casttype=TerminationPolicy"`
}

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) Descriptor

func (*MariaDBSpec) Descriptor() ([]byte, []int)

func (*MariaDBSpec) GetPersistentSecrets

func (m *MariaDBSpec) GetPersistentSecrets() []string

func (*MariaDBSpec) Marshal

func (m *MariaDBSpec) Marshal() (dAtA []byte, err error)

func (*MariaDBSpec) MarshalTo

func (m *MariaDBSpec) MarshalTo(dAtA []byte) (int, error)

func (*MariaDBSpec) MarshalToSizedBuffer

func (m *MariaDBSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MariaDBSpec) ProtoMessage

func (*MariaDBSpec) ProtoMessage()

func (*MariaDBSpec) Reset

func (m *MariaDBSpec) Reset()

func (*MariaDBSpec) Size

func (m *MariaDBSpec) Size() (n int)

func (*MariaDBSpec) String

func (this *MariaDBSpec) String() string

func (*MariaDBSpec) Unmarshal

func (m *MariaDBSpec) Unmarshal(dAtA []byte) error

func (*MariaDBSpec) XXX_DiscardUnknown

func (m *MariaDBSpec) XXX_DiscardUnknown()

func (*MariaDBSpec) XXX_Marshal

func (m *MariaDBSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MariaDBSpec) XXX_Merge

func (m *MariaDBSpec) XXX_Merge(src proto.Message)

func (*MariaDBSpec) XXX_Size

func (m *MariaDBSpec) XXX_Size() int

func (*MariaDBSpec) XXX_Unmarshal

func (m *MariaDBSpec) XXX_Unmarshal(b []byte) error

type MariaDBStatus

type MariaDBStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*MariaDBStatus) Descriptor

func (*MariaDBStatus) Descriptor() ([]byte, []int)

func (*MariaDBStatus) Marshal

func (m *MariaDBStatus) Marshal() (dAtA []byte, err error)

func (*MariaDBStatus) MarshalTo

func (m *MariaDBStatus) MarshalTo(dAtA []byte) (int, error)

func (*MariaDBStatus) MarshalToSizedBuffer

func (m *MariaDBStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MariaDBStatus) ProtoMessage

func (*MariaDBStatus) ProtoMessage()

func (*MariaDBStatus) Reset

func (m *MariaDBStatus) Reset()

func (*MariaDBStatus) Size

func (m *MariaDBStatus) Size() (n int)

func (*MariaDBStatus) String

func (this *MariaDBStatus) String() string

func (*MariaDBStatus) Unmarshal

func (m *MariaDBStatus) Unmarshal(dAtA []byte) error

func (*MariaDBStatus) XXX_DiscardUnknown

func (m *MariaDBStatus) XXX_DiscardUnknown()

func (*MariaDBStatus) XXX_Marshal

func (m *MariaDBStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MariaDBStatus) XXX_Merge

func (m *MariaDBStatus) XXX_Merge(src proto.Message)

func (*MariaDBStatus) XXX_Size

func (m *MariaDBStatus) XXX_Size() int

func (*MariaDBStatus) XXX_Unmarshal

func (m *MariaDBStatus) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=peerSecret"`
	// 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" protobuf:"bytes,2,opt,name=serverSecret"`
}

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.

func (*MemberSecret) Descriptor

func (*MemberSecret) Descriptor() ([]byte, []int)

func (*MemberSecret) Marshal

func (m *MemberSecret) Marshal() (dAtA []byte, err error)

func (*MemberSecret) MarshalTo

func (m *MemberSecret) MarshalTo(dAtA []byte) (int, error)

func (*MemberSecret) MarshalToSizedBuffer

func (m *MemberSecret) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MemberSecret) ProtoMessage

func (*MemberSecret) ProtoMessage()

func (*MemberSecret) Reset

func (m *MemberSecret) Reset()

func (*MemberSecret) Size

func (m *MemberSecret) Size() (n int)

func (*MemberSecret) String

func (this *MemberSecret) String() string

func (*MemberSecret) Unmarshal

func (m *MemberSecret) Unmarshal(dAtA []byte) error

func (*MemberSecret) XXX_DiscardUnknown

func (m *MemberSecret) XXX_DiscardUnknown()

func (*MemberSecret) XXX_Marshal

func (m *MemberSecret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MemberSecret) XXX_Merge

func (m *MemberSecret) XXX_Merge(src proto.Message)

func (*MemberSecret) XXX_Size

func (m *MemberSecret) XXX_Size() int

func (*MemberSecret) XXX_Unmarshal

func (m *MemberSecret) XXX_Unmarshal(b []byte) error

type Memcached

type Memcached struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              MemcachedSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            MemcachedStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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

func (in *Memcached) DeepCopy() *Memcached

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Memcached.

func (*Memcached) DeepCopyInto

func (in *Memcached) DeepCopyInto(out *Memcached)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Memcached) DeepCopyObject

func (in *Memcached) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Memcached) Descriptor

func (*Memcached) Descriptor() ([]byte, []int)

func (Memcached) GoverningServiceName

func (m Memcached) GoverningServiceName() string

func (*Memcached) Marshal

func (m *Memcached) Marshal() (dAtA []byte, err error)

func (*Memcached) MarshalTo

func (m *Memcached) MarshalTo(dAtA []byte) (int, error)

func (*Memcached) MarshalToSizedBuffer

func (m *Memcached) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (Memcached) OffshootLabels

func (m Memcached) OffshootLabels() map[string]string

func (Memcached) OffshootName

func (m Memcached) OffshootName() string

func (Memcached) OffshootSelectors

func (m Memcached) OffshootSelectors() map[string]string

func (*Memcached) ProtoMessage

func (*Memcached) ProtoMessage()

func (*Memcached) ReplicasAreReady

func (m *Memcached) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*Memcached) Reset

func (m *Memcached) Reset()

func (Memcached) ResourceFQN added in v0.16.0

func (m Memcached) ResourceFQN() string

func (Memcached) ResourceKind

func (m Memcached) ResourceKind() string

func (Memcached) ResourcePlural

func (m Memcached) ResourcePlural() string

func (Memcached) ResourceShortCode

func (m Memcached) ResourceShortCode() string

func (Memcached) ResourceSingular

func (m Memcached) ResourceSingular() string

func (Memcached) ServiceName

func (m Memcached) ServiceName() string

func (*Memcached) SetDefaults

func (m *Memcached) SetDefaults()

func (*Memcached) Size

func (m *Memcached) Size() (n int)

func (Memcached) StatsService

func (m Memcached) StatsService() mona.StatsAccessor

func (Memcached) StatsServiceLabels

func (m Memcached) StatsServiceLabels() map[string]string

func (*Memcached) String

func (this *Memcached) String() string

func (*Memcached) Unmarshal

func (m *Memcached) Unmarshal(dAtA []byte) error

func (*Memcached) XXX_DiscardUnknown

func (m *Memcached) XXX_DiscardUnknown()

func (*Memcached) XXX_Marshal

func (m *Memcached) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Memcached) XXX_Merge

func (m *Memcached) XXX_Merge(src proto.Message)

func (*Memcached) XXX_Size

func (m *Memcached) XXX_Size() int

func (*Memcached) XXX_Unmarshal

func (m *Memcached) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of Memcached TPR objects
	Items []Memcached `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

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.

func (*MemcachedList) Descriptor

func (*MemcachedList) Descriptor() ([]byte, []int)

func (*MemcachedList) Marshal

func (m *MemcachedList) Marshal() (dAtA []byte, err error)

func (*MemcachedList) MarshalTo

func (m *MemcachedList) MarshalTo(dAtA []byte) (int, error)

func (*MemcachedList) MarshalToSizedBuffer

func (m *MemcachedList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MemcachedList) ProtoMessage

func (*MemcachedList) ProtoMessage()

func (*MemcachedList) Reset

func (m *MemcachedList) Reset()

func (*MemcachedList) Size

func (m *MemcachedList) Size() (n int)

func (*MemcachedList) String

func (this *MemcachedList) String() string

func (*MemcachedList) Unmarshal

func (m *MemcachedList) Unmarshal(dAtA []byte) error

func (*MemcachedList) XXX_DiscardUnknown

func (m *MemcachedList) XXX_DiscardUnknown()

func (*MemcachedList) XXX_Marshal

func (m *MemcachedList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MemcachedList) XXX_Merge

func (m *MemcachedList) XXX_Merge(src proto.Message)

func (*MemcachedList) XXX_Size

func (m *MemcachedList) XXX_Size() int

func (*MemcachedList) XXX_Unmarshal

func (m *MemcachedList) XXX_Unmarshal(b []byte) error

type MemcachedSpec

type MemcachedSpec struct {
	// Version of Memcached to be deployed.
	Version string `json:"version" protobuf:"bytes,5,opt,name=version"`

	// Number of instances to deploy for a Memcached database.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,6,opt,name=replicas"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,7,opt,name=monitor"`

	// 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" protobuf:"bytes,8,opt,name=configSecret"`

	// 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" protobuf:"bytes,9,opt,name=dataVolume"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,10,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,11,rep,name=serviceTemplates"`

	// TLS contains tls configurations
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,12,opt,name=tls"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,13,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,14,opt,name=terminationPolicy,casttype=TerminationPolicy"`
}

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) Descriptor

func (*MemcachedSpec) Descriptor() ([]byte, []int)

func (*MemcachedSpec) GetPersistentSecrets

func (m *MemcachedSpec) GetPersistentSecrets() []string

func (*MemcachedSpec) Marshal

func (m *MemcachedSpec) Marshal() (dAtA []byte, err error)

func (*MemcachedSpec) MarshalTo

func (m *MemcachedSpec) MarshalTo(dAtA []byte) (int, error)

func (*MemcachedSpec) MarshalToSizedBuffer

func (m *MemcachedSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MemcachedSpec) ProtoMessage

func (*MemcachedSpec) ProtoMessage()

func (*MemcachedSpec) Reset

func (m *MemcachedSpec) Reset()

func (*MemcachedSpec) Size

func (m *MemcachedSpec) Size() (n int)

func (*MemcachedSpec) String

func (this *MemcachedSpec) String() string

func (*MemcachedSpec) Unmarshal

func (m *MemcachedSpec) Unmarshal(dAtA []byte) error

func (*MemcachedSpec) XXX_DiscardUnknown

func (m *MemcachedSpec) XXX_DiscardUnknown()

func (*MemcachedSpec) XXX_Marshal

func (m *MemcachedSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MemcachedSpec) XXX_Merge

func (m *MemcachedSpec) XXX_Merge(src proto.Message)

func (*MemcachedSpec) XXX_Size

func (m *MemcachedSpec) XXX_Size() int

func (*MemcachedSpec) XXX_Unmarshal

func (m *MemcachedSpec) XXX_Unmarshal(b []byte) error

type MemcachedStatus

type MemcachedStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*MemcachedStatus) Descriptor

func (*MemcachedStatus) Descriptor() ([]byte, []int)

func (*MemcachedStatus) Marshal

func (m *MemcachedStatus) Marshal() (dAtA []byte, err error)

func (*MemcachedStatus) MarshalTo

func (m *MemcachedStatus) MarshalTo(dAtA []byte) (int, error)

func (*MemcachedStatus) MarshalToSizedBuffer

func (m *MemcachedStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MemcachedStatus) ProtoMessage

func (*MemcachedStatus) ProtoMessage()

func (*MemcachedStatus) Reset

func (m *MemcachedStatus) Reset()

func (*MemcachedStatus) Size

func (m *MemcachedStatus) Size() (n int)

func (*MemcachedStatus) String

func (this *MemcachedStatus) String() string

func (*MemcachedStatus) Unmarshal

func (m *MemcachedStatus) Unmarshal(dAtA []byte) error

func (*MemcachedStatus) XXX_DiscardUnknown

func (m *MemcachedStatus) XXX_DiscardUnknown()

func (*MemcachedStatus) XXX_Marshal

func (m *MemcachedStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MemcachedStatus) XXX_Merge

func (m *MemcachedStatus) XXX_Merge(src proto.Message)

func (*MemcachedStatus) XXX_Size

func (m *MemcachedStatus) XXX_Size() int

func (*MemcachedStatus) XXX_Unmarshal

func (m *MemcachedStatus) XXX_Unmarshal(b []byte) error

type MongoDB

type MongoDB struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              MongoDBSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            MongoDBStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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) 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

func (m *MongoDB) ConfigSecretName(nodeType string) string

ConfigSecretName returns the secret name for different nodetype

func (MongoDB) ConfigSvrDSN

func (m MongoDB) ConfigSvrDSN() string

ConfigSvrDSN = <configSvrReplName>/<host1:port>,<host2:port>,<host3:port> // Here, host1 = <pod-name>.<governing-serviceName>.svc

func (MongoDB) ConfigSvrHosts

func (m MongoDB) ConfigSvrHosts() []string

func (MongoDB) ConfigSvrLabels

func (m MongoDB) ConfigSvrLabels() map[string]string

func (MongoDB) ConfigSvrNodeName

func (m MongoDB) ConfigSvrNodeName() string

func (MongoDB) ConfigSvrRepSetName

func (m MongoDB) ConfigSvrRepSetName() string

func (MongoDB) ConfigSvrSelectors

func (m MongoDB) ConfigSvrSelectors() map[string]string

func (MongoDB) CustomResourceDefinition

func (_ MongoDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MongoDB) DeepCopy

func (in *MongoDB) DeepCopy() *MongoDB

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDB.

func (*MongoDB) DeepCopyInto

func (in *MongoDB) DeepCopyInto(out *MongoDB)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MongoDB) DeepCopyObject

func (in *MongoDB) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MongoDB) Descriptor

func (*MongoDB) Descriptor() ([]byte, []int)

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) GetDefaultLivenessProbeSpec

func (m *MongoDB) GetDefaultLivenessProbeSpec(mgVersion *v1alpha1.MongoDBVersion) *core.Probe

func (*MongoDB) GetDefaultReadinessProbeSpec

func (m *MongoDB) GetDefaultReadinessProbeSpec(mgVersion *v1alpha1.MongoDBVersion) *core.Probe

func (MongoDB) GoverningServiceName

func (m MongoDB) GoverningServiceName(name string) string

Governing Service Name. Here, name parameter is either OffshootName, ShardNodeName or ConfigSvrNodeName

func (MongoDB) HostAddress

func (m MongoDB) HostAddress() string

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) Hosts

func (m MongoDB) Hosts() []string

func (*MongoDB) KeyFileRequired

func (m *MongoDB) KeyFileRequired() bool

func (*MongoDB) Marshal

func (m *MongoDB) Marshal() (dAtA []byte, err error)

func (*MongoDB) MarshalTo

func (m *MongoDB) MarshalTo(dAtA []byte) (int, error)

func (*MongoDB) MarshalToSizedBuffer

func (m *MongoDB) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (MongoDB) MongosHosts

func (m MongoDB) MongosHosts() []string

func (MongoDB) MongosLabels

func (m MongoDB) MongosLabels() map[string]string

func (MongoDB) MongosNodeName

func (m MongoDB) MongosNodeName() string

func (MongoDB) MongosSelectors

func (m MongoDB) MongosSelectors() map[string]string

func (MongoDB) OffshootLabels

func (m MongoDB) OffshootLabels() map[string]string

func (MongoDB) OffshootName

func (m MongoDB) OffshootName() string

func (MongoDB) OffshootSelectors

func (m MongoDB) OffshootSelectors() map[string]string

func (*MongoDB) ProtoMessage

func (*MongoDB) ProtoMessage()

func (MongoDB) RepSetName

func (m MongoDB) RepSetName() string

RepSetName returns Replicaset name only for spec.replicaset

func (*MongoDB) ReplicasAreReady

func (m *MongoDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*MongoDB) Reset

func (m *MongoDB) Reset()

func (MongoDB) ResourceFQN added in v0.16.0

func (m MongoDB) ResourceFQN() string

func (MongoDB) ResourceKind

func (m MongoDB) ResourceKind() string

func (MongoDB) ResourcePlural

func (m MongoDB) ResourcePlural() string

func (MongoDB) ResourceShortCode

func (m MongoDB) ResourceShortCode() string

func (MongoDB) ResourceSingular

func (m MongoDB) ResourceSingular() string

func (MongoDB) ServiceName

func (m MongoDB) ServiceName() string

func (*MongoDB) SetDefaults

func (m *MongoDB) SetDefaults(mgVersion *v1alpha1.MongoDBVersion, topology *core_util.Topology)

func (*MongoDB) SetTLSDefaults

func (m *MongoDB) SetTLSDefaults()

func (MongoDB) ShardCommonNodeName

func (m MongoDB) ShardCommonNodeName() string

func (MongoDB) ShardDSN

func (m MongoDB) ShardDSN(nodeNum int32) string

ShardDSN = <shardReplName>/<host1:port>,<host2:port>,<host3:port> // Here, host1 = <pod-name>.<governing-serviceName>.svc

func (MongoDB) ShardHosts

func (m MongoDB) ShardHosts(nodeNum int32) []string

func (MongoDB) ShardLabels

func (m MongoDB) ShardLabels(nodeNum int32) map[string]string

func (MongoDB) ShardNodeName

func (m MongoDB) ShardNodeName(nodeNum int32) string

func (MongoDB) ShardNodeTemplate

func (m MongoDB) ShardNodeTemplate() string

func (MongoDB) ShardRepSetName

func (m MongoDB) ShardRepSetName(nodeNum int32) string

func (MongoDB) ShardSelectors

func (m MongoDB) ShardSelectors(nodeNum int32) map[string]string

func (*MongoDB) Size

func (m *MongoDB) Size() (n int)

func (MongoDB) StatsService

func (m MongoDB) StatsService() mona.StatsAccessor

func (MongoDB) StatsServiceLabels

func (m MongoDB) StatsServiceLabels() map[string]string

func (*MongoDB) String

func (this *MongoDB) String() string

func (*MongoDB) Unmarshal

func (m *MongoDB) Unmarshal(dAtA []byte) error

func (*MongoDB) XXX_DiscardUnknown

func (m *MongoDB) XXX_DiscardUnknown()

func (*MongoDB) XXX_Marshal

func (m *MongoDB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDB) XXX_Merge

func (m *MongoDB) XXX_Merge(src proto.Message)

func (*MongoDB) XXX_Size

func (m *MongoDB) XXX_Size() int

func (*MongoDB) XXX_Unmarshal

func (m *MongoDB) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=mongoDBNode"`

	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,2,opt,name=storage"`
}

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.

func (*MongoDBConfigNode) Descriptor

func (*MongoDBConfigNode) Descriptor() ([]byte, []int)

func (*MongoDBConfigNode) Marshal

func (m *MongoDBConfigNode) Marshal() (dAtA []byte, err error)

func (*MongoDBConfigNode) MarshalTo

func (m *MongoDBConfigNode) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBConfigNode) MarshalToSizedBuffer

func (m *MongoDBConfigNode) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBConfigNode) ProtoMessage

func (*MongoDBConfigNode) ProtoMessage()

func (*MongoDBConfigNode) Reset

func (m *MongoDBConfigNode) Reset()

func (*MongoDBConfigNode) Size

func (m *MongoDBConfigNode) Size() (n int)

func (*MongoDBConfigNode) String

func (this *MongoDBConfigNode) String() string

func (*MongoDBConfigNode) Unmarshal

func (m *MongoDBConfigNode) Unmarshal(dAtA []byte) error

func (*MongoDBConfigNode) XXX_DiscardUnknown

func (m *MongoDBConfigNode) XXX_DiscardUnknown()

func (*MongoDBConfigNode) XXX_Marshal

func (m *MongoDBConfigNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBConfigNode) XXX_Merge

func (m *MongoDBConfigNode) XXX_Merge(src proto.Message)

func (*MongoDBConfigNode) XXX_Size

func (m *MongoDBConfigNode) XXX_Size() int

func (*MongoDBConfigNode) XXX_Unmarshal

func (m *MongoDBConfigNode) XXX_Unmarshal(b []byte) error

type MongoDBList

type MongoDBList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of MongoDB TPR objects
	Items []MongoDB `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

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.

func (*MongoDBList) Descriptor

func (*MongoDBList) Descriptor() ([]byte, []int)

func (*MongoDBList) Marshal

func (m *MongoDBList) Marshal() (dAtA []byte, err error)

func (*MongoDBList) MarshalTo

func (m *MongoDBList) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBList) MarshalToSizedBuffer

func (m *MongoDBList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBList) ProtoMessage

func (*MongoDBList) ProtoMessage()

func (*MongoDBList) Reset

func (m *MongoDBList) Reset()

func (*MongoDBList) Size

func (m *MongoDBList) Size() (n int)

func (*MongoDBList) String

func (this *MongoDBList) String() string

func (*MongoDBList) Unmarshal

func (m *MongoDBList) Unmarshal(dAtA []byte) error

func (*MongoDBList) XXX_DiscardUnknown

func (m *MongoDBList) XXX_DiscardUnknown()

func (*MongoDBList) XXX_Marshal

func (m *MongoDBList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBList) XXX_Merge

func (m *MongoDBList) XXX_Merge(src proto.Message)

func (*MongoDBList) XXX_Size

func (m *MongoDBList) XXX_Size() int

func (*MongoDBList) XXX_Unmarshal

func (m *MongoDBList) XXX_Unmarshal(b []byte) error

type MongoDBMongosNode

type MongoDBMongosNode struct {
	// MongoDB mongos node configs
	MongoDBNode `json:",inline" protobuf:"bytes,1,opt,name=mongoDBNode"`
}

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.

func (*MongoDBMongosNode) Descriptor

func (*MongoDBMongosNode) Descriptor() ([]byte, []int)

func (*MongoDBMongosNode) Marshal

func (m *MongoDBMongosNode) Marshal() (dAtA []byte, err error)

func (*MongoDBMongosNode) MarshalTo

func (m *MongoDBMongosNode) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBMongosNode) MarshalToSizedBuffer

func (m *MongoDBMongosNode) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBMongosNode) ProtoMessage

func (*MongoDBMongosNode) ProtoMessage()

func (*MongoDBMongosNode) Reset

func (m *MongoDBMongosNode) Reset()

func (*MongoDBMongosNode) Size

func (m *MongoDBMongosNode) Size() (n int)

func (*MongoDBMongosNode) String

func (this *MongoDBMongosNode) String() string

func (*MongoDBMongosNode) Unmarshal

func (m *MongoDBMongosNode) Unmarshal(dAtA []byte) error

func (*MongoDBMongosNode) XXX_DiscardUnknown

func (m *MongoDBMongosNode) XXX_DiscardUnknown()

func (*MongoDBMongosNode) XXX_Marshal

func (m *MongoDBMongosNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBMongosNode) XXX_Merge

func (m *MongoDBMongosNode) XXX_Merge(src proto.Message)

func (*MongoDBMongosNode) XXX_Size

func (m *MongoDBMongosNode) XXX_Size() int

func (*MongoDBMongosNode) XXX_Unmarshal

func (m *MongoDBMongosNode) XXX_Unmarshal(b []byte) error

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" protobuf:"varint,1,opt,name=replicas"`

	// Prefix is the name prefix of this node.
	Prefix string `json:"prefix,omitempty" protobuf:"bytes,2,opt,name=prefix"`

	// 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" protobuf:"bytes,3,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,4,opt,name=podTemplate"`
}

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.

func (*MongoDBNode) Descriptor

func (*MongoDBNode) Descriptor() ([]byte, []int)

func (*MongoDBNode) Marshal

func (m *MongoDBNode) Marshal() (dAtA []byte, err error)

func (*MongoDBNode) MarshalTo

func (m *MongoDBNode) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBNode) MarshalToSizedBuffer

func (m *MongoDBNode) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBNode) ProtoMessage

func (*MongoDBNode) ProtoMessage()

func (*MongoDBNode) Reset

func (m *MongoDBNode) Reset()

func (*MongoDBNode) Size

func (m *MongoDBNode) Size() (n int)

func (*MongoDBNode) String

func (this *MongoDBNode) String() string

func (*MongoDBNode) Unmarshal

func (m *MongoDBNode) Unmarshal(dAtA []byte) error

func (*MongoDBNode) XXX_DiscardUnknown

func (m *MongoDBNode) XXX_DiscardUnknown()

func (*MongoDBNode) XXX_Marshal

func (m *MongoDBNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBNode) XXX_Merge

func (m *MongoDBNode) XXX_Merge(src proto.Message)

func (*MongoDBNode) XXX_Size

func (m *MongoDBNode) XXX_Size() int

func (*MongoDBNode) XXX_Unmarshal

func (m *MongoDBNode) XXX_Unmarshal(b []byte) error

type MongoDBReplicaSet

type MongoDBReplicaSet struct {
	// Name of replicaset
	Name string `json:"name" protobuf:"bytes,1,opt,name=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.

func (*MongoDBReplicaSet) Descriptor

func (*MongoDBReplicaSet) Descriptor() ([]byte, []int)

func (*MongoDBReplicaSet) Marshal

func (m *MongoDBReplicaSet) Marshal() (dAtA []byte, err error)

func (*MongoDBReplicaSet) MarshalTo

func (m *MongoDBReplicaSet) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBReplicaSet) MarshalToSizedBuffer

func (m *MongoDBReplicaSet) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBReplicaSet) ProtoMessage

func (*MongoDBReplicaSet) ProtoMessage()

func (*MongoDBReplicaSet) Reset

func (m *MongoDBReplicaSet) Reset()

func (*MongoDBReplicaSet) Size

func (m *MongoDBReplicaSet) Size() (n int)

func (*MongoDBReplicaSet) String

func (this *MongoDBReplicaSet) String() string

func (*MongoDBReplicaSet) Unmarshal

func (m *MongoDBReplicaSet) Unmarshal(dAtA []byte) error

func (*MongoDBReplicaSet) XXX_DiscardUnknown

func (m *MongoDBReplicaSet) XXX_DiscardUnknown()

func (*MongoDBReplicaSet) XXX_Marshal

func (m *MongoDBReplicaSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBReplicaSet) XXX_Merge

func (m *MongoDBReplicaSet) XXX_Merge(src proto.Message)

func (*MongoDBReplicaSet) XXX_Size

func (m *MongoDBReplicaSet) XXX_Size() int

func (*MongoDBReplicaSet) XXX_Unmarshal

func (m *MongoDBReplicaSet) XXX_Unmarshal(b []byte) error

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" protobuf:"varint,1,opt,name=shards"`

	// MongoDB sharding node configs
	MongoDBNode `json:",inline" protobuf:"bytes,2,opt,name=mongoDBNode"`

	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,3,opt,name=storage"`
}

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.

func (*MongoDBShardNode) Descriptor

func (*MongoDBShardNode) Descriptor() ([]byte, []int)

func (*MongoDBShardNode) Marshal

func (m *MongoDBShardNode) Marshal() (dAtA []byte, err error)

func (*MongoDBShardNode) MarshalTo

func (m *MongoDBShardNode) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBShardNode) MarshalToSizedBuffer

func (m *MongoDBShardNode) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBShardNode) ProtoMessage

func (*MongoDBShardNode) ProtoMessage()

func (*MongoDBShardNode) Reset

func (m *MongoDBShardNode) Reset()

func (*MongoDBShardNode) Size

func (m *MongoDBShardNode) Size() (n int)

func (*MongoDBShardNode) String

func (this *MongoDBShardNode) String() string

func (*MongoDBShardNode) Unmarshal

func (m *MongoDBShardNode) Unmarshal(dAtA []byte) error

func (*MongoDBShardNode) XXX_DiscardUnknown

func (m *MongoDBShardNode) XXX_DiscardUnknown()

func (*MongoDBShardNode) XXX_Marshal

func (m *MongoDBShardNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBShardNode) XXX_Merge

func (m *MongoDBShardNode) XXX_Merge(src proto.Message)

func (*MongoDBShardNode) XXX_Size

func (m *MongoDBShardNode) XXX_Size() int

func (*MongoDBShardNode) XXX_Unmarshal

func (m *MongoDBShardNode) XXX_Unmarshal(b []byte) error

type MongoDBShardingTopology

type MongoDBShardingTopology struct {
	// Shard component of mongodb.
	// More info: https://docs.mongodb.com/manual/core/sharded-cluster-shards/
	Shard MongoDBShardNode `json:"shard" protobuf:"bytes,1,opt,name=shard"`

	// Config Server (metadata) component of mongodb.
	// More info: https://docs.mongodb.com/manual/core/sharded-cluster-config-servers/
	ConfigServer MongoDBConfigNode `json:"configServer" protobuf:"bytes,2,opt,name=configServer"`

	// Mongos (router) component of mongodb.
	// More info: https://docs.mongodb.com/manual/core/sharded-cluster-query-router/
	Mongos MongoDBMongosNode `json:"mongos" protobuf:"bytes,3,opt,name=mongos"`
}

func (*MongoDBShardingTopology) DeepCopy

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.

func (*MongoDBShardingTopology) Descriptor

func (*MongoDBShardingTopology) Descriptor() ([]byte, []int)

func (*MongoDBShardingTopology) Marshal

func (m *MongoDBShardingTopology) Marshal() (dAtA []byte, err error)

func (*MongoDBShardingTopology) MarshalTo

func (m *MongoDBShardingTopology) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBShardingTopology) MarshalToSizedBuffer

func (m *MongoDBShardingTopology) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBShardingTopology) ProtoMessage

func (*MongoDBShardingTopology) ProtoMessage()

func (*MongoDBShardingTopology) Reset

func (m *MongoDBShardingTopology) Reset()

func (*MongoDBShardingTopology) Size

func (m *MongoDBShardingTopology) Size() (n int)

func (*MongoDBShardingTopology) String

func (this *MongoDBShardingTopology) String() string

func (*MongoDBShardingTopology) Unmarshal

func (m *MongoDBShardingTopology) Unmarshal(dAtA []byte) error

func (*MongoDBShardingTopology) XXX_DiscardUnknown

func (m *MongoDBShardingTopology) XXX_DiscardUnknown()

func (*MongoDBShardingTopology) XXX_Marshal

func (m *MongoDBShardingTopology) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBShardingTopology) XXX_Merge

func (m *MongoDBShardingTopology) XXX_Merge(src proto.Message)

func (*MongoDBShardingTopology) XXX_Size

func (m *MongoDBShardingTopology) XXX_Size() int

func (*MongoDBShardingTopology) XXX_Unmarshal

func (m *MongoDBShardingTopology) XXX_Unmarshal(b []byte) error

type MongoDBSpec

type MongoDBSpec struct {
	// Version of MongoDB to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=version"`

	// Number of instances to deploy for a MongoDB database.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`

	// MongoDB replica set
	ReplicaSet *MongoDBReplicaSet `json:"replicaSet,omitempty" protobuf:"bytes,3,opt,name=replicaSet"`

	// MongoDB sharding topology.
	ShardTopology *MongoDBShardingTopology `json:"shardTopology,omitempty" protobuf:"bytes,4,opt,name=shardTopology"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty" protobuf:"bytes,5,opt,name=storageType,casttype=StorageType"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,6,opt,name=storage"`

	// Database authentication secret
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,7,opt,name=authSecret"`

	// 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" protobuf:"bytes,8,opt,name=clusterAuthMode,casttype=ClusterAuthMode"`

	// 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" protobuf:"bytes,9,opt,name=sslMode,casttype=SSLMode"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty" protobuf:"bytes,10,opt,name=init"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,11,opt,name=monitor"`

	// 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" protobuf:"bytes,12,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate *ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,13,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,14,rep,name=serviceTemplates"`

	// TLS contains tls configurations for client and server.
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,15,opt,name=tls"`

	// Secret for KeyFileSecret. Contains keyfile `key.txt` if spec.clusterAuthMode == keyFile || sendKeyFile
	KeyFileSecret *core.LocalObjectReference `json:"keyFileSecret,omitempty" protobuf:"bytes,16,opt,name=keyFileSecret"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,17,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,18,opt,name=terminationPolicy,casttype=TerminationPolicy"`

	// StorageEngine can be wiredTiger (default) or inMemory
	// See available StorageEngine: https://docs.mongodb.com/manual/core/storage-engines/
	StorageEngine StorageEngine `json:"storageEngine,omitempty" protobuf:"bytes,19,opt,name=storageEngine,casttype=StorageEngine"`
}

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) Descriptor

func (*MongoDBSpec) Descriptor() ([]byte, []int)

func (*MongoDBSpec) GetPersistentSecrets

func (m *MongoDBSpec) GetPersistentSecrets() []string

func (*MongoDBSpec) Marshal

func (m *MongoDBSpec) Marshal() (dAtA []byte, err error)

func (*MongoDBSpec) MarshalTo

func (m *MongoDBSpec) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBSpec) MarshalToSizedBuffer

func (m *MongoDBSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBSpec) ProtoMessage

func (*MongoDBSpec) ProtoMessage()

func (*MongoDBSpec) Reset

func (m *MongoDBSpec) Reset()

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,

func (*MongoDBSpec) Size

func (m *MongoDBSpec) Size() (n int)

func (*MongoDBSpec) String

func (this *MongoDBSpec) String() string

func (*MongoDBSpec) Unmarshal

func (m *MongoDBSpec) Unmarshal(dAtA []byte) error

func (*MongoDBSpec) XXX_DiscardUnknown

func (m *MongoDBSpec) XXX_DiscardUnknown()

func (*MongoDBSpec) XXX_Marshal

func (m *MongoDBSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBSpec) XXX_Merge

func (m *MongoDBSpec) XXX_Merge(src proto.Message)

func (*MongoDBSpec) XXX_Size

func (m *MongoDBSpec) XXX_Size() int

func (*MongoDBSpec) XXX_Unmarshal

func (m *MongoDBSpec) XXX_Unmarshal(b []byte) error

type MongoDBStatus

type MongoDBStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*MongoDBStatus) Descriptor

func (*MongoDBStatus) Descriptor() ([]byte, []int)

func (*MongoDBStatus) Marshal

func (m *MongoDBStatus) Marshal() (dAtA []byte, err error)

func (*MongoDBStatus) MarshalTo

func (m *MongoDBStatus) MarshalTo(dAtA []byte) (int, error)

func (*MongoDBStatus) MarshalToSizedBuffer

func (m *MongoDBStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MongoDBStatus) ProtoMessage

func (*MongoDBStatus) ProtoMessage()

func (*MongoDBStatus) Reset

func (m *MongoDBStatus) Reset()

func (*MongoDBStatus) Size

func (m *MongoDBStatus) Size() (n int)

func (*MongoDBStatus) String

func (this *MongoDBStatus) String() string

func (*MongoDBStatus) Unmarshal

func (m *MongoDBStatus) Unmarshal(dAtA []byte) error

func (*MongoDBStatus) XXX_DiscardUnknown

func (m *MongoDBStatus) XXX_DiscardUnknown()

func (*MongoDBStatus) XXX_Marshal

func (m *MongoDBStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MongoDBStatus) XXX_Merge

func (m *MongoDBStatus) XXX_Merge(src proto.Message)

func (*MongoDBStatus) XXX_Size

func (m *MongoDBStatus) XXX_Size() int

func (*MongoDBStatus) XXX_Unmarshal

func (m *MongoDBStatus) XXX_Unmarshal(b []byte) error

type MySQL

type MySQL struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              MySQLSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            MySQLStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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

func (in *MySQL) DeepCopy() *MySQL

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQL.

func (*MySQL) DeepCopyInto

func (in *MySQL) DeepCopyInto(out *MySQL)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQL) DeepCopyObject

func (in *MySQL) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MySQL) Descriptor

func (*MySQL) Descriptor() ([]byte, []int)

func (MySQL) GetAuthSecretName

func (m MySQL) GetAuthSecretName() string

func (MySQL) GoverningServiceName

func (m MySQL) GoverningServiceName() string

func (MySQL) Hosts added in v0.16.0

func (m MySQL) Hosts() []string

func (*MySQL) Marshal

func (m *MySQL) Marshal() (dAtA []byte, err error)

func (*MySQL) MarshalTo

func (m *MySQL) MarshalTo(dAtA []byte) (int, error)

func (*MySQL) MarshalToSizedBuffer

func (m *MySQL) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MySQL) MustCertSecretName

func (m *MySQL) MustCertSecretName(alias MySQLCertificateAlias) string

MustCertSecretName returns the secret name for a certificate alias

func (*MySQL) MySQLTLSArgs added in v0.16.0

func (m *MySQL) MySQLTLSArgs() []string

func (MySQL) OffshootLabels

func (m MySQL) OffshootLabels() map[string]string

func (MySQL) OffshootName

func (m MySQL) OffshootName() string

func (MySQL) OffshootSelectors

func (m MySQL) OffshootSelectors() map[string]string

func (MySQL) PeerName

func (m MySQL) PeerName(idx int) string

func (MySQL) PrimaryServiceDNS added in v0.16.0

func (m MySQL) PrimaryServiceDNS() string

func (*MySQL) ProtoMessage

func (*MySQL) ProtoMessage()

func (*MySQL) ReplicasAreReady

func (m *MySQL) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*MySQL) Reset

func (m *MySQL) Reset()

func (MySQL) ResourceFQN added in v0.16.0

func (m MySQL) ResourceFQN() string

func (MySQL) ResourceKind

func (m MySQL) ResourceKind() string

func (MySQL) ResourcePlural

func (m MySQL) ResourcePlural() string

func (MySQL) ResourceShortCode

func (m MySQL) ResourceShortCode() string

func (MySQL) ResourceSingular

func (m MySQL) ResourceSingular() string

func (MySQL) ServiceName

func (m MySQL) ServiceName() string

func (*MySQL) SetDefaults

func (m *MySQL) SetDefaults(topology *core_util.Topology)

func (*MySQL) SetTLSDefaults

func (m *MySQL) SetTLSDefaults()

func (*MySQL) Size

func (m *MySQL) Size() (n int)

func (MySQL) StandbyServiceName

func (m MySQL) StandbyServiceName() string

func (MySQL) StatsService

func (m MySQL) StatsService() mona.StatsAccessor

func (MySQL) StatsServiceLabels

func (m MySQL) StatsServiceLabels() map[string]string

func (*MySQL) String

func (this *MySQL) String() string

func (*MySQL) Unmarshal

func (m *MySQL) Unmarshal(dAtA []byte) error

func (*MySQL) UsesGroupReplication

func (m *MySQL) UsesGroupReplication() bool

func (*MySQL) XXX_DiscardUnknown

func (m *MySQL) XXX_DiscardUnknown()

func (*MySQL) XXX_Marshal

func (m *MySQL) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MySQL) XXX_Merge

func (m *MySQL) XXX_Merge(src proto.Message)

func (*MySQL) XXX_Size

func (m *MySQL) XXX_Size() int

func (*MySQL) XXX_Unmarshal

func (m *MySQL) XXX_Unmarshal(b []byte) error

type MySQLCertificateAlias

type MySQLCertificateAlias string

+kubebuilder:validation:Enum=server;client;metrics-exporter

const (
	MySQLServerCert          MySQLCertificateAlias = "server"
	MySQLClientCert          MySQLCertificateAlias = "client"
	MySQLMetricsExporterCert MySQLCertificateAlias = "metrics-exporter"
)

type MySQLClusterMode

type MySQLClusterMode string

+kubebuilder:validation:Enum=GroupReplication

const (
	MySQLClusterModeGroup MySQLClusterMode = "GroupReplication"
)

type MySQLClusterTopology

type MySQLClusterTopology struct {
	// If set to -
	// "GroupReplication", GroupSpec is required and MySQL servers will start  a replication group
	Mode *MySQLClusterMode `json:"mode,omitempty" protobuf:"bytes,1,opt,name=mode,casttype=MySQLClusterMode"`

	// Group replication info for MySQL
	Group *MySQLGroupSpec `json:"group,omitempty" protobuf:"bytes,2,opt,name=group"`
}

func (*MySQLClusterTopology) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLClusterTopology.

func (*MySQLClusterTopology) DeepCopyInto

func (in *MySQLClusterTopology) DeepCopyInto(out *MySQLClusterTopology)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQLClusterTopology) Descriptor

func (*MySQLClusterTopology) Descriptor() ([]byte, []int)

func (*MySQLClusterTopology) Marshal

func (m *MySQLClusterTopology) Marshal() (dAtA []byte, err error)

func (*MySQLClusterTopology) MarshalTo

func (m *MySQLClusterTopology) MarshalTo(dAtA []byte) (int, error)

func (*MySQLClusterTopology) MarshalToSizedBuffer

func (m *MySQLClusterTopology) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MySQLClusterTopology) ProtoMessage

func (*MySQLClusterTopology) ProtoMessage()

func (*MySQLClusterTopology) Reset

func (m *MySQLClusterTopology) Reset()

func (*MySQLClusterTopology) Size

func (m *MySQLClusterTopology) Size() (n int)

func (*MySQLClusterTopology) String

func (this *MySQLClusterTopology) String() string

func (*MySQLClusterTopology) Unmarshal

func (m *MySQLClusterTopology) Unmarshal(dAtA []byte) error

func (*MySQLClusterTopology) XXX_DiscardUnknown

func (m *MySQLClusterTopology) XXX_DiscardUnknown()

func (*MySQLClusterTopology) XXX_Marshal

func (m *MySQLClusterTopology) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MySQLClusterTopology) XXX_Merge

func (m *MySQLClusterTopology) XXX_Merge(src proto.Message)

func (*MySQLClusterTopology) XXX_Size

func (m *MySQLClusterTopology) XXX_Size() int

func (*MySQLClusterTopology) XXX_Unmarshal

func (m *MySQLClusterTopology) XXX_Unmarshal(b []byte) error

type MySQLGroupMode

type MySQLGroupMode string

+kubebuilder:validation:Enum=Single-Primary;Multi-Primary

const (
	MySQLGroupModeSinglePrimary MySQLGroupMode = "Single-Primary"
	MySQLGroupModeMultiPrimary  MySQLGroupMode = "Multi-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
	Mode *MySQLGroupMode `json:"mode,omitempty" protobuf:"bytes,1,opt,name=mode,casttype=MySQLGroupMode"`

	// 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" protobuf:"bytes,2,opt,name=name"`
}

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.

func (*MySQLGroupSpec) Descriptor

func (*MySQLGroupSpec) Descriptor() ([]byte, []int)

func (*MySQLGroupSpec) Marshal

func (m *MySQLGroupSpec) Marshal() (dAtA []byte, err error)

func (*MySQLGroupSpec) MarshalTo

func (m *MySQLGroupSpec) MarshalTo(dAtA []byte) (int, error)

func (*MySQLGroupSpec) MarshalToSizedBuffer

func (m *MySQLGroupSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MySQLGroupSpec) ProtoMessage

func (*MySQLGroupSpec) ProtoMessage()

func (*MySQLGroupSpec) Reset

func (m *MySQLGroupSpec) Reset()

func (*MySQLGroupSpec) Size

func (m *MySQLGroupSpec) Size() (n int)

func (*MySQLGroupSpec) String

func (this *MySQLGroupSpec) String() string

func (*MySQLGroupSpec) Unmarshal

func (m *MySQLGroupSpec) Unmarshal(dAtA []byte) error

func (*MySQLGroupSpec) XXX_DiscardUnknown

func (m *MySQLGroupSpec) XXX_DiscardUnknown()

func (*MySQLGroupSpec) XXX_Marshal

func (m *MySQLGroupSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MySQLGroupSpec) XXX_Merge

func (m *MySQLGroupSpec) XXX_Merge(src proto.Message)

func (*MySQLGroupSpec) XXX_Size

func (m *MySQLGroupSpec) XXX_Size() int

func (*MySQLGroupSpec) XXX_Unmarshal

func (m *MySQLGroupSpec) XXX_Unmarshal(b []byte) error

type MySQLList

type MySQLList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of MySQL TPR objects
	Items []MySQL `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

func (*MySQLList) DeepCopy

func (in *MySQLList) DeepCopy() *MySQLList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLList.

func (*MySQLList) DeepCopyInto

func (in *MySQLList) DeepCopyInto(out *MySQLList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQLList) DeepCopyObject

func (in *MySQLList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MySQLList) Descriptor

func (*MySQLList) Descriptor() ([]byte, []int)

func (*MySQLList) Marshal

func (m *MySQLList) Marshal() (dAtA []byte, err error)

func (*MySQLList) MarshalTo

func (m *MySQLList) MarshalTo(dAtA []byte) (int, error)

func (*MySQLList) MarshalToSizedBuffer

func (m *MySQLList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MySQLList) ProtoMessage

func (*MySQLList) ProtoMessage()

func (*MySQLList) Reset

func (m *MySQLList) Reset()

func (*MySQLList) Size

func (m *MySQLList) Size() (n int)

func (*MySQLList) String

func (this *MySQLList) String() string

func (*MySQLList) Unmarshal

func (m *MySQLList) Unmarshal(dAtA []byte) error

func (*MySQLList) XXX_DiscardUnknown

func (m *MySQLList) XXX_DiscardUnknown()

func (*MySQLList) XXX_Marshal

func (m *MySQLList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MySQLList) XXX_Merge

func (m *MySQLList) XXX_Merge(src proto.Message)

func (*MySQLList) XXX_Size

func (m *MySQLList) XXX_Size() int

func (*MySQLList) XXX_Unmarshal

func (m *MySQLList) XXX_Unmarshal(b []byte) error

type MySQLSpec

type MySQLSpec struct {
	// Version of MySQL to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=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" protobuf:"varint,2,opt,name=replicas"`

	// MySQL cluster topology
	Topology *MySQLClusterTopology `json:"topology,omitempty" protobuf:"bytes,3,opt,name=topology"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty" protobuf:"bytes,4,opt,name=storageType,casttype=StorageType"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,5,opt,name=storage"`

	// Database authentication secret
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,6,opt,name=authSecret"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty" protobuf:"bytes,7,opt,name=init"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,9,opt,name=monitor"`

	// 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" protobuf:"bytes,10,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,11,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,12,rep,name=serviceTemplates"`

	// Indicates that the database server need to be encrypted connections(ssl)
	// +optional
	RequireSSL bool `json:"requireSSL,omitempty" protobuf:"varint,13,opt,name=requireSSL"`

	// TLS contains tls configurations for client and server.
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,14,opt,name=tls"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,15,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,16,opt,name=terminationPolicy,casttype=TerminationPolicy"`

	// 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" protobuf:"bytes,17,opt,name=useAddressType,casttype=AddressType"`
}

func (*MySQLSpec) DeepCopy

func (in *MySQLSpec) DeepCopy() *MySQLSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLSpec.

func (*MySQLSpec) DeepCopyInto

func (in *MySQLSpec) DeepCopyInto(out *MySQLSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQLSpec) Descriptor

func (*MySQLSpec) Descriptor() ([]byte, []int)

func (*MySQLSpec) GetPersistentSecrets

func (m *MySQLSpec) GetPersistentSecrets() []string

func (*MySQLSpec) Marshal

func (m *MySQLSpec) Marshal() (dAtA []byte, err error)

func (*MySQLSpec) MarshalTo

func (m *MySQLSpec) MarshalTo(dAtA []byte) (int, error)

func (*MySQLSpec) MarshalToSizedBuffer

func (m *MySQLSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MySQLSpec) ProtoMessage

func (*MySQLSpec) ProtoMessage()

func (*MySQLSpec) Reset

func (m *MySQLSpec) Reset()

func (*MySQLSpec) Size

func (m *MySQLSpec) Size() (n int)

func (*MySQLSpec) String

func (this *MySQLSpec) String() string

func (*MySQLSpec) Unmarshal

func (m *MySQLSpec) Unmarshal(dAtA []byte) error

func (*MySQLSpec) XXX_DiscardUnknown

func (m *MySQLSpec) XXX_DiscardUnknown()

func (*MySQLSpec) XXX_Marshal

func (m *MySQLSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MySQLSpec) XXX_Merge

func (m *MySQLSpec) XXX_Merge(src proto.Message)

func (*MySQLSpec) XXX_Size

func (m *MySQLSpec) XXX_Size() int

func (*MySQLSpec) XXX_Unmarshal

func (m *MySQLSpec) XXX_Unmarshal(b []byte) error

type MySQLStatus

type MySQLStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*MySQLStatus) Descriptor

func (*MySQLStatus) Descriptor() ([]byte, []int)

func (*MySQLStatus) Marshal

func (m *MySQLStatus) Marshal() (dAtA []byte, err error)

func (*MySQLStatus) MarshalTo

func (m *MySQLStatus) MarshalTo(dAtA []byte) (int, error)

func (*MySQLStatus) MarshalToSizedBuffer

func (m *MySQLStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MySQLStatus) ProtoMessage

func (*MySQLStatus) ProtoMessage()

func (*MySQLStatus) Reset

func (m *MySQLStatus) Reset()

func (*MySQLStatus) Size

func (m *MySQLStatus) Size() (n int)

func (*MySQLStatus) String

func (this *MySQLStatus) String() string

func (*MySQLStatus) Unmarshal

func (m *MySQLStatus) Unmarshal(dAtA []byte) error

func (*MySQLStatus) XXX_DiscardUnknown

func (m *MySQLStatus) XXX_DiscardUnknown()

func (*MySQLStatus) XXX_Marshal

func (m *MySQLStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MySQLStatus) XXX_Merge

func (m *MySQLStatus) XXX_Merge(src proto.Message)

func (*MySQLStatus) XXX_Size

func (m *MySQLStatus) XXX_Size() int

func (*MySQLStatus) XXX_Unmarshal

func (m *MySQLStatus) XXX_Unmarshal(b []byte) error

type NamedServiceTemplateSpec added in v0.15.0

type NamedServiceTemplateSpec struct {
	// Alias represents the identifier of the service.
	Alias ServiceAlias `json:"alias" protobuf:"bytes,1,opt,name=alias"`

	// ServiceTemplate is an optional configuration for a service used to expose database
	// +optional
	ofst.ServiceTemplateSpec `json:",inline,omitempty" protobuf:"bytes,2,opt,name=serviceTemplateSpec"`
}

func (*NamedServiceTemplateSpec) DeepCopy added in v0.15.0

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.

func (*NamedServiceTemplateSpec) Descriptor added in v0.15.0

func (*NamedServiceTemplateSpec) Descriptor() ([]byte, []int)

func (*NamedServiceTemplateSpec) Marshal added in v0.15.0

func (m *NamedServiceTemplateSpec) Marshal() (dAtA []byte, err error)

func (*NamedServiceTemplateSpec) MarshalTo added in v0.15.0

func (m *NamedServiceTemplateSpec) MarshalTo(dAtA []byte) (int, error)

func (*NamedServiceTemplateSpec) MarshalToSizedBuffer added in v0.15.0

func (m *NamedServiceTemplateSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*NamedServiceTemplateSpec) ProtoMessage added in v0.15.0

func (*NamedServiceTemplateSpec) ProtoMessage()

func (*NamedServiceTemplateSpec) Reset added in v0.15.0

func (m *NamedServiceTemplateSpec) Reset()

func (*NamedServiceTemplateSpec) Size added in v0.15.0

func (m *NamedServiceTemplateSpec) Size() (n int)

func (*NamedServiceTemplateSpec) String added in v0.15.0

func (this *NamedServiceTemplateSpec) String() string

func (*NamedServiceTemplateSpec) Unmarshal added in v0.15.0

func (m *NamedServiceTemplateSpec) Unmarshal(dAtA []byte) error

func (*NamedServiceTemplateSpec) XXX_DiscardUnknown added in v0.15.0

func (m *NamedServiceTemplateSpec) XXX_DiscardUnknown()

func (*NamedServiceTemplateSpec) XXX_Marshal added in v0.15.0

func (m *NamedServiceTemplateSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*NamedServiceTemplateSpec) XXX_Merge added in v0.15.0

func (m *NamedServiceTemplateSpec) XXX_Merge(src proto.Message)

func (*NamedServiceTemplateSpec) XXX_Size added in v0.15.0

func (m *NamedServiceTemplateSpec) XXX_Size() int

func (*NamedServiceTemplateSpec) XXX_Unmarshal added in v0.15.0

func (m *NamedServiceTemplateSpec) XXX_Unmarshal(b []byte) error

type PerconaXtraDB

type PerconaXtraDB struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              PerconaXtraDBSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            PerconaXtraDBStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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) 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) Descriptor

func (*PerconaXtraDB) Descriptor() ([]byte, []int)

func (PerconaXtraDB) GetAuthSecretName

func (p PerconaXtraDB) GetAuthSecretName() string

func (PerconaXtraDB) GoverningServiceName

func (p PerconaXtraDB) GoverningServiceName() string

func (PerconaXtraDB) IsCluster

func (p PerconaXtraDB) IsCluster() bool

func (*PerconaXtraDB) Marshal

func (m *PerconaXtraDB) Marshal() (dAtA []byte, err error)

func (*PerconaXtraDB) MarshalTo

func (m *PerconaXtraDB) MarshalTo(dAtA []byte) (int, error)

func (*PerconaXtraDB) MarshalToSizedBuffer

func (m *PerconaXtraDB) MarshalToSizedBuffer(dAtA []byte) (int, error)

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) ProtoMessage

func (*PerconaXtraDB) ProtoMessage()

func (*PerconaXtraDB) ReplicasAreReady

func (p *PerconaXtraDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*PerconaXtraDB) Reset

func (m *PerconaXtraDB) Reset()

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) ServiceName

func (p PerconaXtraDB) ServiceName() string

func (*PerconaXtraDB) SetDefaults

func (p *PerconaXtraDB) SetDefaults()

func (*PerconaXtraDB) Size

func (m *PerconaXtraDB) Size() (n int)

func (PerconaXtraDB) StatsService

func (p PerconaXtraDB) StatsService() mona.StatsAccessor

func (PerconaXtraDB) StatsServiceLabels

func (p PerconaXtraDB) StatsServiceLabels() map[string]string

func (*PerconaXtraDB) String

func (this *PerconaXtraDB) String() string

func (*PerconaXtraDB) Unmarshal

func (m *PerconaXtraDB) Unmarshal(dAtA []byte) error

func (*PerconaXtraDB) XXX_DiscardUnknown

func (m *PerconaXtraDB) XXX_DiscardUnknown()

func (*PerconaXtraDB) XXX_Marshal

func (m *PerconaXtraDB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PerconaXtraDB) XXX_Merge

func (m *PerconaXtraDB) XXX_Merge(src proto.Message)

func (*PerconaXtraDB) XXX_Size

func (m *PerconaXtraDB) XXX_Size() int

func (*PerconaXtraDB) XXX_Unmarshal

func (m *PerconaXtraDB) XXX_Unmarshal(b []byte) error

type PerconaXtraDBCertificateAlias

type PerconaXtraDBCertificateAlias string

+kubebuilder:validation:Enum=server;archiver;metrics-exporter

const (
	PerconaXtraDBServerCert          PerconaXtraDBCertificateAlias = "server"
	PerconaXtraDBArchiverCert        PerconaXtraDBCertificateAlias = "archiver"
	PerconaXtraDBMetricsExporterCert PerconaXtraDBCertificateAlias = "metrics-exporter"
)

type PerconaXtraDBList

type PerconaXtraDBList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of PerconaXtraDB TPR objects
	Items []PerconaXtraDB `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

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.

func (*PerconaXtraDBList) Descriptor

func (*PerconaXtraDBList) Descriptor() ([]byte, []int)

func (*PerconaXtraDBList) Marshal

func (m *PerconaXtraDBList) Marshal() (dAtA []byte, err error)

func (*PerconaXtraDBList) MarshalTo

func (m *PerconaXtraDBList) MarshalTo(dAtA []byte) (int, error)

func (*PerconaXtraDBList) MarshalToSizedBuffer

func (m *PerconaXtraDBList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PerconaXtraDBList) ProtoMessage

func (*PerconaXtraDBList) ProtoMessage()

func (*PerconaXtraDBList) Reset

func (m *PerconaXtraDBList) Reset()

func (*PerconaXtraDBList) Size

func (m *PerconaXtraDBList) Size() (n int)

func (*PerconaXtraDBList) String

func (this *PerconaXtraDBList) String() string

func (*PerconaXtraDBList) Unmarshal

func (m *PerconaXtraDBList) Unmarshal(dAtA []byte) error

func (*PerconaXtraDBList) XXX_DiscardUnknown

func (m *PerconaXtraDBList) XXX_DiscardUnknown()

func (*PerconaXtraDBList) XXX_Marshal

func (m *PerconaXtraDBList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PerconaXtraDBList) XXX_Merge

func (m *PerconaXtraDBList) XXX_Merge(src proto.Message)

func (*PerconaXtraDBList) XXX_Size

func (m *PerconaXtraDBList) XXX_Size() int

func (*PerconaXtraDBList) XXX_Unmarshal

func (m *PerconaXtraDBList) XXX_Unmarshal(b []byte) error

type PerconaXtraDBSpec

type PerconaXtraDBSpec struct {
	// Version of PerconaXtraDB to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=version"`

	// Number of instances to deploy for PerconaXtraDB.
	// Replicas: 1		-->		Deploy standalone PerconaXtraDB
	// Replicas: > 1	-->		Deploy PerconaXtraDB cluster with specified number of masters
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty" protobuf:"bytes,3,opt,name=storageType,casttype=StorageType"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,4,opt,name=storage"`

	// Database authentication secret
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,5,opt,name=authSecret"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty" protobuf:"bytes,6,opt,name=init"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,7,opt,name=monitor"`

	// 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" protobuf:"bytes,8,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,9,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,10,rep,name=serviceTemplates"`

	// TLS contains tls configurations for client and server.
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,11,opt,name=tls"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,12,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,13,opt,name=terminationPolicy,casttype=TerminationPolicy"`
}

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) Descriptor

func (*PerconaXtraDBSpec) Descriptor() ([]byte, []int)

func (*PerconaXtraDBSpec) GetPersistentSecrets

func (p *PerconaXtraDBSpec) GetPersistentSecrets() []string

func (*PerconaXtraDBSpec) Marshal

func (m *PerconaXtraDBSpec) Marshal() (dAtA []byte, err error)

func (*PerconaXtraDBSpec) MarshalTo

func (m *PerconaXtraDBSpec) MarshalTo(dAtA []byte) (int, error)

func (*PerconaXtraDBSpec) MarshalToSizedBuffer

func (m *PerconaXtraDBSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PerconaXtraDBSpec) ProtoMessage

func (*PerconaXtraDBSpec) ProtoMessage()

func (*PerconaXtraDBSpec) Reset

func (m *PerconaXtraDBSpec) Reset()

func (*PerconaXtraDBSpec) Size

func (m *PerconaXtraDBSpec) Size() (n int)

func (*PerconaXtraDBSpec) String

func (this *PerconaXtraDBSpec) String() string

func (*PerconaXtraDBSpec) Unmarshal

func (m *PerconaXtraDBSpec) Unmarshal(dAtA []byte) error

func (*PerconaXtraDBSpec) XXX_DiscardUnknown

func (m *PerconaXtraDBSpec) XXX_DiscardUnknown()

func (*PerconaXtraDBSpec) XXX_Marshal

func (m *PerconaXtraDBSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PerconaXtraDBSpec) XXX_Merge

func (m *PerconaXtraDBSpec) XXX_Merge(src proto.Message)

func (*PerconaXtraDBSpec) XXX_Size

func (m *PerconaXtraDBSpec) XXX_Size() int

func (*PerconaXtraDBSpec) XXX_Unmarshal

func (m *PerconaXtraDBSpec) XXX_Unmarshal(b []byte) error

type PerconaXtraDBStatus

type PerconaXtraDBStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*PerconaXtraDBStatus) Descriptor

func (*PerconaXtraDBStatus) Descriptor() ([]byte, []int)

func (*PerconaXtraDBStatus) Marshal

func (m *PerconaXtraDBStatus) Marshal() (dAtA []byte, err error)

func (*PerconaXtraDBStatus) MarshalTo

func (m *PerconaXtraDBStatus) MarshalTo(dAtA []byte) (int, error)

func (*PerconaXtraDBStatus) MarshalToSizedBuffer

func (m *PerconaXtraDBStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PerconaXtraDBStatus) ProtoMessage

func (*PerconaXtraDBStatus) ProtoMessage()

func (*PerconaXtraDBStatus) Reset

func (m *PerconaXtraDBStatus) Reset()

func (*PerconaXtraDBStatus) Size

func (m *PerconaXtraDBStatus) Size() (n int)

func (*PerconaXtraDBStatus) String

func (this *PerconaXtraDBStatus) String() string

func (*PerconaXtraDBStatus) Unmarshal

func (m *PerconaXtraDBStatus) Unmarshal(dAtA []byte) error

func (*PerconaXtraDBStatus) XXX_DiscardUnknown

func (m *PerconaXtraDBStatus) XXX_DiscardUnknown()

func (*PerconaXtraDBStatus) XXX_Marshal

func (m *PerconaXtraDBStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PerconaXtraDBStatus) XXX_Merge

func (m *PerconaXtraDBStatus) XXX_Merge(src proto.Message)

func (*PerconaXtraDBStatus) XXX_Size

func (m *PerconaXtraDBStatus) XXX_Size() int

func (*PerconaXtraDBStatus) XXX_Unmarshal

func (m *PerconaXtraDBStatus) XXX_Unmarshal(b []byte) error

type PgBouncer

type PgBouncer struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              PgBouncerSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            PgBouncerStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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) AuthSecretName

func (p PgBouncer) AuthSecretName() string

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 (p PgBouncer) ConfigSecretName() string

func (PgBouncer) CustomResourceDefinition

func (p PgBouncer) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*PgBouncer) DeepCopy

func (in *PgBouncer) DeepCopy() *PgBouncer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgBouncer.

func (*PgBouncer) DeepCopyInto

func (in *PgBouncer) DeepCopyInto(out *PgBouncer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PgBouncer) DeepCopyObject

func (in *PgBouncer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PgBouncer) Descriptor

func (*PgBouncer) Descriptor() ([]byte, []int)

func (PgBouncer) GoverningServiceName

func (p PgBouncer) GoverningServiceName() string

func (*PgBouncer) Marshal

func (m *PgBouncer) Marshal() (dAtA []byte, err error)

func (*PgBouncer) MarshalTo

func (m *PgBouncer) MarshalTo(dAtA []byte) (int, error)

func (*PgBouncer) MarshalToSizedBuffer

func (m *PgBouncer) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PgBouncer) MustCertSecretName

func (p *PgBouncer) MustCertSecretName(alias PgBouncerCertificateAlias) string

MustCertSecretName returns the secret name for a certificate alias

func (PgBouncer) OffshootLabels

func (p PgBouncer) OffshootLabels() map[string]string

func (PgBouncer) OffshootName

func (p PgBouncer) OffshootName() string

func (PgBouncer) OffshootSelectors

func (p PgBouncer) OffshootSelectors() map[string]string

func (*PgBouncer) ProtoMessage

func (*PgBouncer) ProtoMessage()

func (*PgBouncer) ReplicasAreReady

func (p *PgBouncer) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (PgBouncer) ReplicasServiceName

func (p PgBouncer) ReplicasServiceName() string

func (*PgBouncer) Reset

func (m *PgBouncer) Reset()

func (PgBouncer) ResourceFQN added in v0.16.0

func (p PgBouncer) ResourceFQN() string

func (PgBouncer) ResourceKind

func (p PgBouncer) ResourceKind() string

func (PgBouncer) ResourcePlural

func (p PgBouncer) ResourcePlural() string

func (PgBouncer) ResourceShortCode

func (p PgBouncer) ResourceShortCode() string

func (PgBouncer) ResourceSingular

func (p PgBouncer) ResourceSingular() string

func (PgBouncer) ServiceName

func (p PgBouncer) ServiceName() string

func (*PgBouncer) SetDefaults

func (p *PgBouncer) SetDefaults()

func (*PgBouncer) SetTLSDefaults

func (p *PgBouncer) SetTLSDefaults()

func (*PgBouncer) Size

func (m *PgBouncer) Size() (n int)

func (PgBouncer) StatsService

func (p PgBouncer) StatsService() mona.StatsAccessor

func (PgBouncer) StatsServiceLabels

func (p PgBouncer) StatsServiceLabels() map[string]string

func (*PgBouncer) String

func (this *PgBouncer) String() string

func (*PgBouncer) Unmarshal

func (m *PgBouncer) Unmarshal(dAtA []byte) error

func (*PgBouncer) XXX_DiscardUnknown

func (m *PgBouncer) XXX_DiscardUnknown()

func (*PgBouncer) XXX_Marshal

func (m *PgBouncer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PgBouncer) XXX_Merge

func (m *PgBouncer) XXX_Merge(src proto.Message)

func (*PgBouncer) XXX_Size

func (m *PgBouncer) XXX_Size() int

func (*PgBouncer) XXX_Unmarshal

func (m *PgBouncer) XXX_Unmarshal(b []byte) error

type PgBouncerCertificateAlias

type PgBouncerCertificateAlias string

+kubebuilder:validation:Enum=server;archiver;metrics-exporter

const (
	PgBouncerServerCert          PgBouncerCertificateAlias = "server"
	PgBouncerClientCert          PgBouncerCertificateAlias = "client"
	PgBouncerMetricsExporterCert PgBouncerCertificateAlias = "metrics-exporter"
)

type PgBouncerList

type PgBouncerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of PgBouncer CRD objects.
	Items []PgBouncer `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

+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.

func (*PgBouncerList) Descriptor

func (*PgBouncerList) Descriptor() ([]byte, []int)

func (*PgBouncerList) Marshal

func (m *PgBouncerList) Marshal() (dAtA []byte, err error)

func (*PgBouncerList) MarshalTo

func (m *PgBouncerList) MarshalTo(dAtA []byte) (int, error)

func (*PgBouncerList) MarshalToSizedBuffer

func (m *PgBouncerList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PgBouncerList) ProtoMessage

func (*PgBouncerList) ProtoMessage()

func (*PgBouncerList) Reset

func (m *PgBouncerList) Reset()

func (*PgBouncerList) Size

func (m *PgBouncerList) Size() (n int)

func (*PgBouncerList) String

func (this *PgBouncerList) String() string

func (*PgBouncerList) Unmarshal

func (m *PgBouncerList) Unmarshal(dAtA []byte) error

func (*PgBouncerList) XXX_DiscardUnknown

func (m *PgBouncerList) XXX_DiscardUnknown()

func (*PgBouncerList) XXX_Marshal

func (m *PgBouncerList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PgBouncerList) XXX_Merge

func (m *PgBouncerList) XXX_Merge(src proto.Message)

func (*PgBouncerList) XXX_Size

func (m *PgBouncerList) XXX_Size() int

func (*PgBouncerList) XXX_Unmarshal

func (m *PgBouncerList) XXX_Unmarshal(b []byte) error

type PgBouncerSpec

type PgBouncerSpec struct {
	// Version of PgBouncer to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=version"`
	// Number of instances to deploy for a PgBouncer instance.
	// +optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`
	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,3,rep,name=serviceTemplates"`
	// PodTemplate is an optional configuration for pods.
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,4,opt,name=podTemplate"`
	// Databases to proxy by connection pooling.
	// +optional
	Databases []Databases `json:"databases,omitempty" protobuf:"bytes,5,rep,name=databases"`
	// ConnectionPoolConfig defines Connection pool configuration.
	// +optional
	ConnectionPool *ConnectionPoolConfig `json:"connectionPool,omitempty" protobuf:"bytes,6,opt,name=connectionPool"`
	// UserListSecretRef is a secret with a list of PgBouncer user and passwords.
	// +optional
	UserListSecretRef *core.LocalObjectReference `json:"userListSecretRef,omitempty" protobuf:"bytes,7,opt,name=userListSecretRef"`
	// Monitor is used monitor database instance.
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,8,opt,name=monitor"`
	// TLS contains tls configurations for client and server.
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,9,opt,name=tls"`
}

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.

func (*PgBouncerSpec) Descriptor

func (*PgBouncerSpec) Descriptor() ([]byte, []int)

func (*PgBouncerSpec) Marshal

func (m *PgBouncerSpec) Marshal() (dAtA []byte, err error)

func (*PgBouncerSpec) MarshalTo

func (m *PgBouncerSpec) MarshalTo(dAtA []byte) (int, error)

func (*PgBouncerSpec) MarshalToSizedBuffer

func (m *PgBouncerSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PgBouncerSpec) ProtoMessage

func (*PgBouncerSpec) ProtoMessage()

func (*PgBouncerSpec) Reset

func (m *PgBouncerSpec) Reset()

func (*PgBouncerSpec) Size

func (m *PgBouncerSpec) Size() (n int)

func (*PgBouncerSpec) String

func (this *PgBouncerSpec) String() string

func (*PgBouncerSpec) Unmarshal

func (m *PgBouncerSpec) Unmarshal(dAtA []byte) error

func (*PgBouncerSpec) XXX_DiscardUnknown

func (m *PgBouncerSpec) XXX_DiscardUnknown()

func (*PgBouncerSpec) XXX_Marshal

func (m *PgBouncerSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PgBouncerSpec) XXX_Merge

func (m *PgBouncerSpec) XXX_Merge(src proto.Message)

func (*PgBouncerSpec) XXX_Size

func (m *PgBouncerSpec) XXX_Size() int

func (*PgBouncerSpec) XXX_Unmarshal

func (m *PgBouncerSpec) XXX_Unmarshal(b []byte) error

type PgBouncerStatus

type PgBouncerStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*PgBouncerStatus) Descriptor

func (*PgBouncerStatus) Descriptor() ([]byte, []int)

func (*PgBouncerStatus) Marshal

func (m *PgBouncerStatus) Marshal() (dAtA []byte, err error)

func (*PgBouncerStatus) MarshalTo

func (m *PgBouncerStatus) MarshalTo(dAtA []byte) (int, error)

func (*PgBouncerStatus) MarshalToSizedBuffer

func (m *PgBouncerStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PgBouncerStatus) ProtoMessage

func (*PgBouncerStatus) ProtoMessage()

func (*PgBouncerStatus) Reset

func (m *PgBouncerStatus) Reset()

func (*PgBouncerStatus) Size

func (m *PgBouncerStatus) Size() (n int)

func (*PgBouncerStatus) String

func (this *PgBouncerStatus) String() string

func (*PgBouncerStatus) Unmarshal

func (m *PgBouncerStatus) Unmarshal(dAtA []byte) error

func (*PgBouncerStatus) XXX_DiscardUnknown

func (m *PgBouncerStatus) XXX_DiscardUnknown()

func (*PgBouncerStatus) XXX_Marshal

func (m *PgBouncerStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PgBouncerStatus) XXX_Merge

func (m *PgBouncerStatus) XXX_Merge(src proto.Message)

func (*PgBouncerStatus) XXX_Size

func (m *PgBouncerStatus) XXX_Size() int

func (*PgBouncerStatus) XXX_Unmarshal

func (m *PgBouncerStatus) XXX_Unmarshal(b []byte) error

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" protobuf:"varint,1,opt,name=leaseDurationSeconds"`
	// 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" protobuf:"varint,2,opt,name=renewDeadlineSeconds"`
	// 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" protobuf:"varint,3,opt,name=retryPeriodSeconds"`

	// 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" protobuf:"varint,4,opt,name=maximumLagBeforeFailover"`

	// Period between Node.Tick invocations
	// +default="100ms"
	// +kubebuilder:default:="100ms"
	// +optional
	Period metav1.Duration `json:"period,omitempty" protobuf:"bytes,5,opt,name=period"`

	// 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" protobuf:"varint,6,opt,name=electionTick"`

	// 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" protobuf:"varint,7,opt,name=heartbeatTick"`
}

PostgreLeaderElectionConfig contains essential attributes of leader election.

func (*PostgreLeaderElectionConfig) DeepCopy added in v0.17.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreLeaderElectionConfig.

func (*PostgreLeaderElectionConfig) DeepCopyInto added in v0.17.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PostgreLeaderElectionConfig) Descriptor added in v0.17.0

func (*PostgreLeaderElectionConfig) Descriptor() ([]byte, []int)

func (*PostgreLeaderElectionConfig) Marshal added in v0.17.0

func (m *PostgreLeaderElectionConfig) Marshal() (dAtA []byte, err error)

func (*PostgreLeaderElectionConfig) MarshalTo added in v0.17.0

func (m *PostgreLeaderElectionConfig) MarshalTo(dAtA []byte) (int, error)

func (*PostgreLeaderElectionConfig) MarshalToSizedBuffer added in v0.17.0

func (m *PostgreLeaderElectionConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PostgreLeaderElectionConfig) ProtoMessage added in v0.17.0

func (*PostgreLeaderElectionConfig) ProtoMessage()

func (*PostgreLeaderElectionConfig) Reset added in v0.17.0

func (m *PostgreLeaderElectionConfig) Reset()

func (*PostgreLeaderElectionConfig) Size added in v0.17.0

func (m *PostgreLeaderElectionConfig) Size() (n int)

func (*PostgreLeaderElectionConfig) String added in v0.17.0

func (this *PostgreLeaderElectionConfig) String() string

func (*PostgreLeaderElectionConfig) Unmarshal added in v0.17.0

func (m *PostgreLeaderElectionConfig) Unmarshal(dAtA []byte) error

func (*PostgreLeaderElectionConfig) XXX_DiscardUnknown added in v0.17.0

func (m *PostgreLeaderElectionConfig) XXX_DiscardUnknown()

func (*PostgreLeaderElectionConfig) XXX_Marshal added in v0.17.0

func (m *PostgreLeaderElectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PostgreLeaderElectionConfig) XXX_Merge added in v0.17.0

func (m *PostgreLeaderElectionConfig) XXX_Merge(src proto.Message)

func (*PostgreLeaderElectionConfig) XXX_Size added in v0.17.0

func (m *PostgreLeaderElectionConfig) XXX_Size() int

func (*PostgreLeaderElectionConfig) XXX_Unmarshal added in v0.17.0

func (m *PostgreLeaderElectionConfig) XXX_Unmarshal(b []byte) error

type Postgres

type Postgres struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              PostgresSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            PostgresStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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

func (in *Postgres) DeepCopy() *Postgres

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Postgres.

func (*Postgres) DeepCopyInto

func (in *Postgres) DeepCopyInto(out *Postgres)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Postgres) DeepCopyObject

func (in *Postgres) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Postgres) Descriptor

func (*Postgres) Descriptor() ([]byte, []int)

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 (p Postgres) GoverningServiceName() string

func (*Postgres) Marshal

func (m *Postgres) Marshal() (dAtA []byte, err error)

func (*Postgres) MarshalTo

func (m *Postgres) MarshalTo(dAtA []byte) (int, error)

func (*Postgres) MarshalToSizedBuffer

func (m *Postgres) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (Postgres) OffshootLabels

func (p Postgres) OffshootLabels() map[string]string

func (Postgres) OffshootName

func (p Postgres) OffshootName() string

func (Postgres) OffshootSelectors

func (p Postgres) OffshootSelectors() map[string]string

func (*Postgres) ProtoMessage

func (*Postgres) ProtoMessage()

func (*Postgres) ReplicasAreReady

func (p *Postgres) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*Postgres) Reset

func (m *Postgres) Reset()

func (Postgres) ResourceFQN added in v0.16.0

func (p Postgres) ResourceFQN() string

func (Postgres) ResourceKind

func (p Postgres) ResourceKind() string

func (Postgres) ResourcePlural

func (p Postgres) ResourcePlural() string

func (Postgres) ResourceShortCode

func (p Postgres) ResourceShortCode() string

func (Postgres) ResourceSingular

func (p Postgres) ResourceSingular() string

func (Postgres) ServiceName

func (p Postgres) ServiceName() string

func (*Postgres) SetDefaults

func (p *Postgres) SetDefaults(postgresVersion *catalog.PostgresVersion, topology *core_util.Topology)

func (*Postgres) SetTLSDefaults added in v0.17.0

func (p *Postgres) SetTLSDefaults()

func (*Postgres) Size

func (m *Postgres) Size() (n int)

func (Postgres) StandbyServiceName

func (p Postgres) StandbyServiceName() string

func (Postgres) StatsService

func (p Postgres) StatsService() mona.StatsAccessor

func (Postgres) StatsServiceLabels

func (p Postgres) StatsServiceLabels() map[string]string

func (*Postgres) String

func (this *Postgres) String() string

func (*Postgres) Unmarshal

func (m *Postgres) Unmarshal(dAtA []byte) error

func (*Postgres) XXX_DiscardUnknown

func (m *Postgres) XXX_DiscardUnknown()

func (*Postgres) XXX_Marshal

func (m *Postgres) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Postgres) XXX_Merge

func (m *Postgres) XXX_Merge(src proto.Message)

func (*Postgres) XXX_Size

func (m *Postgres) XXX_Size() int

func (*Postgres) XXX_Unmarshal

func (m *Postgres) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of Postgres CRD objects
	Items []Postgres `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

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.

func (*PostgresList) Descriptor

func (*PostgresList) Descriptor() ([]byte, []int)

func (*PostgresList) Marshal

func (m *PostgresList) Marshal() (dAtA []byte, err error)

func (*PostgresList) MarshalTo

func (m *PostgresList) MarshalTo(dAtA []byte) (int, error)

func (*PostgresList) MarshalToSizedBuffer

func (m *PostgresList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PostgresList) ProtoMessage

func (*PostgresList) ProtoMessage()

func (*PostgresList) Reset

func (m *PostgresList) Reset()

func (*PostgresList) Size

func (m *PostgresList) Size() (n int)

func (*PostgresList) String

func (this *PostgresList) String() string

func (*PostgresList) Unmarshal

func (m *PostgresList) Unmarshal(dAtA []byte) error

func (*PostgresList) XXX_DiscardUnknown

func (m *PostgresList) XXX_DiscardUnknown()

func (*PostgresList) XXX_Marshal

func (m *PostgresList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PostgresList) XXX_Merge

func (m *PostgresList) XXX_Merge(src proto.Message)

func (*PostgresList) XXX_Size

func (m *PostgresList) XXX_Size() int

func (*PostgresList) XXX_Unmarshal

func (m *PostgresList) XXX_Unmarshal(b []byte) error

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 {
	// Version of Postgres to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=version"`

	// Number of instances to deploy for a Postgres database.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`

	// Standby mode
	StandbyMode *PostgresStandbyMode `json:"standbyMode,omitempty" protobuf:"bytes,3,opt,name=standbyMode,casttype=PostgresStandbyMode"`

	// Streaming mode
	StreamingMode *PostgresStreamingMode `json:"streamingMode,omitempty" protobuf:"bytes,4,opt,name=streamingMode,casttype=PostgresStreamingMode"`

	// Leader election configuration
	// +optional
	LeaderElection *PostgreLeaderElectionConfig `json:"leaderElection,omitempty" protobuf:"bytes,5,opt,name=leaderElection"`

	// Database authentication secret
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,6,opt,name=authSecret"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty" protobuf:"bytes,7,opt,name=storageType,casttype=StorageType"`

	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,8,opt,name=storage"`

	// ClientAuthMode for sidecar or sharding. (default will be md5. [md5;scram;cert])
	ClientAuthMode PostgresClientAuthMode `json:"clientAuthMode,omitempty" protobuf:"bytes,9,opt,name=clientAuthMode,casttype=PostgresClientAuthMode"`

	// SSLMode for both standalone and clusters. [disable;allow;prefer;require;verify-ca;verify-full]
	SSLMode PostgresSSLMode `json:"sslMode,omitempty" protobuf:"bytes,10,opt,name=sslMode,casttype=PostgresSSLMode"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty" protobuf:"bytes,11,opt,name=init"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,12,opt,name=monitor"`

	// 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" protobuf:"bytes,13,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,14,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,15,rep,name=serviceTemplates"`

	// TLS contains tls configurations for client and server.
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,16,opt,name=tls"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,17,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,18,opt,name=terminationPolicy,casttype=TerminationPolicy"`
}

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) Descriptor

func (*PostgresSpec) Descriptor() ([]byte, []int)

func (*PostgresSpec) GetPersistentSecrets

func (p *PostgresSpec) GetPersistentSecrets() []string

func (*PostgresSpec) Marshal

func (m *PostgresSpec) Marshal() (dAtA []byte, err error)

func (*PostgresSpec) MarshalTo

func (m *PostgresSpec) MarshalTo(dAtA []byte) (int, error)

func (*PostgresSpec) MarshalToSizedBuffer

func (m *PostgresSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PostgresSpec) ProtoMessage

func (*PostgresSpec) ProtoMessage()

func (*PostgresSpec) Reset

func (m *PostgresSpec) Reset()

func (*PostgresSpec) Size

func (m *PostgresSpec) Size() (n int)

func (*PostgresSpec) String

func (this *PostgresSpec) String() string

func (*PostgresSpec) Unmarshal

func (m *PostgresSpec) Unmarshal(dAtA []byte) error

func (*PostgresSpec) XXX_DiscardUnknown

func (m *PostgresSpec) XXX_DiscardUnknown()

func (*PostgresSpec) XXX_Marshal

func (m *PostgresSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PostgresSpec) XXX_Merge

func (m *PostgresSpec) XXX_Merge(src proto.Message)

func (*PostgresSpec) XXX_Size

func (m *PostgresSpec) XXX_Size() int

func (*PostgresSpec) XXX_Unmarshal

func (m *PostgresSpec) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*PostgresStatus) Descriptor

func (*PostgresStatus) Descriptor() ([]byte, []int)

func (*PostgresStatus) Marshal

func (m *PostgresStatus) Marshal() (dAtA []byte, err error)

func (*PostgresStatus) MarshalTo

func (m *PostgresStatus) MarshalTo(dAtA []byte) (int, error)

func (*PostgresStatus) MarshalToSizedBuffer

func (m *PostgresStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PostgresStatus) ProtoMessage

func (*PostgresStatus) ProtoMessage()

func (*PostgresStatus) Reset

func (m *PostgresStatus) Reset()

func (*PostgresStatus) Size

func (m *PostgresStatus) Size() (n int)

func (*PostgresStatus) String

func (this *PostgresStatus) String() string

func (*PostgresStatus) Unmarshal

func (m *PostgresStatus) Unmarshal(dAtA []byte) error

func (*PostgresStatus) XXX_DiscardUnknown

func (m *PostgresStatus) XXX_DiscardUnknown()

func (*PostgresStatus) XXX_Marshal

func (m *PostgresStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PostgresStatus) XXX_Merge

func (m *PostgresStatus) XXX_Merge(src proto.Message)

func (*PostgresStatus) XXX_Size

func (m *PostgresStatus) XXX_Size() int

func (*PostgresStatus) XXX_Unmarshal

func (m *PostgresStatus) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=metadata"`
	Spec              ProxySQLSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            ProxySQLStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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) CustomResourceDefinition

func (_ ProxySQL) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*ProxySQL) DeepCopy

func (in *ProxySQL) DeepCopy() *ProxySQL

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQL.

func (*ProxySQL) DeepCopyInto

func (in *ProxySQL) DeepCopyInto(out *ProxySQL)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxySQL) DeepCopyObject

func (in *ProxySQL) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ProxySQL) Descriptor

func (*ProxySQL) Descriptor() ([]byte, []int)

func (ProxySQL) GoverningServiceName

func (p ProxySQL) GoverningServiceName() string

func (*ProxySQL) Marshal

func (m *ProxySQL) Marshal() (dAtA []byte, err error)

func (*ProxySQL) MarshalTo

func (m *ProxySQL) MarshalTo(dAtA []byte) (int, error)

func (*ProxySQL) MarshalToSizedBuffer

func (m *ProxySQL) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (ProxySQL) OffshootLabels

func (p ProxySQL) OffshootLabels() map[string]string

func (ProxySQL) OffshootName

func (p ProxySQL) OffshootName() string

func (ProxySQL) OffshootSelectors

func (p ProxySQL) OffshootSelectors() map[string]string

func (*ProxySQL) ProtoMessage

func (*ProxySQL) ProtoMessage()

func (*ProxySQL) ReplicasAreReady

func (p *ProxySQL) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*ProxySQL) Reset

func (m *ProxySQL) Reset()

func (ProxySQL) ResourceFQN added in v0.16.0

func (p ProxySQL) ResourceFQN() string

func (ProxySQL) ResourceKind

func (p ProxySQL) ResourceKind() string

func (ProxySQL) ResourcePlural

func (p ProxySQL) ResourcePlural() string

func (ProxySQL) ResourceShortCode

func (p ProxySQL) ResourceShortCode() string

func (ProxySQL) ResourceSingular

func (p ProxySQL) ResourceSingular() string

func (ProxySQL) ServiceName

func (p ProxySQL) ServiceName() string

func (*ProxySQL) SetDefaults

func (p *ProxySQL) SetDefaults()

func (*ProxySQL) Size

func (m *ProxySQL) Size() (n int)

func (ProxySQL) StatsService

func (p ProxySQL) StatsService() mona.StatsAccessor

func (ProxySQL) StatsServiceLabels

func (p ProxySQL) StatsServiceLabels() map[string]string

func (*ProxySQL) String

func (this *ProxySQL) String() string

func (*ProxySQL) Unmarshal

func (m *ProxySQL) Unmarshal(dAtA []byte) error

func (*ProxySQL) XXX_DiscardUnknown

func (m *ProxySQL) XXX_DiscardUnknown()

func (*ProxySQL) XXX_Marshal

func (m *ProxySQL) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ProxySQL) XXX_Merge

func (m *ProxySQL) XXX_Merge(src proto.Message)

func (*ProxySQL) XXX_Size

func (m *ProxySQL) XXX_Size() int

func (*ProxySQL) XXX_Unmarshal

func (m *ProxySQL) XXX_Unmarshal(b []byte) error

type ProxySQLBackendSpec

type ProxySQLBackendSpec struct {
	// Ref lets one to locate the typed referenced object
	// (in our case, it is the MySQL/Percona-XtraDB/ProxySQL object)
	// inside the same namespace.
	Ref *core.TypedLocalObjectReference `json:"ref,omitempty" protobuf:"bytes,7,opt,name=ref"`

	// Number of backend servers.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,8,opt,name=replicas"`
}

func (*ProxySQLBackendSpec) DeepCopy

func (in *ProxySQLBackendSpec) DeepCopy() *ProxySQLBackendSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLBackendSpec.

func (*ProxySQLBackendSpec) DeepCopyInto

func (in *ProxySQLBackendSpec) DeepCopyInto(out *ProxySQLBackendSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxySQLBackendSpec) Descriptor

func (*ProxySQLBackendSpec) Descriptor() ([]byte, []int)

func (*ProxySQLBackendSpec) Marshal

func (m *ProxySQLBackendSpec) Marshal() (dAtA []byte, err error)

func (*ProxySQLBackendSpec) MarshalTo

func (m *ProxySQLBackendSpec) MarshalTo(dAtA []byte) (int, error)

func (*ProxySQLBackendSpec) MarshalToSizedBuffer

func (m *ProxySQLBackendSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ProxySQLBackendSpec) ProtoMessage

func (*ProxySQLBackendSpec) ProtoMessage()

func (*ProxySQLBackendSpec) Reset

func (m *ProxySQLBackendSpec) Reset()

func (*ProxySQLBackendSpec) Size

func (m *ProxySQLBackendSpec) Size() (n int)

func (*ProxySQLBackendSpec) String

func (this *ProxySQLBackendSpec) String() string

func (*ProxySQLBackendSpec) Unmarshal

func (m *ProxySQLBackendSpec) Unmarshal(dAtA []byte) error

func (*ProxySQLBackendSpec) XXX_DiscardUnknown

func (m *ProxySQLBackendSpec) XXX_DiscardUnknown()

func (*ProxySQLBackendSpec) XXX_Marshal

func (m *ProxySQLBackendSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ProxySQLBackendSpec) XXX_Merge

func (m *ProxySQLBackendSpec) XXX_Merge(src proto.Message)

func (*ProxySQLBackendSpec) XXX_Size

func (m *ProxySQLBackendSpec) XXX_Size() int

func (*ProxySQLBackendSpec) XXX_Unmarshal

func (m *ProxySQLBackendSpec) XXX_Unmarshal(b []byte) error

type ProxySQLCertificateAlias

type ProxySQLCertificateAlias string

+kubebuilder:validation:Enum=server;archiver;metrics-exporter

const (
	ProxySQLServerCert          ProxySQLCertificateAlias = "server"
	ProxySQLArchiverCert        ProxySQLCertificateAlias = "archiver"
	ProxySQLMetricsExporterCert ProxySQLCertificateAlias = "metrics-exporter"
)

type ProxySQLList

type ProxySQLList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of ProxySQL TPR objects
	Items []ProxySQL `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

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.

func (*ProxySQLList) Descriptor

func (*ProxySQLList) Descriptor() ([]byte, []int)

func (*ProxySQLList) Marshal

func (m *ProxySQLList) Marshal() (dAtA []byte, err error)

func (*ProxySQLList) MarshalTo

func (m *ProxySQLList) MarshalTo(dAtA []byte) (int, error)

func (*ProxySQLList) MarshalToSizedBuffer

func (m *ProxySQLList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ProxySQLList) ProtoMessage

func (*ProxySQLList) ProtoMessage()

func (*ProxySQLList) Reset

func (m *ProxySQLList) Reset()

func (*ProxySQLList) Size

func (m *ProxySQLList) Size() (n int)

func (*ProxySQLList) String

func (this *ProxySQLList) String() string

func (*ProxySQLList) Unmarshal

func (m *ProxySQLList) Unmarshal(dAtA []byte) error

func (*ProxySQLList) XXX_DiscardUnknown

func (m *ProxySQLList) XXX_DiscardUnknown()

func (*ProxySQLList) XXX_Marshal

func (m *ProxySQLList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ProxySQLList) XXX_Merge

func (m *ProxySQLList) XXX_Merge(src proto.Message)

func (*ProxySQLList) XXX_Size

func (m *ProxySQLList) XXX_Size() int

func (*ProxySQLList) XXX_Unmarshal

func (m *ProxySQLList) XXX_Unmarshal(b []byte) error

type ProxySQLSpec

type ProxySQLSpec struct {
	// Version of ProxySQL to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=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" protobuf:"varint,2,opt,name=replicas"`

	// Mode specifies the type of MySQL/Percona-XtraDB/MariaDB cluster for which proxysql
	// will be configured. It must be either "Galera" or "GroupReplication"
	Mode *LoadBalanceMode `json:"mode,omitempty" protobuf:"bytes,3,opt,name=mode,casttype=LoadBalanceMode"`

	// Backend specifies the information about backend MySQL/Percona-XtraDB/MariaDB servers
	Backend *ProxySQLBackendSpec `json:"backend,omitempty" protobuf:"bytes,4,opt,name=backend"`

	// ProxySQL secret containing username and password for root user and proxysql user
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,5,opt,name=authSecret"`

	// Monitor is used monitor proxysql instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,6,opt,name=monitor"`

	// 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" protobuf:"bytes,7,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose proxysql
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,8,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,9,rep,name=serviceTemplates"`

	// TLS contains tls configurations for client and server.
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,10,opt,name=tls"`
}

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) Descriptor

func (*ProxySQLSpec) Descriptor() ([]byte, []int)

func (*ProxySQLSpec) GetPersistentSecrets

func (p *ProxySQLSpec) GetPersistentSecrets() []string

func (*ProxySQLSpec) Marshal

func (m *ProxySQLSpec) Marshal() (dAtA []byte, err error)

func (*ProxySQLSpec) MarshalTo

func (m *ProxySQLSpec) MarshalTo(dAtA []byte) (int, error)

func (*ProxySQLSpec) MarshalToSizedBuffer

func (m *ProxySQLSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ProxySQLSpec) ProtoMessage

func (*ProxySQLSpec) ProtoMessage()

func (*ProxySQLSpec) Reset

func (m *ProxySQLSpec) Reset()

func (*ProxySQLSpec) Size

func (m *ProxySQLSpec) Size() (n int)

func (*ProxySQLSpec) String

func (this *ProxySQLSpec) String() string

func (*ProxySQLSpec) Unmarshal

func (m *ProxySQLSpec) Unmarshal(dAtA []byte) error

func (*ProxySQLSpec) XXX_DiscardUnknown

func (m *ProxySQLSpec) XXX_DiscardUnknown()

func (*ProxySQLSpec) XXX_Marshal

func (m *ProxySQLSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ProxySQLSpec) XXX_Merge

func (m *ProxySQLSpec) XXX_Merge(src proto.Message)

func (*ProxySQLSpec) XXX_Size

func (m *ProxySQLSpec) XXX_Size() int

func (*ProxySQLSpec) XXX_Unmarshal

func (m *ProxySQLSpec) XXX_Unmarshal(b []byte) error

type ProxySQLStatus

type ProxySQLStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*ProxySQLStatus) Descriptor

func (*ProxySQLStatus) Descriptor() ([]byte, []int)

func (*ProxySQLStatus) Marshal

func (m *ProxySQLStatus) Marshal() (dAtA []byte, err error)

func (*ProxySQLStatus) MarshalTo

func (m *ProxySQLStatus) MarshalTo(dAtA []byte) (int, error)

func (*ProxySQLStatus) MarshalToSizedBuffer

func (m *ProxySQLStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ProxySQLStatus) ProtoMessage

func (*ProxySQLStatus) ProtoMessage()

func (*ProxySQLStatus) Reset

func (m *ProxySQLStatus) Reset()

func (*ProxySQLStatus) Size

func (m *ProxySQLStatus) Size() (n int)

func (*ProxySQLStatus) String

func (this *ProxySQLStatus) String() string

func (*ProxySQLStatus) Unmarshal

func (m *ProxySQLStatus) Unmarshal(dAtA []byte) error

func (*ProxySQLStatus) XXX_DiscardUnknown

func (m *ProxySQLStatus) XXX_DiscardUnknown()

func (*ProxySQLStatus) XXX_Marshal

func (m *ProxySQLStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ProxySQLStatus) XXX_Merge

func (m *ProxySQLStatus) XXX_Merge(src proto.Message)

func (*ProxySQLStatus) XXX_Size

func (m *ProxySQLStatus) XXX_Size() int

func (*ProxySQLStatus) XXX_Unmarshal

func (m *ProxySQLStatus) XXX_Unmarshal(b []byte) error

type RecoveryTarget

type RecoveryTarget struct {
	// TargetTime specifies the time stamp up to which recovery will proceed.
	TargetTime string `json:"targetTime,omitempty" protobuf:"bytes,1,opt,name=targetTime"`
	// 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" protobuf:"bytes,2,opt,name=targetTimeline"`
	// TargetXID specifies the transaction ID up to which recovery will proceed.
	TargetXID string `json:"targetXID,omitempty" protobuf:"bytes,3,opt,name=targetXID"`
	// TargetInclusive specifies whether to include ongoing transaction in given target point.
	TargetInclusive *bool `json:"targetInclusive,omitempty" protobuf:"varint,4,opt,name=targetInclusive"`
}

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.

func (*RecoveryTarget) Descriptor

func (*RecoveryTarget) Descriptor() ([]byte, []int)

func (*RecoveryTarget) Marshal

func (m *RecoveryTarget) Marshal() (dAtA []byte, err error)

func (*RecoveryTarget) MarshalTo

func (m *RecoveryTarget) MarshalTo(dAtA []byte) (int, error)

func (*RecoveryTarget) MarshalToSizedBuffer

func (m *RecoveryTarget) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RecoveryTarget) ProtoMessage

func (*RecoveryTarget) ProtoMessage()

func (*RecoveryTarget) Reset

func (m *RecoveryTarget) Reset()

func (*RecoveryTarget) Size

func (m *RecoveryTarget) Size() (n int)

func (*RecoveryTarget) String

func (this *RecoveryTarget) String() string

func (*RecoveryTarget) Unmarshal

func (m *RecoveryTarget) Unmarshal(dAtA []byte) error

func (*RecoveryTarget) XXX_DiscardUnknown

func (m *RecoveryTarget) XXX_DiscardUnknown()

func (*RecoveryTarget) XXX_Marshal

func (m *RecoveryTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RecoveryTarget) XXX_Merge

func (m *RecoveryTarget) XXX_Merge(src proto.Message)

func (*RecoveryTarget) XXX_Size

func (m *RecoveryTarget) XXX_Size() int

func (*RecoveryTarget) XXX_Unmarshal

func (m *RecoveryTarget) XXX_Unmarshal(b []byte) error

type Redis

type Redis struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              RedisSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status            RedisStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+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) Address added in v0.16.0

func (r Redis) Address() string

func (Redis) AppBindingMeta

func (r Redis) AppBindingMeta() appcat.AppBindingMeta

func (Redis) BaseNameForShard

func (r Redis) BaseNameForShard() string

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 (r Redis) ConfigSecretName() string

func (Redis) CustomResourceDefinition

func (r Redis) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*Redis) DeepCopy

func (in *Redis) DeepCopy() *Redis

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Redis.

func (*Redis) DeepCopyInto

func (in *Redis) DeepCopyInto(out *Redis)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Redis) DeepCopyObject

func (in *Redis) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Redis) Descriptor

func (*Redis) Descriptor() ([]byte, []int)

func (Redis) GoverningServiceName

func (r Redis) GoverningServiceName() string

func (*Redis) Marshal

func (m *Redis) Marshal() (dAtA []byte, err error)

func (*Redis) MarshalTo

func (m *Redis) MarshalTo(dAtA []byte) (int, error)

func (*Redis) MarshalToSizedBuffer

func (m *Redis) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Redis) MustCertSecretName

func (r *Redis) MustCertSecretName(alias RedisCertificateAlias) string

MustCertSecretName returns the secret name for a certificate alias

func (Redis) OffshootLabels

func (r Redis) OffshootLabels() map[string]string

func (Redis) OffshootName

func (r Redis) OffshootName() string

func (Redis) OffshootSelectors

func (r Redis) OffshootSelectors() map[string]string

func (*Redis) ProtoMessage

func (*Redis) ProtoMessage()

func (*Redis) ReplicasAreReady

func (r *Redis) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error)

func (*Redis) Reset

func (m *Redis) Reset()

func (Redis) ResourceFQN added in v0.16.0

func (r Redis) ResourceFQN() string

func (Redis) ResourceKind

func (r Redis) ResourceKind() string

func (Redis) ResourcePlural

func (r Redis) ResourcePlural() string

func (Redis) ResourceShortCode

func (r Redis) ResourceShortCode() string

func (Redis) ResourceSingular

func (r Redis) ResourceSingular() string

func (Redis) ServiceName

func (r Redis) ServiceName() string

func (*Redis) SetDefaults

func (r *Redis) SetDefaults(topology *core_util.Topology)

func (*Redis) SetTLSDefaults

func (r *Redis) SetTLSDefaults()

func (Redis) ShardNodeTemplate

func (r Redis) ShardNodeTemplate() string

func (*Redis) Size

func (m *Redis) Size() (n int)

func (Redis) StatefulSetNameWithShard

func (r Redis) StatefulSetNameWithShard(i int) string

func (Redis) StatsService

func (r Redis) StatsService() mona.StatsAccessor

func (Redis) StatsServiceLabels

func (r Redis) StatsServiceLabels() map[string]string

func (*Redis) String

func (this *Redis) String() string

func (*Redis) Unmarshal

func (m *Redis) Unmarshal(dAtA []byte) error

func (*Redis) XXX_DiscardUnknown

func (m *Redis) XXX_DiscardUnknown()

func (*Redis) XXX_Marshal

func (m *Redis) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Redis) XXX_Merge

func (m *Redis) XXX_Merge(src proto.Message)

func (*Redis) XXX_Size

func (m *Redis) XXX_Size() int

func (*Redis) XXX_Unmarshal

func (m *Redis) XXX_Unmarshal(b []byte) error

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" protobuf:"varint,1,opt,name=master"`

	// Number of replica(s) per master node. If not specified, defaults to 1.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`
}

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.

func (*RedisClusterSpec) Descriptor

func (*RedisClusterSpec) Descriptor() ([]byte, []int)

func (*RedisClusterSpec) Marshal

func (m *RedisClusterSpec) Marshal() (dAtA []byte, err error)

func (*RedisClusterSpec) MarshalTo

func (m *RedisClusterSpec) MarshalTo(dAtA []byte) (int, error)

func (*RedisClusterSpec) MarshalToSizedBuffer

func (m *RedisClusterSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RedisClusterSpec) ProtoMessage

func (*RedisClusterSpec) ProtoMessage()

func (*RedisClusterSpec) Reset

func (m *RedisClusterSpec) Reset()

func (*RedisClusterSpec) Size

func (m *RedisClusterSpec) Size() (n int)

func (*RedisClusterSpec) String

func (this *RedisClusterSpec) String() string

func (*RedisClusterSpec) Unmarshal

func (m *RedisClusterSpec) Unmarshal(dAtA []byte) error

func (*RedisClusterSpec) XXX_DiscardUnknown

func (m *RedisClusterSpec) XXX_DiscardUnknown()

func (*RedisClusterSpec) XXX_Marshal

func (m *RedisClusterSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RedisClusterSpec) XXX_Merge

func (m *RedisClusterSpec) XXX_Merge(src proto.Message)

func (*RedisClusterSpec) XXX_Size

func (m *RedisClusterSpec) XXX_Size() int

func (*RedisClusterSpec) XXX_Unmarshal

func (m *RedisClusterSpec) XXX_Unmarshal(b []byte) error

type RedisList

type RedisList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	// Items is a list of Redis TPR objects
	Items []Redis `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
}

func (*RedisList) DeepCopy

func (in *RedisList) DeepCopy() *RedisList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisList.

func (*RedisList) DeepCopyInto

func (in *RedisList) DeepCopyInto(out *RedisList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisList) DeepCopyObject

func (in *RedisList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RedisList) Descriptor

func (*RedisList) Descriptor() ([]byte, []int)

func (*RedisList) Marshal

func (m *RedisList) Marshal() (dAtA []byte, err error)

func (*RedisList) MarshalTo

func (m *RedisList) MarshalTo(dAtA []byte) (int, error)

func (*RedisList) MarshalToSizedBuffer

func (m *RedisList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RedisList) ProtoMessage

func (*RedisList) ProtoMessage()

func (*RedisList) Reset

func (m *RedisList) Reset()

func (*RedisList) Size

func (m *RedisList) Size() (n int)

func (*RedisList) String

func (this *RedisList) String() string

func (*RedisList) Unmarshal

func (m *RedisList) Unmarshal(dAtA []byte) error

func (*RedisList) XXX_DiscardUnknown

func (m *RedisList) XXX_DiscardUnknown()

func (*RedisList) XXX_Marshal

func (m *RedisList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RedisList) XXX_Merge

func (m *RedisList) XXX_Merge(src proto.Message)

func (*RedisList) XXX_Size

func (m *RedisList) XXX_Size() int

func (*RedisList) XXX_Unmarshal

func (m *RedisList) XXX_Unmarshal(b []byte) error

type RedisMode

type RedisMode string

+kubebuilder:validation:Enum=Standalone;Cluster

const (
	RedisModeStandalone RedisMode = "Standalone"
	RedisModeCluster    RedisMode = "Cluster"
)

type RedisSpec

type RedisSpec struct {
	// Version of Redis to be deployed.
	Version string `json:"version" protobuf:"bytes,1,opt,name=version"`

	// Number of instances to deploy for a Redis database.
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`

	// Default is "Standalone". If set to "Cluster", ClusterSpec is required and redis servers will
	// start in cluster mode
	Mode RedisMode `json:"mode,omitempty" protobuf:"bytes,3,opt,name=mode,casttype=RedisMode"`

	// Redis cluster configuration for running redis servers in cluster mode. Required if Mode is set to "Cluster"
	Cluster *RedisClusterSpec `json:"cluster,omitempty" protobuf:"bytes,4,opt,name=cluster"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty" protobuf:"bytes,5,opt,name=storageType,casttype=StorageType"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty" protobuf:"bytes,6,opt,name=storage"`

	// Database authentication secret
	AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty" protobuf:"bytes,7,opt,name=authSecret"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty" protobuf:"bytes,8,opt,name=init"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty" protobuf:"bytes,9,opt,name=monitor"`

	// 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" protobuf:"bytes,10,opt,name=configSecret"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,11,opt,name=podTemplate"`

	// ServiceTemplates is an optional configuration for services used to expose database
	// +optional
	ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty" protobuf:"bytes,12,rep,name=serviceTemplates"`

	// TLS contains tls configurations for client and server.
	// +optional
	TLS *kmapi.TLSConfig `json:"tls,omitempty" protobuf:"bytes,13,opt,name=tls"`

	// Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted.
	// +optional
	Halted bool `json:"halted,omitempty" protobuf:"varint,14,opt,name=halted"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty" protobuf:"bytes,15,opt,name=terminationPolicy,casttype=TerminationPolicy"`
}

func (*RedisSpec) DeepCopy

func (in *RedisSpec) DeepCopy() *RedisSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSpec.

func (*RedisSpec) DeepCopyInto

func (in *RedisSpec) DeepCopyInto(out *RedisSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisSpec) Descriptor

func (*RedisSpec) Descriptor() ([]byte, []int)

func (*RedisSpec) GetPersistentSecrets

func (r *RedisSpec) GetPersistentSecrets() []string

func (*RedisSpec) Marshal

func (m *RedisSpec) Marshal() (dAtA []byte, err error)

func (*RedisSpec) MarshalTo

func (m *RedisSpec) MarshalTo(dAtA []byte) (int, error)

func (*RedisSpec) MarshalToSizedBuffer

func (m *RedisSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RedisSpec) ProtoMessage

func (*RedisSpec) ProtoMessage()

func (*RedisSpec) Reset

func (m *RedisSpec) Reset()

func (*RedisSpec) Size

func (m *RedisSpec) Size() (n int)

func (*RedisSpec) String

func (this *RedisSpec) String() string

func (*RedisSpec) Unmarshal

func (m *RedisSpec) Unmarshal(dAtA []byte) error

func (*RedisSpec) XXX_DiscardUnknown

func (m *RedisSpec) XXX_DiscardUnknown()

func (*RedisSpec) XXX_Marshal

func (m *RedisSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RedisSpec) XXX_Merge

func (m *RedisSpec) XXX_Merge(src proto.Message)

func (*RedisSpec) XXX_Size

func (m *RedisSpec) XXX_Size() int

func (*RedisSpec) XXX_Unmarshal

func (m *RedisSpec) XXX_Unmarshal(b []byte) error

type RedisStatus

type RedisStatus struct {
	// Specifies the current phase of the database
	// +optional
	Phase DatabasePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=DatabasePhase"`
	// 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" protobuf:"varint,2,opt,name=observedGeneration"`
	// Conditions applied to the database, such as approval or denial.
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"`
}

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.

func (*RedisStatus) Descriptor

func (*RedisStatus) Descriptor() ([]byte, []int)

func (*RedisStatus) Marshal

func (m *RedisStatus) Marshal() (dAtA []byte, err error)

func (*RedisStatus) MarshalTo

func (m *RedisStatus) MarshalTo(dAtA []byte) (int, error)

func (*RedisStatus) MarshalToSizedBuffer

func (m *RedisStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RedisStatus) ProtoMessage

func (*RedisStatus) ProtoMessage()

func (*RedisStatus) Reset

func (m *RedisStatus) Reset()

func (*RedisStatus) Size

func (m *RedisStatus) Size() (n int)

func (*RedisStatus) String

func (this *RedisStatus) String() string

func (*RedisStatus) Unmarshal

func (m *RedisStatus) Unmarshal(dAtA []byte) error

func (*RedisStatus) XXX_DiscardUnknown

func (m *RedisStatus) XXX_DiscardUnknown()

func (*RedisStatus) XXX_Marshal

func (m *RedisStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RedisStatus) XXX_Merge

func (m *RedisStatus) XXX_Merge(src proto.Message)

func (*RedisStatus) XXX_Size

func (m *RedisStatus) XXX_Size() int

func (*RedisStatus) XXX_Unmarshal

func (m *RedisStatus) XXX_Unmarshal(b []byte) error

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" protobuf:"bytes,1,opt,name=scriptPath"`
	core.VolumeSource `json:",inline,omitempty" protobuf:"bytes,2,opt,name=volumeSource"`
}

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.

func (*ScriptSourceSpec) Descriptor

func (*ScriptSourceSpec) Descriptor() ([]byte, []int)

func (*ScriptSourceSpec) Marshal

func (m *ScriptSourceSpec) Marshal() (dAtA []byte, err error)

func (*ScriptSourceSpec) MarshalTo

func (m *ScriptSourceSpec) MarshalTo(dAtA []byte) (int, error)

func (*ScriptSourceSpec) MarshalToSizedBuffer

func (m *ScriptSourceSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ScriptSourceSpec) ProtoMessage

func (*ScriptSourceSpec) ProtoMessage()

func (*ScriptSourceSpec) Reset

func (m *ScriptSourceSpec) Reset()

func (*ScriptSourceSpec) Size

func (m *ScriptSourceSpec) Size() (n int)

func (*ScriptSourceSpec) String

func (this *ScriptSourceSpec) String() string

func (*ScriptSourceSpec) Unmarshal

func (m *ScriptSourceSpec) Unmarshal(dAtA []byte) error

func (*ScriptSourceSpec) XXX_DiscardUnknown

func (m *ScriptSourceSpec) XXX_DiscardUnknown()

func (*ScriptSourceSpec) XXX_Marshal

func (m *ScriptSourceSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ScriptSourceSpec) XXX_Merge

func (m *ScriptSourceSpec) XXX_Merge(src proto.Message)

func (*ScriptSourceSpec) XXX_Size

func (m *ScriptSourceSpec) XXX_Size() int

func (*ScriptSourceSpec) XXX_Unmarshal

func (m *ScriptSourceSpec) XXX_Unmarshal(b []byte) error

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 TLSPolicy

type TLSPolicy struct {
	Member         *MemberSecret `json:"member,omitempty" protobuf:"bytes,1,opt,name=member"`
	OperatorSecret string        `json:"operatorSecret,omitempty" protobuf:"bytes,2,opt,name=operatorSecret"`
}

func (*TLSPolicy) DeepCopy

func (in *TLSPolicy) DeepCopy() *TLSPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSPolicy.

func (*TLSPolicy) DeepCopyInto

func (in *TLSPolicy) DeepCopyInto(out *TLSPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSPolicy) Descriptor

func (*TLSPolicy) Descriptor() ([]byte, []int)

func (*TLSPolicy) Marshal

func (m *TLSPolicy) Marshal() (dAtA []byte, err error)

func (*TLSPolicy) MarshalTo

func (m *TLSPolicy) MarshalTo(dAtA []byte) (int, error)

func (*TLSPolicy) MarshalToSizedBuffer

func (m *TLSPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TLSPolicy) ProtoMessage

func (*TLSPolicy) ProtoMessage()

func (*TLSPolicy) Reset

func (m *TLSPolicy) Reset()

func (*TLSPolicy) Size

func (m *TLSPolicy) Size() (n int)

func (*TLSPolicy) String

func (this *TLSPolicy) String() string

func (*TLSPolicy) Unmarshal

func (m *TLSPolicy) Unmarshal(dAtA []byte) error

func (*TLSPolicy) XXX_DiscardUnknown

func (m *TLSPolicy) XXX_DiscardUnknown()

func (*TLSPolicy) XXX_Marshal

func (m *TLSPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TLSPolicy) XXX_Merge

func (m *TLSPolicy) XXX_Merge(src proto.Message)

func (*TLSPolicy) XXX_Size

func (m *TLSPolicy) XXX_Size() int

func (*TLSPolicy) XXX_Unmarshal

func (m *TLSPolicy) XXX_Unmarshal(b []byte) error

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"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL