v1alpha1

package
v0.0.0-...-d10261a Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2019 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

+groupName=kubedb.com

Index

Constants

View Source
const (
	DatabaseNamePrefix = "kubedb"

	GenericKey = "kubedb.com"

	LabelDatabaseKind = GenericKey + "/kind"
	LabelDatabaseName = GenericKey + "/name"
	LabelRole         = GenericKey + "/role"

	PostgresKey         = ResourceSingularPostgres + "." + GenericKey
	ElasticsearchKey    = ResourceSingularElasticsearch + "." + GenericKey
	MySQLKey            = ResourceSingularMySQL + "." + GenericKey
	MongoDBKey          = ResourceSingularMongoDB + "." + GenericKey
	RedisKey            = ResourceSingularRedis + "." + GenericKey
	MemcachedKey        = ResourceSingularMemcached + "." + GenericKey
	EtcdKey             = ResourceSingularEtcd + "." + GenericKey
	SnapshotKey         = ResourceSingularSnapshot + "." + GenericKey
	LabelSnapshotStatus = SnapshotKey + "/status"

	AnnotationInitialized = GenericKey + "/initialized"
	AnnotationJobType     = GenericKey + "/job-type"

	PrometheusExporterPortNumber = 56790
	PrometheusExporterPortName   = "prom-http"

	JobTypeBackup  = "backup"
	JobTypeRestore = "restore"

	ElasticsearchRestPort     = 9200
	ElasticsearchRestPortName = "http"
	ElasticsearchNodePort     = 9300
	ElasticsearchNodePortName = "transport"

	MongoDBShardPort    = 27017
	MongoDBConfigdbPort = 27017
	MongoDBMongosPort   = 27017

	MySQLNodePort        = 3306
	MySQLGroupComPort    = 33060
	MySQLMaxGroupMembers = 9
	// The recommended MySQL server version for group replication (GR)
	MySQLGRRecommendedVersion = "5.7.25"
	MySQLDefaultGroupSize     = 3
	MySQLDefaultBaseServerID  = uint(1)
	// The server id for each group member must be unique and in the range [1, 2^32 - 1]
	// And the maximum group size is 9. So MySQLMaxBaseServerID is the maximum safe value
	// for BaseServerID calculated as max MySQL server_id value - max Replication Group size.
	MySQLMaxBaseServerID = uint(4294967295 - 9)

	RedisShardKey   = RedisKey + "/shard"
	RedisNodePort   = 6379
	RedisGossipPort = 16379
)
View Source
const (
	ResourceCodeDormantDatabase     = "drmn"
	ResourceKindDormantDatabase     = "DormantDatabase"
	ResourceSingularDormantDatabase = "dormantdatabase"
	ResourcePluralDormantDatabase   = "dormantdatabases"
)
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 (
	MongoDBShardLabelKey  = "mongodb.kubedb.com/node.shard"
	MongoDBConfigLabelKey = "mongodb.kubedb.com/node.config"
	MongoDBMongosLabelKey = "mongodb.kubedb.com/node.mongos"
)
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 (
	ResourceCodePercona     = "pc"
	ResourceKindPercona     = "Percona"
	ResourceSingularPercona = "percona"
	ResourcePluralPercona   = "perconas"
)
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 (
	ResourceCodeRedis     = "rd"
	ResourceKindRedis     = "Redis"
	ResourceSingularRedis = "redis"
	ResourcePluralRedis   = "redises"
)
View Source
const (
	ResourceCodeSnapshot     = "snap"
	ResourceKindSnapshot     = "Snapshot"
	ResourceSingularSnapshot = "snapshot"
	ResourcePluralSnapshot   = "snapshots"
)

Variables

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 SchemeGroupVersion = schema.GroupVersion{Group: kubedb.GroupName, Version: "v1alpha1"}

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type BackupScheduleSpec

type BackupScheduleSpec struct {
	CronExpression string `json:"cronExpression,omitempty"`

	// Snapshot Spec
	store.Backend `json:",inline"`

	// StorageType can be durable or ephemeral.
	// If not given, database storage type will be used.
	// +optional
	StorageType *StorageType `json:"storageType,omitempty"`

	// PodTemplate is an optional configuration for pods used to take database snapshots
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// PodVolumeClaimSpec is used to specify temporary storage for backup/restore Job.
	// If not given, database's PvcSpec will be used.
	// If storageType is durable, then a PVC will be created using this PVCSpec.
	// If storageType is ephemeral, then an empty directory will be created of size PvcSpec.Resources.Requests[core.ResourceStorage].
	// +optional
	PodVolumeClaimSpec *core.PersistentVolumeClaimSpec `json:"podVolumeClaimSpec,omitempty"`
}

func (*BackupScheduleSpec) DeepCopy

func (in *BackupScheduleSpec) DeepCopy() *BackupScheduleSpec

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

func (*BackupScheduleSpec) DeepCopyInto

func (in *BackupScheduleSpec) DeepCopyInto(out *BackupScheduleSpec)

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

func (*BackupScheduleSpec) SetDefaults

func (e *BackupScheduleSpec) SetDefaults()

type ConnectionPoolConfig

type ConnectionPoolConfig struct {
	ListenPort    *int32   `json:"listenPort"`
	ListenAddress string   `json:"listenAddress,omitempty"`
	PoolMode      string   `json:"poolMode,omitempty"`
	AdminUsers    []string `json:"adminUsers,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

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.

type DatabasePhase

type DatabasePhase string
const (
	// used for Databases that are currently running
	DatabasePhaseRunning DatabasePhase = "Running"
	// used for Databases that are currently creating
	DatabasePhaseCreating DatabasePhase = "Creating"
	// used for Databases that are currently initializing
	DatabasePhaseInitializing DatabasePhase = "Initializing"
	// used for Databases that are Failed
	DatabasePhaseFailed DatabasePhase = "Failed"
)

type Databases

type Databases struct {
	Alias             string `json:"dbAlias"`                     //alias to identify target database
	DbName            string `json:"dbName"`                      //Name of the target database
	PgObjectName      string `json:"pgObjectName"`                //PgBouncer object where the target database is located
	PgObjectNamespace string `json:"pgObjectNamespace,omitempty"` //Namespace of PgBouncer object
	SecretName        string `json:"secretName,omitempty"`        //To bind a single user to a specific connection , Optional
}

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.

type DormantDatabase

type DormantDatabase struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DormantDatabaseSpec   `json:"spec,omitempty"`
	Status            DormantDatabaseStatus `json:"status,omitempty"`
}

func (DormantDatabase) CustomResourceDefinition

func (d DormantDatabase) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*DormantDatabase) DeepCopy

func (in *DormantDatabase) DeepCopy() *DormantDatabase

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

func (*DormantDatabase) DeepCopyInto

func (in *DormantDatabase) DeepCopyInto(out *DormantDatabase)

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

func (*DormantDatabase) DeepCopyObject

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

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

func (*DormantDatabase) GetDatabaseSecrets

func (d *DormantDatabase) GetDatabaseSecrets() []string

func (DormantDatabase) OffshootLabels

func (d DormantDatabase) OffshootLabels() map[string]string

func (DormantDatabase) OffshootName

func (d DormantDatabase) OffshootName() string

func (DormantDatabase) OffshootSelectors

func (d DormantDatabase) OffshootSelectors() map[string]string

func (DormantDatabase) ResourceKind

func (d DormantDatabase) ResourceKind() string

func (DormantDatabase) ResourcePlural

func (d DormantDatabase) ResourcePlural() string

func (DormantDatabase) ResourceShortCode

func (d DormantDatabase) ResourceShortCode() string

func (DormantDatabase) ResourceSingular

func (d DormantDatabase) ResourceSingular() string

func (*DormantDatabase) SetDefaults

func (d *DormantDatabase) SetDefaults()

type DormantDatabaseList

type DormantDatabaseList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of DormantDatabase CRD objects
	Items []DormantDatabase `json:"items,omitempty"`
}

func (*DormantDatabaseList) DeepCopy

func (in *DormantDatabaseList) DeepCopy() *DormantDatabaseList

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

func (*DormantDatabaseList) DeepCopyInto

func (in *DormantDatabaseList) DeepCopyInto(out *DormantDatabaseList)

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

func (*DormantDatabaseList) DeepCopyObject

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

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

type DormantDatabasePhase

type DormantDatabasePhase string
const (
	// used for Databases that are paused
	DormantDatabasePhasePaused DormantDatabasePhase = "Paused"
	// used for Databases that are currently pausing
	DormantDatabasePhasePausing DormantDatabasePhase = "Pausing"
	// used for Databases that are wiped out
	DormantDatabasePhaseWipedOut DormantDatabasePhase = "WipedOut"
	// used for Databases that are currently wiping out
	DormantDatabasePhaseWipingOut DormantDatabasePhase = "WipingOut"
	// used for Databases that are currently recovering
	DormantDatabasePhaseResuming DormantDatabasePhase = "Resuming"
)

type DormantDatabaseSpec

type DormantDatabaseSpec struct {
	// If true, invoke wipe out operation
	// +optional
	WipeOut bool `json:"wipeOut,omitempty"`
	// Origin to store original database information
	Origin Origin `json:"origin"`
}

func (*DormantDatabaseSpec) DeepCopy

func (in *DormantDatabaseSpec) DeepCopy() *DormantDatabaseSpec

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

func (*DormantDatabaseSpec) DeepCopyInto

func (in *DormantDatabaseSpec) DeepCopyInto(out *DormantDatabaseSpec)

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

type DormantDatabaseStatus

type DormantDatabaseStatus struct {
	PausingTime *metav1.Time         `json:"pausingTime,omitempty"`
	WipeOutTime *metav1.Time         `json:"wipeOutTime,omitempty"`
	Phase       DormantDatabasePhase `json:"phase,omitempty"`
	Reason      string               `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*DormantDatabaseStatus) DeepCopy

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

func (*DormantDatabaseStatus) DeepCopyInto

func (in *DormantDatabaseStatus) DeepCopyInto(out *DormantDatabaseStatus)

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

type Elasticsearch

type Elasticsearch struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ElasticsearchSpec   `json:"spec,omitempty"`
	Status            ElasticsearchStatus `json:"status,omitempty"`
}

Elasticsearch defines a Elasticsearch database.

func (Elasticsearch) AppBindingMeta

func (r Elasticsearch) AppBindingMeta() appcat.AppBindingMeta

func (Elasticsearch) CustomResourceDefinition

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

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

func (e *Elasticsearch) GetConnectionScheme() string

func (*Elasticsearch) GetConnectionURL

func (e *Elasticsearch) GetConnectionURL() string

func (*Elasticsearch) GetMonitoringVendor

func (e *Elasticsearch) GetMonitoringVendor() string

func (*Elasticsearch) MasterServiceName

func (e *Elasticsearch) MasterServiceName() 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) 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()

func (Elasticsearch) SnapshotSAName

func (e Elasticsearch) SnapshotSAName() string

Snapshot service account name.

func (Elasticsearch) StatsService

func (e Elasticsearch) StatsService() mona.StatsAccessor

func (Elasticsearch) StatsServiceLabels

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

type ElasticsearchAuthPlugin

type ElasticsearchAuthPlugin string
const (
	ElasticsearchAuthPluginSearchGuard ElasticsearchAuthPlugin = "SearchGuard" // Default
	ElasticsearchAuthPluginNone        ElasticsearchAuthPlugin = "None"
	ElasticsearchAuthPluginXpack       ElasticsearchAuthPlugin = "X-Pack"
)

type ElasticsearchClusterTopology

type ElasticsearchClusterTopology struct {
	Master ElasticsearchNode `json:"master"`
	Data   ElasticsearchNode `json:"data"`
	Client ElasticsearchNode `json:"client"`
}

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.

type ElasticsearchList

type ElasticsearchList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Elasticsearch CRD objects
	Items []Elasticsearch `json:"items,omitempty"`
}

func (*ElasticsearchList) DeepCopy

func (in *ElasticsearchList) DeepCopy() *ElasticsearchList

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

func (*ElasticsearchList) DeepCopyInto

func (in *ElasticsearchList) DeepCopyInto(out *ElasticsearchList)

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

func (*ElasticsearchList) DeepCopyObject

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

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

type ElasticsearchNode

type ElasticsearchNode struct {
	// Replicas represents number of replica for this specific type of node
	Replicas *int32 `json:"replicas,omitempty"`
	Prefix   string `json:"prefix,omitempty"`
	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`
	// Compute Resources required by the sidecar container.
	Resources core.ResourceRequirements `json:"resources,omitempty"`
	// 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"`
}

func (*ElasticsearchNode) DeepCopy

func (in *ElasticsearchNode) DeepCopy() *ElasticsearchNode

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

func (*ElasticsearchNode) DeepCopyInto

func (in *ElasticsearchNode) DeepCopyInto(out *ElasticsearchNode)

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

type ElasticsearchSpec

type ElasticsearchSpec struct {
	// Version of Elasticsearch to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for a Elasticsearch database.
	Replicas *int32 `json:"replicas,omitempty"`

	// Elasticsearch topology for node specification
	Topology *ElasticsearchClusterTopology `json:"topology,omitempty"`

	// To enable ssl in transport & http layer
	EnableSSL bool `json:"enableSSL,omitempty"`

	// Secret with SSL certificates
	CertificateSecret *core.SecretVolumeSource `json:"certificateSecret,omitempty"`

	// Authentication plugin used by Elasticsearch cluster. If unset, defaults to SearchGuard.
	AuthPlugin ElasticsearchAuthPlugin `json:"authPlugin,omitempty"`

	// Database authentication secret
	DatabaseSecret *core.SecretVolumeSource `json:"databaseSecret,omitempty"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty"`

	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty"`

	// BackupSchedule spec to specify how database backup will be taken
	// +optional
	BackupSchedule *BackupScheduleSpec `json:"backupSchedule,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// 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"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

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

func (e *ElasticsearchSpec) GetSecrets() []string

func (*ElasticsearchSpec) SetDefaults

func (e *ElasticsearchSpec) SetDefaults()

type ElasticsearchStatus

type ElasticsearchStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*ElasticsearchStatus) DeepCopy

func (in *ElasticsearchStatus) DeepCopy() *ElasticsearchStatus

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

func (*ElasticsearchStatus) DeepCopyInto

func (in *ElasticsearchStatus) DeepCopyInto(out *ElasticsearchStatus)

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

type ElasticsearchSummary

type ElasticsearchSummary struct {
	IdCount map[string]int64 `json:"idCount"`
	Mapping interface{}      `json:"mapping"`
	Setting interface{}      `json:"setting"`
}

+k8s:deepcopy-gen=false +k8s:gen-deepcopy=false Following structure is used for audit summary report

type Etcd

type Etcd struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              EtcdSpec   `json:"spec,omitempty"`
	Status            EtcdStatus `json:"status,omitempty"`
}

Etcd defines a Etcd database.

func (Etcd) AppBindingMeta

func (r Etcd) AppBindingMeta() appcat.AppBindingMeta

func (Etcd) ClientServiceName

func (e Etcd) ClientServiceName() string

func (Etcd) CustomResourceDefinition

func (e 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) GetMonitoringVendor

func (e *Etcd) GetMonitoringVendor() string

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

func (e Etcd) SnapshotSAName() string

Snapshot service account name.

func (Etcd) StatsService

func (e Etcd) StatsService() mona.StatsAccessor

func (Etcd) StatsServiceLabels

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

type EtcdList

type EtcdList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Etcd TPR objects
	Items []Etcd `json:"items,omitempty"`
}

func (*EtcdList) DeepCopy

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.

type EtcdSpec

type EtcdSpec struct {
	// Version of Etcd to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for a Etcd database.
	Replicas *int32 `json:"replicas,omitempty"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`

	// Database authentication secret
	DatabaseSecret *core.SecretVolumeSource `json:"databaseSecret,omitempty"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty"`

	// BackupSchedule spec to specify how database backup will be taken
	// +optional
	BackupSchedule *BackupScheduleSpec `json:"backupSchedule,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// etcd cluster TLS configuration
	TLS *TLSPolicy `json:"tls,omitempty"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

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

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

func (*EtcdSpec) SetDefaults

func (e *EtcdSpec) SetDefaults()

type EtcdStatus

type EtcdStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*EtcdStatus) DeepCopy

func (in *EtcdStatus) DeepCopy() *EtcdStatus

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

func (*EtcdStatus) DeepCopyInto

func (in *EtcdStatus) DeepCopyInto(out *EtcdStatus)

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

type InitSpec

type InitSpec struct {
	ScriptSource *ScriptSourceSpec `json:"scriptSource,omitempty"`
	// Deprecated
	SnapshotSource *SnapshotSourceSpec    `json:"snapshotSource,omitempty"`
	PostgresWAL    *PostgresWALSourceSpec `json:"postgresWAL,omitempty"`
	// Name of stash restoreSession in same namespace of kubedb object.
	// ref: https://github.com/stashed/stash/blob/09af5d319bb5be889186965afb04045781d6f926/apis/stash/v1beta1/restore_session_types.go#L22
	StashRestoreSession *core.LocalObjectReference `json:"stashRestoreSession,omitempty"`
}

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.

type LeaderElectionConfig

type LeaderElectionConfig 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
	LeaseDurationSeconds int32 `json:"leaseDurationSeconds"`
	// RenewDeadline is the duration in second that the acting master will retry
	// refreshing leadership before giving up. Normally, LeaseDuration * 2 / 3.
	// Default 10
	RenewDeadlineSeconds int32 `json:"renewDeadlineSeconds"`
	// RetryPeriod is the duration in second the LeaderElector clients should wait
	// between tries of actions. Normally, LeaseDuration / 3.
	// Default 2
	RetryPeriodSeconds int32 `json:"retryPeriodSeconds"`
}

LeaderElectionConfig contains essential attributes of leader election. ref: https://github.com/kubernetes/client-go/blob/6134db91200ea474868bc6775e62cc294a74c6c6/tools/leaderelection/leaderelection.go#L105-L114

func (*LeaderElectionConfig) DeepCopy

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

func (*LeaderElectionConfig) DeepCopyInto

func (in *LeaderElectionConfig) DeepCopyInto(out *LeaderElectionConfig)

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

type MariaDB

type MariaDB struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MariaDBSpec   `json:"spec,omitempty"`
	Status            MariaDBStatus `json:"status,omitempty"`
}

MariaDB defines a MariaDB database.

func (MariaDB) AppBindingMeta

func (m MariaDB) AppBindingMeta() appcat.AppBindingMeta

func (MariaDB) CustomResourceDefinition

func (m 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) GetMonitoringVendor

func (m *MariaDB) GetMonitoringVendor() string

func (MariaDB) GoverningServiceName

func (m MariaDB) GoverningServiceName() string

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

func (MariaDB) StatsService

func (m MariaDB) StatsService() mona.StatsAccessor

func (MariaDB) StatsServiceLabels

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

type MariaDBList

type MariaDBList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of MariaDB TPR objects
	Items []MariaDB `json:"items,omitempty"`
}

func (*MariaDBList) DeepCopy

func (in *MariaDBList) DeepCopy() *MariaDBList

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

func (*MariaDBList) DeepCopyInto

func (in *MariaDBList) DeepCopyInto(out *MariaDBList)

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

func (*MariaDBList) DeepCopyObject

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

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

type MariaDBSpec

type MariaDBSpec struct {
	// Version of MariaDB to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for a MariaDB database.
	Replicas *int32 `json:"replicas,omitempty"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`

	// Database authentication secret
	DatabaseSecret *core.SecretVolumeSource `json:"databaseSecret,omitempty"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

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

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

func (*MariaDBSpec) SetDefaults

func (m *MariaDBSpec) SetDefaults()

type MariaDBStatus

type MariaDBStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*MariaDBStatus) DeepCopy

func (in *MariaDBStatus) DeepCopy() *MariaDBStatus

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

func (*MariaDBStatus) DeepCopyInto

func (in *MariaDBStatus) DeepCopyInto(out *MariaDBStatus)

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

type MemberSecret

type MemberSecret struct {
	// PeerSecret is the secret containing TLS certs used by each etcd member pod
	// for the communication between etcd peers.
	PeerSecret string `json:"peerSecret,omitempty"`
	// ServerSecret is the secret containing TLS certs used by each etcd member pod
	// for the communication between etcd server and its clients.
	ServerSecret string `json:"serverSecret,omitempty"`
}

func (*MemberSecret) DeepCopy

func (in *MemberSecret) DeepCopy() *MemberSecret

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

func (*MemberSecret) DeepCopyInto

func (in *MemberSecret) DeepCopyInto(out *MemberSecret)

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

type Memcached

type Memcached struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MemcachedSpec   `json:"spec,omitempty"`
	Status            MemcachedStatus `json:"status,omitempty"`
}

Memcached defines a Memcached database.

func (Memcached) AppBindingMeta

func (m Memcached) AppBindingMeta() appcat.AppBindingMeta

func (Memcached) CustomResourceDefinition

func (m 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) GetMonitoringVendor

func (m *Memcached) GetMonitoringVendor() string

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

func (m Memcached) StatsService() mona.StatsAccessor

func (Memcached) StatsServiceLabels

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

type MemcachedList

type MemcachedList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Memcached TPR objects
	Items []Memcached `json:"items,omitempty"`
}

func (*MemcachedList) DeepCopy

func (in *MemcachedList) DeepCopy() *MemcachedList

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

func (*MemcachedList) DeepCopyInto

func (in *MemcachedList) DeepCopyInto(out *MemcachedList)

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

func (*MemcachedList) DeepCopyObject

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

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

type MemcachedSpec

type MemcachedSpec struct {
	// Version of Memcached to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for a Memcached database.
	Replicas *int32 `json:"replicas,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// The deployment strategy to use to replace existing pods with new ones.
	// +optional
	UpdateStrategy apps.DeploymentStrategy `json:"strategy,omitempty" protobuf:"bytes,4,opt,name=strategy"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

func (*MemcachedSpec) DeepCopy

func (in *MemcachedSpec) DeepCopy() *MemcachedSpec

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

func (*MemcachedSpec) DeepCopyInto

func (in *MemcachedSpec) DeepCopyInto(out *MemcachedSpec)

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

func (*MemcachedSpec) GetSecrets

func (e *MemcachedSpec) GetSecrets() []string

func (*MemcachedSpec) SetDefaults

func (m *MemcachedSpec) SetDefaults()

type MemcachedStatus

type MemcachedStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*MemcachedStatus) DeepCopy

func (in *MemcachedStatus) DeepCopy() *MemcachedStatus

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

func (*MemcachedStatus) DeepCopyInto

func (in *MemcachedStatus) DeepCopyInto(out *MemcachedStatus)

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

type MongoDB

type MongoDB struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MongoDBSpec   `json:"spec,omitempty"`
	Status            MongoDBStatus `json:"status,omitempty"`
}

MongoDB defines a MongoDB database.

func (MongoDB) AppBindingMeta

func (m MongoDB) AppBindingMeta() appcat.AppBindingMeta

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) 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 (m 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) GetMonitoringVendor

func (m *MongoDB) GetMonitoringVendor() string

func (MongoDB) GvrSvcName

func (m MongoDB) GvrSvcName(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) 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) RepSetName

func (m MongoDB) RepSetName() string

RepSetName returns Replicaset name only for spec.replicaset

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

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

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

func (MongoDB) ShardNodeName

func (m MongoDB) ShardNodeName(nodeNum int32) 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) SnapshotSAName

func (m MongoDB) SnapshotSAName() string

Snapshot service account name.

func (MongoDB) StatsService

func (m MongoDB) StatsService() mona.StatsAccessor

func (MongoDB) StatsServiceLabels

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

type MongoDBConfigNode

type MongoDBConfigNode struct {
	// MongoDB config server node configs
	MongoDBNode `json:",inline"`

	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`
}

func (*MongoDBConfigNode) DeepCopy

func (in *MongoDBConfigNode) DeepCopy() *MongoDBConfigNode

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

func (*MongoDBConfigNode) DeepCopyInto

func (in *MongoDBConfigNode) DeepCopyInto(out *MongoDBConfigNode)

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

type MongoDBList

type MongoDBList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of MongoDB TPR objects
	Items []MongoDB `json:"items,omitempty"`
}

func (*MongoDBList) DeepCopy

func (in *MongoDBList) DeepCopy() *MongoDBList

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

func (*MongoDBList) DeepCopyInto

func (in *MongoDBList) DeepCopyInto(out *MongoDBList)

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

func (*MongoDBList) DeepCopyObject

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

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

type MongoDBMongosNode

type MongoDBMongosNode struct {
	// MongoDB mongos node configs
	MongoDBNode `json:",inline"`

	// The deployment strategy to use to replace existing pods with new ones.
	// +optional
	Strategy apps.DeploymentStrategy `json:"strategy,omitempty" protobuf:"bytes,4,opt,name=strategy"`
}

func (*MongoDBMongosNode) DeepCopy

func (in *MongoDBMongosNode) DeepCopy() *MongoDBMongosNode

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

func (*MongoDBMongosNode) DeepCopyInto

func (in *MongoDBMongosNode) DeepCopyInto(out *MongoDBMongosNode)

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

type MongoDBNode

type MongoDBNode struct {
	// Replicas represents number of replicas of this specific node.
	// If current node has replicaset enabled, then replicas is the amount of replicaset nodes.
	Replicas int32 `json:"replicas"`

	// Prefix is the name prefix of this node.
	Prefix string `json:"prefix,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

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

func (*MongoDBNode) DeepCopy

func (in *MongoDBNode) DeepCopy() *MongoDBNode

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

func (*MongoDBNode) DeepCopyInto

func (in *MongoDBNode) DeepCopyInto(out *MongoDBNode)

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

type MongoDBReplicaSet

type MongoDBReplicaSet struct {
	// Name of replicaset
	Name string `json:"name"`

	// Deprecated: Use spec.certificateSecret
	KeyFile *core.SecretVolumeSource `json:"keyFile,omitempty"`
}

func (*MongoDBReplicaSet) DeepCopy

func (in *MongoDBReplicaSet) DeepCopy() *MongoDBReplicaSet

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

func (*MongoDBReplicaSet) DeepCopyInto

func (in *MongoDBReplicaSet) DeepCopyInto(out *MongoDBReplicaSet)

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

type MongoDBShardNode

type MongoDBShardNode struct {
	// Shards represents number of shards for shard type of node
	// More info: https://docs.mongodb.com/manual/core/sharded-cluster-shards/
	Shards int32 `json:"shards"`

	// MongoDB sharding node configs
	MongoDBNode `json:",inline"`

	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`
}

func (*MongoDBShardNode) DeepCopy

func (in *MongoDBShardNode) DeepCopy() *MongoDBShardNode

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

func (*MongoDBShardNode) DeepCopyInto

func (in *MongoDBShardNode) DeepCopyInto(out *MongoDBShardNode)

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

type MongoDBShardingTopology

type MongoDBShardingTopology struct {
	// Shard component of mongodb.
	// More info: https://docs.mongodb.com/manual/core/sharded-cluster-shards/
	Shard MongoDBShardNode `json:"shard"`

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

	// Mongos (router) component of mongodb.
	// More info: https://docs.mongodb.com/manual/core/sharded-cluster-query-router/
	Mongos MongoDBMongosNode `json:"mongos"`
}

func (*MongoDBShardingTopology) DeepCopy

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

func (*MongoDBShardingTopology) DeepCopyInto

func (in *MongoDBShardingTopology) DeepCopyInto(out *MongoDBShardingTopology)

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

type MongoDBSpec

type MongoDBSpec struct {
	// Version of MongoDB to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for a MongoDB database.
	Replicas *int32 `json:"replicas,omitempty"`

	// MongoDB replica set
	ReplicaSet *MongoDBReplicaSet `json:"replicaSet,omitempty"`

	// MongoDB sharding topology.
	ShardTopology *MongoDBShardingTopology `json:"shardTopology,omitempty"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`

	// Database authentication secret
	DatabaseSecret *core.SecretVolumeSource `json:"databaseSecret,omitempty"`

	// Secret for KeyFile or SSL certificates. Contains `tls.pem` or keyfile `key.txt` depending on enableSSL.
	// Currently SSL support is not enabled.
	CertificateSecret *core.SecretVolumeSource `json:"certificateSecret,omitempty"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty"`

	// BackupSchedule spec to specify how database backup will be taken
	// +optional
	BackupSchedule *BackupScheduleSpec `json:"backupSchedule,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

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

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

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

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

func (*MongoDBSpec) SetDefaults

func (m *MongoDBSpec) SetDefaults()

func (*MongoDBSpec) SetSecurityContext

func (m *MongoDBSpec) SetSecurityContext(podTemplate *ofst.PodTemplateSpec)

setSecurityContext will set default PodSecurityContext. These values will be applied only to newly created objects. These defaultings should not be applied to DBs or dormantDBs, that is managed by previous operators,

type MongoDBStatus

type MongoDBStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*MongoDBStatus) DeepCopy

func (in *MongoDBStatus) DeepCopy() *MongoDBStatus

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

func (*MongoDBStatus) DeepCopyInto

func (in *MongoDBStatus) DeepCopyInto(out *MongoDBStatus)

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

type MySQL

type MySQL struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              MySQLSpec   `json:"spec,omitempty"`
	Status            MySQLStatus `json:"status,omitempty"`
}

Mysql defines a Mysql database.

func (MySQL) AppBindingMeta

func (m MySQL) AppBindingMeta() appcat.AppBindingMeta

func (MySQL) CustomResourceDefinition

func (m 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) GetMonitoringVendor

func (m *MySQL) GetMonitoringVendor() string

func (MySQL) GoverningServiceName

func (m MySQL) GoverningServiceName() 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) 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()

func (MySQL) SnapshotSAName

func (m MySQL) SnapshotSAName() string

Snapshot service account name.

func (MySQL) StatsService

func (m MySQL) StatsService() mona.StatsAccessor

func (MySQL) StatsServiceLabels

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

type MySQLClusterMode

type MySQLClusterMode string
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"`

	// Group replication info for MySQL
	Group *MySQLGroupSpec `json:"group,omitempty"`
}

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.

type MySQLGroupMode

type MySQLGroupMode string
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"`

	// 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"`

	// On a replication master and each replication slave, the --server-id
	// option must be specified to establish a unique replication ID in the
	// range from 1 to 2^32 − 1. “Unique”, means that each ID must be different
	// from every other ID in use by any other replication master or slave.
	// ref: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_server_id
	//
	// So, BaseServerID is needed to calculate a unique server_id for each member.
	BaseServerID *uint `json:"baseServerID,omitempty"`
}

func (*MySQLGroupSpec) DeepCopy

func (in *MySQLGroupSpec) DeepCopy() *MySQLGroupSpec

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

func (*MySQLGroupSpec) DeepCopyInto

func (in *MySQLGroupSpec) DeepCopyInto(out *MySQLGroupSpec)

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

type MySQLList

type MySQLList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of MySQL TPR objects
	Items []MySQL `json:"items,omitempty"`
}

func (*MySQLList) DeepCopy

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.

type MySQLSpec

type MySQLSpec struct {
	// Version of MySQL to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for a MySQL database. In case of MySQL group
	// replication, max allowed value is 9 (default 3).
	// (see ref: https://dev.mysql.com/doc/refman/5.7/en/group-replication-frequently-asked-questions.html)
	Replicas *int32 `json:"replicas,omitempty"`

	// MySQL cluster topology
	Topology *MySQLClusterTopology `json:"topology,omitempty"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`

	// Database authentication secret
	DatabaseSecret *core.SecretVolumeSource `json:"databaseSecret,omitempty"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty"`

	// BackupSchedule spec to specify how database backup will be taken
	// +optional
	BackupSchedule *BackupScheduleSpec `json:"backupSchedule,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

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

func (e *MySQLSpec) GetSecrets() []string

func (*MySQLSpec) SetDefaults

func (m *MySQLSpec) SetDefaults()

type MySQLStatus

type MySQLStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*MySQLStatus) DeepCopy

func (in *MySQLStatus) DeepCopy() *MySQLStatus

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

func (*MySQLStatus) DeepCopyInto

func (in *MySQLStatus) DeepCopyInto(out *MySQLStatus)

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

type Origin

type Origin struct {
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Origin Spec to store original database Spec
	Spec OriginSpec `json:"spec"`
}

func (*Origin) DeepCopy

func (in *Origin) DeepCopy() *Origin

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

func (*Origin) DeepCopyInto

func (in *Origin) DeepCopyInto(out *Origin)

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

type OriginSpec

type OriginSpec struct {
	// Elasticsearch Spec
	// +optional
	Elasticsearch *ElasticsearchSpec `json:"elasticsearch,omitempty"`
	// Postgres Spec
	// +optional
	Postgres *PostgresSpec `json:"postgres,omitempty"`
	// MySQL Spec
	// +optional
	MySQL *MySQLSpec `json:"mysql,omitempty"`
	// MongoDB Spec
	// +optional
	MongoDB *MongoDBSpec `json:"mongodb,omitempty"`
	// Redis Spec
	// +optional
	Redis *RedisSpec `json:"redis,omitempty"`
	// Memcached Spec
	// +optional
	Memcached *MemcachedSpec `json:"memcached,omitempty"`
	// Etcd Spec
	// +optional
	Etcd *EtcdSpec `json:"etcd,omitempty"`
}

func (*OriginSpec) DeepCopy

func (in *OriginSpec) DeepCopy() *OriginSpec

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

func (*OriginSpec) DeepCopyInto

func (in *OriginSpec) DeepCopyInto(out *OriginSpec)

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

type Percona

type Percona struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              PerconaSpec   `json:"spec,omitempty"`
	Status            PerconaStatus `json:"status,omitempty"`
}

Percona defines a percona variation of Mysql database.

func (Percona) AppBindingMeta

func (p Percona) AppBindingMeta() appcat.AppBindingMeta

func (Percona) CustomResourceDefinition

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

func (*Percona) DeepCopy

func (in *Percona) DeepCopy() *Percona

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

func (*Percona) DeepCopyInto

func (in *Percona) DeepCopyInto(out *Percona)

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

func (*Percona) DeepCopyObject

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

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

func (*Percona) GetMonitoringVendor

func (p *Percona) GetMonitoringVendor() string

func (Percona) GoverningServiceName

func (p Percona) GoverningServiceName() string

func (Percona) OffshootLabels

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

func (Percona) OffshootName

func (p Percona) OffshootName() string

func (Percona) OffshootSelectors

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

func (Percona) ResourceKind

func (p Percona) ResourceKind() string

func (Percona) ResourcePlural

func (p Percona) ResourcePlural() string

func (Percona) ResourceShortCode

func (p Percona) ResourceShortCode() string

func (Percona) ResourceSingular

func (p Percona) ResourceSingular() string

func (Percona) ServiceName

func (p Percona) ServiceName() string

func (*Percona) SetDefaults

func (p *Percona) SetDefaults()

func (Percona) StatsService

func (p Percona) StatsService() mona.StatsAccessor

func (Percona) StatsServiceLabels

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

type PerconaList

type PerconaList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Percona TPR objects
	Items []Percona `json:"items,omitempty"`
}

func (*PerconaList) DeepCopy

func (in *PerconaList) DeepCopy() *PerconaList

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

func (*PerconaList) DeepCopyInto

func (in *PerconaList) DeepCopyInto(out *PerconaList)

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

func (*PerconaList) DeepCopyObject

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

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

type PerconaSpec

type PerconaSpec struct {
	// Version of Percona to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for Percona
	Replicas *int32 `json:"replicas,omitempty"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`

	// Database authentication secret
	DatabaseSecret *core.SecretVolumeSource `json:"databaseSecret,omitempty"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

func (*PerconaSpec) DeepCopy

func (in *PerconaSpec) DeepCopy() *PerconaSpec

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

func (*PerconaSpec) DeepCopyInto

func (in *PerconaSpec) DeepCopyInto(out *PerconaSpec)

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

func (*PerconaSpec) GetSecrets

func (p *PerconaSpec) GetSecrets() []string

func (*PerconaSpec) SetDefaults

func (p *PerconaSpec) SetDefaults()

type PerconaStatus

type PerconaStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*PerconaStatus) DeepCopy

func (in *PerconaStatus) DeepCopy() *PerconaStatus

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

func (*PerconaStatus) DeepCopyInto

func (in *PerconaStatus) DeepCopyInto(out *PerconaStatus)

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

type PgBouncer

type PgBouncer struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              PgBouncerSpec   `json:"spec,omitempty"`
	Status            PgBouncerStatus `json:"status,omitempty"`
}

PgBouncer defines a PgBouncer database.

func (PgBouncer) AppBindingMeta

func (p PgBouncer) AppBindingMeta() appcat.AppBindingMeta

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

func (p *PgBouncer) GetMonitoringVendor() string

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

func (p PgBouncer) ReplicasServiceName() 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) SnapshotSAName

func (p PgBouncer) SnapshotSAName() string

Snapshot service account name.

func (PgBouncer) StatsService

func (p PgBouncer) StatsService() mona.StatsAccessor

func (PgBouncer) StatsServiceLabels

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

type PgBouncerList

type PgBouncerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of PgBouncer CRD objects
	Items []PgBouncer `json:"items,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*PgBouncerList) DeepCopy

func (in *PgBouncerList) DeepCopy() *PgBouncerList

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

func (*PgBouncerList) DeepCopyInto

func (in *PgBouncerList) DeepCopyInto(out *PgBouncerList)

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

func (*PgBouncerList) DeepCopyObject

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

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

type PgBouncerSchemaInfo

type PgBouncerSchemaInfo struct {
	Table map[string]*PgBouncerTableInfo `json:"table"`
}

func (*PgBouncerSchemaInfo) DeepCopy

func (in *PgBouncerSchemaInfo) DeepCopy() *PgBouncerSchemaInfo

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

func (*PgBouncerSchemaInfo) DeepCopyInto

func (in *PgBouncerSchemaInfo) DeepCopyInto(out *PgBouncerSchemaInfo)

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

type PgBouncerSpec

type PgBouncerSpec struct {

	// Number of instances to deploy for a PgBouncer instance.
	Replicas *int32 `json:"replicas,omitempty"`

	ServiceTemplate v1.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// Databases to proxy
	Databases []Databases `json:"databases"`

	// Connection pool configuration
	ConnectionPoolConfig *ConnectionPoolConfig `json:"connectionPoolConfig"`

	//list of secrets
	SecretList []SecretList `json:"secretList"`
	// Image is used for local only machines
	// +optional
	Image string `json:"image,omitempty"`
	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource is an optional field to provide custom configuration file for database (i.e pgbouncerql.conf).
	// If specified, this file will be used as configuration file otherwise default configuration file will be used.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

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

func (p *PgBouncerSpec) SetDefaults()

type PgBouncerStatus

type PgBouncerStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*PgBouncerStatus) DeepCopy

func (in *PgBouncerStatus) DeepCopy() *PgBouncerStatus

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

func (*PgBouncerStatus) DeepCopyInto

func (in *PgBouncerStatus) DeepCopyInto(out *PgBouncerStatus)

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

type PgBouncerSummary

type PgBouncerSummary struct {
	Schema map[string]*PgBouncerSchemaInfo `json:"schema"`
}

func (*PgBouncerSummary) DeepCopy

func (in *PgBouncerSummary) DeepCopy() *PgBouncerSummary

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

func (*PgBouncerSummary) DeepCopyInto

func (in *PgBouncerSummary) DeepCopyInto(out *PgBouncerSummary)

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

type PgBouncerTableInfo

type PgBouncerTableInfo struct {
	TotalRow int64 `json:"totalRow"`
	MaxID    int64 `json:"maxId"`
	NextID   int64 `json:"nextId"`
}

Following structures are used for audit summary report

func (*PgBouncerTableInfo) DeepCopy

func (in *PgBouncerTableInfo) DeepCopy() *PgBouncerTableInfo

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

func (*PgBouncerTableInfo) DeepCopyInto

func (in *PgBouncerTableInfo) DeepCopyInto(out *PgBouncerTableInfo)

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

type Postgres

type Postgres struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              PostgresSpec   `json:"spec,omitempty"`
	Status            PostgresStatus `json:"status,omitempty"`
}

Postgres defines a Postgres database.

func (Postgres) AppBindingMeta

func (p Postgres) AppBindingMeta() appcat.AppBindingMeta

func (Postgres) CustomResourceDefinition

func (p 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) GetMonitoringVendor

func (p *Postgres) GetMonitoringVendor() string

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

func (p Postgres) ReplicasServiceName() 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()

func (Postgres) SnapshotSAName

func (p Postgres) SnapshotSAName() string

Snapshot service account name.

func (Postgres) StatsService

func (p Postgres) StatsService() mona.StatsAccessor

func (Postgres) StatsServiceLabels

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

type PostgresArchiverSpec

type PostgresArchiverSpec struct {
	Storage *store.Backend `json:"storage,omitempty"`
}

func (*PostgresArchiverSpec) DeepCopy

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

func (*PostgresArchiverSpec) DeepCopyInto

func (in *PostgresArchiverSpec) DeepCopyInto(out *PostgresArchiverSpec)

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

type PostgresList

type PostgresList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Postgres CRD objects
	Items []Postgres `json:"items,omitempty"`
}

func (*PostgresList) DeepCopy

func (in *PostgresList) DeepCopy() *PostgresList

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

func (*PostgresList) DeepCopyInto

func (in *PostgresList) DeepCopyInto(out *PostgresList)

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

func (*PostgresList) DeepCopyObject

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

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

type PostgresSchemaInfo

type PostgresSchemaInfo struct {
	Table map[string]*PostgresTableInfo `json:"table"`
}

func (*PostgresSchemaInfo) DeepCopy

func (in *PostgresSchemaInfo) DeepCopy() *PostgresSchemaInfo

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

func (*PostgresSchemaInfo) DeepCopyInto

func (in *PostgresSchemaInfo) DeepCopyInto(out *PostgresSchemaInfo)

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

type PostgresSpec

type PostgresSpec struct {
	// Version of Postgres to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for a Postgres database.
	Replicas *int32 `json:"replicas,omitempty"`

	// Standby mode
	StandbyMode *PostgresStandbyMode `json:"standbyMode,omitempty"`

	// Streaming mode
	StreamingMode *PostgresStreamingMode `json:"streamingMode,omitempty"`

	// Archive for wal files
	Archiver *PostgresArchiverSpec `json:"archiver,omitempty"`

	// Leader election configuration
	// +optional
	LeaderElection *LeaderElectionConfig `json:"leaderElection,omitempty"`

	// Database authentication secret
	DatabaseSecret *core.SecretVolumeSource `json:"databaseSecret,omitempty"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty"`

	// Storage to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`

	// Init is used to initialize database
	// +optional
	Init *InitSpec `json:"init,omitempty"`

	// BackupSchedule spec to specify how database backup will be taken
	// +optional
	BackupSchedule *BackupScheduleSpec `json:"backupSchedule,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// ReplicaServiceTemplate is an optional configuration for service used to expose postgres replicas
	// +optional
	ReplicaServiceTemplate ofst.ServiceTemplateSpec `json:"replicaServiceTemplate,omitempty"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

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

func (e *PostgresSpec) GetSecrets() []string

func (*PostgresSpec) SetDefaults

func (p *PostgresSpec) SetDefaults()

type PostgresStandbyMode

type PostgresStandbyMode string
const (
	HotPostgresStandbyMode  PostgresStandbyMode = "Hot"
	WarmPostgresStandbyMode PostgresStandbyMode = "Warm"

	// Deprecated
	DeprecatedHotStandby PostgresStandbyMode = "hot"
	// Deprecated
	DeprecatedWarmStandby PostgresStandbyMode = "warm"
)

type PostgresStatus

type PostgresStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*PostgresStatus) DeepCopy

func (in *PostgresStatus) DeepCopy() *PostgresStatus

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

func (*PostgresStatus) DeepCopyInto

func (in *PostgresStatus) DeepCopyInto(out *PostgresStatus)

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

type PostgresStreamingMode

type PostgresStreamingMode string
const (
	SynchronousPostgresStreamingMode  PostgresStreamingMode = "Synchronous"
	AsynchronousPostgresStreamingMode PostgresStreamingMode = "Asynchronous"

	// Deprecated
	DeprecatedAsynchronousStreaming PostgresStreamingMode = "asynchronous"
)

type PostgresSummary

type PostgresSummary struct {
	Schema map[string]*PostgresSchemaInfo `json:"schema"`
}

func (*PostgresSummary) DeepCopy

func (in *PostgresSummary) DeepCopy() *PostgresSummary

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

func (*PostgresSummary) DeepCopyInto

func (in *PostgresSummary) DeepCopyInto(out *PostgresSummary)

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

type PostgresTableInfo

type PostgresTableInfo struct {
	TotalRow int64 `json:"totalRow"`
	MaxID    int64 `json:"maxId"`
	NextID   int64 `json:"nextId"`
}

Following structures are used for audit summary report

func (*PostgresTableInfo) DeepCopy

func (in *PostgresTableInfo) DeepCopy() *PostgresTableInfo

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

func (*PostgresTableInfo) DeepCopyInto

func (in *PostgresTableInfo) DeepCopyInto(out *PostgresTableInfo)

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

type PostgresWALSourceSpec

type PostgresWALSourceSpec struct {
	BackupName    string          `json:"backupName,omitempty"`
	PITR          *RecoveryTarget `json:"pitr,omitempty"`
	store.Backend `json:",inline,omitempty"`
}

func (*PostgresWALSourceSpec) DeepCopy

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

func (*PostgresWALSourceSpec) DeepCopyInto

func (in *PostgresWALSourceSpec) DeepCopyInto(out *PostgresWALSourceSpec)

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

type RecoveryTarget

type RecoveryTarget struct {
	// TargetTime specifies the time stamp up to which recovery will proceed.
	TargetTime string `json:"targetTime,omitempty"`
	// TargetTimeline specifies recovering into a particular timeline.
	// The default is to recover along the same timeline that was current when the base backup was taken.
	TargetTimeline string `json:"targetTimeline,omitempty"`
	// TargetXID specifies the transaction ID up to which recovery will proceed.
	TargetXID string `json:"targetXID,omitempty"`
	// TargetInclusive specifies whether to include ongoing transaction in given target point.
	TargetInclusive *bool `json:"targetInclusive,omitempty"`
}

func (*RecoveryTarget) DeepCopy

func (in *RecoveryTarget) DeepCopy() *RecoveryTarget

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

func (*RecoveryTarget) DeepCopyInto

func (in *RecoveryTarget) DeepCopyInto(out *RecoveryTarget)

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

type Redis

type Redis struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              RedisSpec   `json:"spec,omitempty"`
	Status            RedisStatus `json:"status,omitempty"`
}

Redis defines a Redis database.

func (Redis) AppBindingMeta

func (r Redis) AppBindingMeta() appcat.AppBindingMeta

func (Redis) BaseNameForShard

func (r Redis) BaseNameForShard() string

func (Redis) ConfigMapName

func (r Redis) ConfigMapName() 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) GetMonitoringVendor

func (r *Redis) GetMonitoringVendor() string

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

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

type RedisClusterSpec

type RedisClusterSpec struct {
	// Number of master nodes. It must be >= 3. If not specified, defaults to 3.
	Master *int32 `json:"master,omitempty"`

	// Number of replica(s) per master node. If not specified, defaults to 1.
	Replicas *int32 `json:"replicas,omitempty"`
}

func (*RedisClusterSpec) DeepCopy

func (in *RedisClusterSpec) DeepCopy() *RedisClusterSpec

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

func (*RedisClusterSpec) DeepCopyInto

func (in *RedisClusterSpec) DeepCopyInto(out *RedisClusterSpec)

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

type RedisList

type RedisList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Redis TPR objects
	Items []Redis `json:"items,omitempty"`
}

func (*RedisList) DeepCopy

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.

type RedisMode

type RedisMode string
const (
	RedisModeStandalone RedisMode = "Standalone"
	RedisModeCluster    RedisMode = "Cluster"
)

type RedisSpec

type RedisSpec struct {
	// Version of Redis to be deployed.
	Version types.StrYo `json:"version"`

	// Number of instances to deploy for a MySQL database.
	Replicas *int32 `json:"replicas,omitempty"`

	// Default is "Standalone". If set to "Cluster", ClusterSpec is required and redis servers will
	// start in cluster mode
	Mode RedisMode `json:"mode,omitempty"`

	// Redis cluster configuration for running redis servers in cluster mode. Required if Mode is set to "Cluster"
	Cluster *RedisClusterSpec `json:"cluster,omitempty"`

	// StorageType can be durable (default) or ephemeral
	StorageType StorageType `json:"storageType,omitempty"`

	// Storage spec to specify how storage shall be used.
	Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"`

	// Monitor is used monitor database instance
	// +optional
	Monitor *mona.AgentSpec `json:"monitor,omitempty"`

	// ConfigSource 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.
	ConfigSource *core.VolumeSource `json:"configSource,omitempty"`

	// PodTemplate is an optional configuration for pods used to expose database
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// ServiceTemplate is an optional configuration for service used to expose database
	// +optional
	ServiceTemplate ofst.ServiceTemplateSpec `json:"serviceTemplate,omitempty"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	UpdateStrategy apps.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// TerminationPolicy controls the delete operation for database
	// +optional
	TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"`
}

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

func (e *RedisSpec) GetSecrets() []string

func (*RedisSpec) SetDefaults

func (r *RedisSpec) SetDefaults()

type RedisStatus

type RedisStatus struct {
	Phase  DatabasePhase `json:"phase,omitempty"`
	Reason string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*RedisStatus) DeepCopy

func (in *RedisStatus) DeepCopy() *RedisStatus

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

func (*RedisStatus) DeepCopyInto

func (in *RedisStatus) DeepCopyInto(out *RedisStatus)

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

type Report

type Report struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Summary           ReportSummary `json:"summary,omitempty"`
	Status            ReportStatus  `json:"status,omitempty"`
}

+k8s:deepcopy-gen=false +k8s:gen-deepcopy=false

type ReportStatus

type ReportStatus struct {
	StartTime      *metav1.Time `json:"startTime,omitempty"`
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
}

+k8s:deepcopy-gen=false +k8s:gen-deepcopy=false

type ReportSummary

type ReportSummary struct {
	Postgres      map[string]*PostgresSummary      `json:"postgres,omitempty"`
	Elasticsearch map[string]*ElasticsearchSummary `json:"elastic,omitempty"`
}

+k8s:deepcopy-gen=false +k8s:gen-deepcopy=false

type ScriptSourceSpec

type ScriptSourceSpec struct {
	ScriptPath        string `json:"scriptPath,omitempty"`
	core.VolumeSource `json:",inline,omitempty"`
}

func (*ScriptSourceSpec) DeepCopy

func (in *ScriptSourceSpec) DeepCopy() *ScriptSourceSpec

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

func (*ScriptSourceSpec) DeepCopyInto

func (in *ScriptSourceSpec) DeepCopyInto(out *ScriptSourceSpec)

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

type SecretList

type SecretList struct {
	SecretName      string `json:"secretName"`                //contains a single username-password combo that exists in a target database
	SecretNamespace string `json:"secretNamespace,omitempty"` //Namespace of PgBouncer object
}

func (*SecretList) DeepCopy

func (in *SecretList) DeepCopy() *SecretList

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

func (*SecretList) DeepCopyInto

func (in *SecretList) DeepCopyInto(out *SecretList)

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

type Snapshot

type Snapshot struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SnapshotSpec   `json:"spec,omitempty"`
	Status            SnapshotStatus `json:"status,omitempty"`
}

func (Snapshot) CustomResourceDefinition

func (s Snapshot) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*Snapshot) DeepCopy

func (in *Snapshot) DeepCopy() *Snapshot

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

func (*Snapshot) DeepCopyInto

func (in *Snapshot) DeepCopyInto(out *Snapshot)

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

func (*Snapshot) DeepCopyObject

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

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

func (Snapshot) Location

func (s Snapshot) Location() (string, error)

func (Snapshot) OSMSecretName

func (s Snapshot) OSMSecretName() string

func (Snapshot) OffshootName

func (s Snapshot) OffshootName() string

func (Snapshot) ResourceKind

func (s Snapshot) ResourceKind() string

func (Snapshot) ResourcePlural

func (s Snapshot) ResourcePlural() string

func (Snapshot) ResourceShortCode

func (s Snapshot) ResourceShortCode() string

func (Snapshot) ResourceSingular

func (s Snapshot) ResourceSingular() string

func (*Snapshot) SetDefaults

func (s *Snapshot) SetDefaults()

type SnapshotList

type SnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Snapshot CRD objects
	Items []Snapshot `json:"items,omitempty"`
}

func (*SnapshotList) DeepCopy

func (in *SnapshotList) DeepCopy() *SnapshotList

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

func (*SnapshotList) DeepCopyInto

func (in *SnapshotList) DeepCopyInto(out *SnapshotList)

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

func (*SnapshotList) DeepCopyObject

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

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

type SnapshotPhase

type SnapshotPhase string
const (
	// used for Snapshots that are currently running
	SnapshotPhaseRunning SnapshotPhase = "Running"
	// used for Snapshots that are Succeeded
	SnapshotPhaseSucceeded SnapshotPhase = "Succeeded"
	// used for Snapshots that are Failed
	SnapshotPhaseFailed SnapshotPhase = "Failed"
)

type SnapshotSourceSpec

type SnapshotSourceSpec struct {
	Namespace string `json:"namespace"`
	Name      string `json:"name"`
	// Arguments to the restore job
	Args []string `json:"args,omitempty"`
}

func (*SnapshotSourceSpec) DeepCopy

func (in *SnapshotSourceSpec) DeepCopy() *SnapshotSourceSpec

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

func (*SnapshotSourceSpec) DeepCopyInto

func (in *SnapshotSourceSpec) DeepCopyInto(out *SnapshotSourceSpec)

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

type SnapshotSpec

type SnapshotSpec struct {
	// Database name
	DatabaseName string `json:"databaseName"`

	// Snapshot Spec
	store.Backend `json:",inline"`

	// StorageType can be durable or ephemeral.
	// If not given, database storage type will be used.
	// +optional
	StorageType *StorageType `json:"storageType,omitempty"`

	// PodTemplate is an optional configuration for pods used to take database snapshots
	// +optional
	PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"`

	// PodVolumeClaimSpec is used to specify temporary storage for backup/restore Job.
	// If not given, database's PvcSpec will be used.
	// If storageType is durable, then a PVC will be created using this PVCSpec.
	// If storageType is ephemeral, then an empty directory will be created of size PvcSpec.Resources.Requests[core.ResourceStorage].
	// +optional
	PodVolumeClaimSpec *core.PersistentVolumeClaimSpec `json:"podVolumeClaimSpec,omitempty"`
}

func (*SnapshotSpec) DeepCopy

func (in *SnapshotSpec) DeepCopy() *SnapshotSpec

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

func (*SnapshotSpec) DeepCopyInto

func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)

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

type SnapshotStatus

type SnapshotStatus struct {
	StartTime      *metav1.Time  `json:"startTime,omitempty"`
	CompletionTime *metav1.Time  `json:"completionTime,omitempty"`
	Phase          SnapshotPhase `json:"phase,omitempty"`
	Reason         string        `json:"reason,omitempty"`
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *types.IntHash `json:"observedGeneration,omitempty"`
}

func (*SnapshotStatus) DeepCopy

func (in *SnapshotStatus) DeepCopy() *SnapshotStatus

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

func (*SnapshotStatus) DeepCopyInto

func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)

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

type StorageType

type StorageType string
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"`
	OperatorSecret string        `json:"operatorSecret,omitempty"`
}

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.

type TerminationPolicy

type TerminationPolicy string
const (
	// Pauses database into a DormantDatabase
	TerminationPolicyPause TerminationPolicy = "Pause"
	// Deletes database pods, service, pvcs but leave the snapshot data intact. This will not create a DormantDatabase.
	TerminationPolicyDelete TerminationPolicy = "Delete"
	// Deletes database pods, service, pvcs and snapshot data. This will not create a DormantDatabase.
	TerminationPolicyWipeOut TerminationPolicy = "WipeOut"
	// Rejects attempt to delete database using ValidationWebhook. This replaces spec.doNotPause = true
	TerminationPolicyDoNotTerminate TerminationPolicy = "DoNotTerminate"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL