v1alpha1

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2020 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the contrail v1alpha1 API group. +k8s:deepcopy-gen=package,register +groupName=contrail.juniper.net

Package v1alpha1 contains API Schema definitions for the contrail v1alpha1 API group. +k8s:deepcopy-gen=package,register +groupName=contrail.juniper.net

Index

Constants

View Source
const (
	LogLevel                                    string = "SYS_NOTICE"
	LogDir                                      string = "/var/log/contrail"
	LogLocal                                    int    = 1
	EncapPriority                               string = "MPLSoUDP,MPLSoGRE,VXLAN"
	DpdkUioDriver                               string = "uio_pci_generic"
	CpuCoreMask                                 string = "0x01"
	HugePages                                   string = ""
	HugePagesDir                                string = "/dev/hugepages"
	DpdkMemPerSocket                            int    = 1024
	DpdkCommandAdditionalArgs                   string = ""
	NicOffloadEnable                            bool   = false
	DistSnatProtoPortList                       string = ""
	FlowExportRate                              int    = 0
	CloudOrchestrator                           string = "kubernetes"
	CloudAdminRole                              string = "admin"
	AaaMode                                     string = "no-auth"
	AuthMode                                    string = "noauth"
	AuthParams                                  string = ""
	SslEnable                                   bool   = false
	SslInsecure                                 bool   = true
	ServerCertfile                              string = "/etc/contrail/ssl/certs/server.pem"
	ServerKeyfile                               string = "/etc/contrail/ssl/private/server-privkey.pem"
	ServerCaCertfile                            string = "/etc/contrail/ssl/certs/ca-cert.pem"
	ServerCaKeyfile                             string = "/etc/contrail/ssl/private/ca-key.pem"
	SelfsignedCertsWithIps                      bool   = true
	ControllerNodes                             string = ""
	AnalyticsAlarmEnable                        bool   = false
	AnalyticsSnmpEnable                         bool   = false
	AnalyticsdbEnable                           bool   = false
	AnalyticsNodes                              string = ""
	AnalyticsdbNodes                            string = ""
	AnalyticsSnmpNodes                          string = ""
	AnalyticsApiPort                            int    = 8081
	AnalyticsApiIntrospectPort                  int    = 8090
	AnalyticsdbPort                             int    = 9160
	AnalyticsdbCqlPort                          int    = 9042
	TopologyIntrospectPort                      int    = 5921
	QueryengineIntrospectPort                   int    = 8091
	AnalyticsServers                            string = ""
	AnalyticsdbCqlServers                       string = ""
	AnalyticsApiVip                             string = ""
	AnalyticsAlarmNodes                         string = ""
	AlarmgenIntrospectPort                      int    = 5995
	AlarmgenRedisAggregateDbOffset              string = "1"
	BgpPort                                     int    = 179
	BgpAutoMesh                                 bool   = true
	BgpAsn                                      int    = 64512
	CollectorPort                               int    = 8086
	CollectorIntrospectPort                     int    = 8089
	CollectorSyslogPort                         int    = 514
	CollectorSflowPort                          int    = 6343
	CollectorIpfixPort                          int    = 4739
	CollectorProtobufPort                       int    = 3333
	CollectorStructuredSyslogPort               int    = 3514
	SnmpcollectorIntrospectPort                 int    = 5920
	CollectorServers                            string = ""
	CassandraPort                               int    = 9160
	CassandraCqlPort                            int    = 9042
	CassandraSslStoragePort                     int    = 7001
	CassandraStoragePort                        int    = 7000
	CassandraJmxLocalPort                       int    = 7200
	ConfigNodes                                 string = ""
	ConfigdbNodes                               string = ""
	ConfigApiPort                               int    = 8082
	ConfigApiIntrospectPort                     int    = 8084
	ConfigdbPort                                int    = 9160
	ConfigdbCqlPort                             int    = 9042
	ConfigServers                               string = ""
	ConfigdbServers                             string = ""
	ConfigdbCqlServers                          string = ""
	ConfigApiVip                                string = ""
	ConfigApiSslEnable                          bool   = false
	ConfigApiServerCertfile                     string = "/etc/contrail/ssl/certs/server.pem"
	ConfigApiServerKeyfile                      string = "/etc/contrail/ssl/private/server-privkey.pem"
	ConfigApiServerCaCertfile                   string = "/etc/contrail/ssl/certs/ca-cert.pem"
	CassandraSslEnable                          string = "false"
	CassandraSslCertfile                        string = "/etc/contrail/ssl/certs/server.pem"
	CassandraSslKeyfile                         string = "/etc/contrail/ssl/private/server-privkey.pem"
	CassandraSslCaCertfile                      string = "/etc/contrail/ssl/certs/ca-cert.pem"
	CassandraSslKeystorePassword                string = "astrophytum"
	CassandraSslTruststorePassword              string = "ornatum"
	CassandraSslProtocol                        string = "TLS"
	CassandraSslAlgorithm                       string = "SunX509"
	CassandraSslCipherSuites                    string = "" /* 195-byte string literal not displayed */
	CassandraConfigMemtableFlushWriter          int    = 4
	CassandraConfigConcurrectCompactors         int    = 4
	CassandraConfigCompactionThroughputMbPerSec int    = 256
	CassandraConfigConcurrectReads              int    = 64
	CassandraConfigConcurrectWrites             int    = 64
	CassandraConfigMemtableAllocationType       string = "offheap_objects"
	ControlNodes                                string = ""
	ControlIntrospectPort                       int    = 8083
	DnsNodes                                    string = ""
	DnsServerPort                               int    = 53
	DnsIntrospectPort                           int    = 8092
	RndcKey                                     string = "xvysmOR8lnUQRBcunkC6vg=="
	UseExternalTftp                             bool   = false
	ZookeeperNodes                              string = ""
	ZookeeperPort                               int    = 2181
	ZookeeperElectionPort                       int    = 2888
	ZookeeperServerPort                         int    = 3888
	ZookeeperPorts                              string = "2888:3888"
	ZookeeperServers                            string = ""
	ZookeeperServersSpaceDelim                  string = ""
	RabbitmqNodes                               string = ""
	RabbitmqErlangCookie                        string = "47EFF3BB-4786-46E0-A5BB-58455B3C2CB4"
	RabbitmqNodePort                            int    = 5673
	RabbitmqNodePortSSL                         int    = 15673
	RabbitmqServers                             string = ""
	RabbitmqSslCertfile                         string = "/etc/contrail/ssl/certs/server.pem"
	RabbitmqSslKeyfile                          string = "/etc/contrail/ssl/private/server-privkey.pem"
	RabbitmqSslCacertfile                       string = "/etc/contrail/ssl/certs/ca-cert.pem"
	RabbitmqSslFailIfNoPeerCert                 bool   = true
	RabbitmqVhost                               string = "/"
	RabbitmqUser                                string = "guest"
	RabbitmqPassword                            string = "guest"
	RabbitmqUseSsl                              bool   = false
	RabbitmqSslVer                              string = "tlsv1_2"
	RabbitmqClientSslCertfile                   string = "/etc/contrail/ssl/certs/server.pem"
	RabbitmqClientSslKeyfile                    string = "/etc/contrail/ssl/private/server-privkey.pem"
	RabbitmqClientSslCacertfile                 string = "/etc/contrail/ssl/certs/ca-cert.pem"
	RabbitmqHeartbeatInterval                   int    = 10
	RabbitmqMirroredQueueMode                   string = "all"
	RedisNodes                                  string = ""
	RedisServerPort                             int    = 6379
	RedisServerPortWebui                        int    = 6380
	RedisServerPassword                         string = ""
	RedisServers                                string = ""
	RedisListenAddress                          string = ""
	RedisProtectedMode                          string = ""
	RedisSslEnable                              bool   = false
	RedisSslCertfile                            string = "/etc/contrail/ssl/certs/server.pem"
	RedisSslKeyfile                             string = "/etc/contrail/ssl/private/server-privkey.pem"
	KafkaNodes                                  string = ""
	KafkaPort                                   int    = 9092
	KafkaServers                                string = ""
	KafkaSslEnable                              bool   = false
	KafkaSslCertfile                            string = "/etc/contrail/ssl/certs/server.pem"
	KafkaSslKeyfile                             string = "/etc/contrail/ssl/private/server-privkey.pem"
	KafkaSslCacertfile                          string = "/etc/contrail/ssl/certs/ca-cert.pem"
	KeystoneAuthAdminTenant                     string = "admin"
	KeystoneAuthAdminUser                       string = "admin"
	KeystoneAuthAdminPassword                   string = "contrail123"
	KeystoneAuthProjectDomainName               string = "Default"
	KeystoneAuthUserDomainName                  string = "Default"
	KeystoneAuthRegionName                      string = "RegionOne"
	KeystoneAuthUrlVersion                      string = "/v3"
	KeystoneAuthHost                            string = "127.0.0.1"
	KeystoneAuthProto                           string = "http"
	KeystoneAuthAdminPort                       int    = 35357
	KeystoneAuthPublicPort                      int    = 5000
	KeystoneAuthUrlTokens                       string = "/v3/auth/tokens"
	KeystoneAuthInsecure                        bool   = true
	KeystoneAuthCertfile                        string = ""
	KeystoneAuthKeyfile                         string = ""
	KeystoneAuthCaCertfile                      string = ""
	KubemanagerNodes                            string = ""
	KubernetesApiNodes                          string = ""
	KubernetesApiServer                         string = "10.96.0.1"
	KubernetesApiPort                           int    = 8080
	KubernetesApiSSLPort                        int    = 6443
	KubernetesClusterName                       string = "kubernetes"
	KubernetesPodSubnets                        string = "10.32.0.0/12"
	KubernetesIpFabricSubnets                   string = "10.64.0.0/12"
	KubernetesServiceSubnets                    string = "10.96.0.0/12"
	KubernetesIPFabricForwarding                bool   = false
	KubernetesIPFabricSnat                      bool   = true
	KubernetesHostNetworkService                bool   = false
	KubernetesUseKubeadm                        bool   = false
	KubernetesServiceAccount                    string = ""
	VcenterFabricManagerNodes                   string = ""
	MetadataProxySecret                         string = "contrail"
	BarbicanUser                                string = "barbican"
	BarbicanPassword                            string = "contrail123"
	AgentMode                                   string = "kernel"
	ExternalRouters                             string = ""
	Subcluster                                  string = ""
	VrouterComputeNodeAddress                   string = ""
	VrouterCryptInterface                       string = "crypt0"
	VrouterDecryptInterface                     string = "decrypt0"
	VrouterDecryptKey                           int    = 15
	VrouterModuleOptions                        string = ""
	FabricSnatHashTableSize                     int    = 4096
	TsnEvpnMode                                 bool   = false
	TsnNodes                                    string = "[]"
	PriorityId                                  string = ""
	PriorityBandwidth                           string = ""
	PriorityScheduling                          string = ""
	QosQueueId                                  string = ""
	QosLogicalQueues                            string = ""
	QosDefHwQueue                               bool   = false
	PriorityTagging                             bool   = true
	SloDestination                              string = "collector"
	SampleDestination                           string = "collector"
	WebuiNodes                                  string = ""
	WebuiJobServerPort                          int    = 3000
	KueUiPort                                   int    = 3002
	WebuiHttpListenPort                         int    = 8180
	WebuiHttpsListenPort                        int    = 8143
	WebuiSslKeyFile                             string = "/etc/contrail/webui_ssl/cs-key.pem"
	WebuiSslCertFile                            string = "/etc/contrail/webui_ssl/cs-cert.pem"
	WebuiSslCiphers                             string = "" /* 284-byte string literal not displayed */
	WebuiStaticAuthUser                         string = "admin"
	WebuiStaticAuthPassword                     string = "contrail123"
	WebuiStaticAuthRole                         string = "cloudAdmin"
	XmppServerPort                              int    = 5269
	XmppSslEnable                               bool   = false
	XmppServerCertfile                          string = "/etc/contrail/ssl/certs/server.pem"
	XmppServerKeyfile                           string = "/etc/contrail/ssl/private/server-privkey.pem"
	XmppServerCaCertfile                        string = "/etc/contrail/ssl/certs/ca-cert.pem"
	LinklocalServicePort                        int    = 80
	LinklocalServiceName                        string = "metadata"
	LinklocalServiceIp                          string = "169.254.169.254"
	IpfabricServicePort                         int    = 8775
	IntrospectSslEnable                         bool   = false
	IntrospectSslInsecure                       bool   = true
	IntrospectCertfile                          string = "/etc/contrail/ssl/certs/server.pem"
	IntrospectKeyfile                           string = "/etc/contrail/ssl/private/server-privkey.pem"
	IntrospectCaCertfile                        string = "/etc/contrail/ssl/certs/ca-cert.pem"
	IntrospectListenAll                         bool   = true
	SandeshSslEnable                            bool   = false
	SandeshCertfile                             string = "/etc/contrail/ssl/certs/server.pem"
	SandeshKeyfile                              string = "/etc/contrail/ssl/private/server-privkey.pem"
	SandeshCaCertfile                           string = "/etc/contrail/ssl/certs/ca-cert.pem"
	MetadataSslEnable                           string = "false"
	MetadataSslCertfile                         string = ""
	MetadataSslKeyfile                          string = ""
	MetadataSslCaCertfile                       string = ""
	MetadataSslCertType                         string = ""
	ConfigureIptables                           string = "false"
	FwaasEnable                                 bool   = false
	TorAgentOvsKa                               int    = 10000
	TorType                                     string = "ovs"
	TorOvsProtocol                              string = "tcp"
	ToragentSslCertfile                         string = "/etc/contrail/ssl/certs/server.pem"
	ToragentSslKeyfile                          string = "/etc/contrail/ssl/private/server-privkey.pem"
	ToragentSslCacertfile                       string = "/etc/contrail/ssl/certs/ca-cert.pem"
)
View Source
const DMRunModeFull = "Full"

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{Group: "contrail.juniper.net", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

func AddSecretVolumesToIntendedDS

func AddSecretVolumesToIntendedDS(ds *appsv1.DaemonSet, volumeSecretMap map[string]string)

AddSecretVolumesToIntendedDS adds volumes to a deployment.

func AddSecretVolumesToIntendedSTS

func AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeSecretMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to a deployment.

func AddVolumesToIntendedDeployments

func AddVolumesToIntendedDeployments(intendedDeployment *appsv1.Deployment, volumeConfigMapMap map[string]string)

AddVolumesToIntendedDeployments adds volumes to a deployment.

func AddVolumesToIntendedSTS

func AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to a deployment.

func CompareIntendedWithCurrentDeployment

func CompareIntendedWithCurrentDeployment(intendedDeployment *appsv1.Deployment,
	commonConfiguration *CommonConfiguration,
	instanceType string,
	request reconcile.Request,
	scheme *runtime.Scheme,
	client client.Client,
	object v1.Object,
	increaseVersion bool) error

CompareIntendedWithCurrentDeployment compares the running deployment with the deployment.

func CreateAccount

func CreateAccount(accountName string, namespace string, client client.Client, scheme *runtime.Scheme, owner v1.Object) error

func CreateConfigMap

func CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request,
	instanceType string,
	object v1.Object) (*corev1.ConfigMap, error)

CreateConfigMap creates a config map based on the instance type.

func CreateSTS

func CreateSTS(sts *appsv1.StatefulSet,
	commonConfiguration *CommonConfiguration,
	instanceType string,
	request reconcile.Request,
	scheme *runtime.Scheme,
	reconcileClient client.Client) error

CreateSTS creates the STS.

func CreateSecret

func CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request,
	instanceType string,
	object v1.Object) (*corev1.Secret, error)

CreateSecret creates a secret based on the instance type.

func CurrentConfigMapExists

func CurrentConfigMapExists(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (corev1.ConfigMap, bool)

CurrentConfigMapExists checks if a current configuration exists and returns it.

func ExecToPodThroughAPI

func ExecToPodThroughAPI(command []string, containerName, podName, namespace string, stdin io.Reader) (string, string, error)

ExecToPodThroughAPI uninterractively exec to the pod with the command specified. :param string command: list of the str which specify the command. :param string pod_name: Pod name :param string namespace: namespace of the Pod. :param io.Reader stdin: Standerd Input if necessary, otherwise `nil` :return: string: Output of the command. (STDOUT)

string: Errors. (STDERR)
 error: If any error has occurred otherwise `nil`

func GetClientConfig

func GetClientConfig() (*rest.Config, error)

GetClientConfig first tries to get a config object which uses the service account kubernetes gives to pods, if it is called from a process running in a kubernetes environment. Otherwise, it tries to build config from a default kubeconfig filepath if it fails, it fallback to the default config. Once it get the config, it returns the same.

func GetClientset

func GetClientset() (*kubernetes.Clientset, error)

GetClientset first tries to get a config object which uses the service account kubernetes gives to pods, if it is called from a process running in a kubernetes environment. Otherwise, it tries to build config from a default kubeconfig filepath if it fails, it fallback to the default config. Once it get the config, it creates a new Clientset for the given config and returns the clientset.

func GetClientsetFromConfig

func GetClientsetFromConfig(config *rest.Config) (*kubernetes.Clientset, error)

GetClientsetFromConfig takes REST config and Create a clientset based on that and return that clientset.

func GetConfig

func GetConfig() (*rest.Config, error)

GetConfig creates a *rest.Config for talking to a Kubernetes apiserver. If --kubeconfig is set, will use the kubeconfig file at that location. Otherwise will assume running in cluster and use the cluster provided kubeconfig.

Config precedence

* --kubeconfig flag pointing at a file

* KUBECONFIG environment variable pointing at a file

* In-cluster config if running in cluster

* $HOME/.kube/config if exists

func GetRESTClient

func GetRESTClient() (*rest.RESTClient, error)

GetRESTClient first tries to get a config object which uses the service account kubernetes gives to pods, if it is called from a process running in a kubernetes environment. Otherwise, it tries to build config from a default kubeconfig filepath if it fails, it fallback to the default config. Once it get the config, it

func PodIPListAndIPMapFromInstance

func PodIPListAndIPMapFromInstance(instanceType string,
	commonConfiguration *CommonConfiguration,
	request reconcile.Request,
	reconcileClient client.Client,
	waitForInit bool,
	getHostname bool,
	getInterface bool,
	getMac bool,
	getPrefix bool,
	getGateway bool) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func PrepareIntendedDeployment

func PrepareIntendedDeployment(instanceDeployment *appsv1.Deployment,
	commonConfiguration *CommonConfiguration,
	instanceType string,
	request reconcile.Request,
	scheme *runtime.Scheme,
	object v1.Object) (*appsv1.Deployment, error)

PrepareIntendedDeployment prepares the intended deployment.

func PrepareSTS

func PrepareSTS(sts *appsv1.StatefulSet,
	commonConfiguration *CommonConfiguration,
	instanceType string,
	request reconcile.Request,
	scheme *runtime.Scheme,
	object v1.Object,
	client client.Client,
	waitForInit bool) error

PrepareSTS prepares the intended podList.

func RandomString

func RandomString(size int) string

RandomString creates a random string of size

func SetDSCommonConfiguration

func SetDSCommonConfiguration(ds *appsv1.DaemonSet,
	commonConfiguration *CommonConfiguration)

SetDSCommonConfiguration takes common configuration parameters and applies it to the pod.

func SetDeploymentCommonConfiguration

func SetDeploymentCommonConfiguration(deployment *appsv1.Deployment,
	commonConfiguration *CommonConfiguration) *appsv1.Deployment

SetDeploymentCommonConfiguration takes common configuration parameters and applies it to the deployment.

func SetInstanceActive

func SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request, object runtime.Object) error

SetInstanceActive sets the instance to active.

func SetPodsToReady

func SetPodsToReady(podList *corev1.PodList, client client.Client) error

SetPodsToReady sets the status label of a POD to ready.

func SetSTSCommonConfiguration

func SetSTSCommonConfiguration(sts *appsv1.StatefulSet,
	commonConfiguration *CommonConfiguration)

SetSTSCommonConfiguration takes common configuration parameters and applies it to the pod.

func StatusMonitorConfig

func StatusMonitorConfig(hostname string, configNodeList []string, podIP string, nodeType string, nodeName string, namespace string) (string, error)

func UpdateSTS

func UpdateSTS(sts *appsv1.StatefulSet,
	commonConfiguration *CommonConfiguration,
	instanceType string,
	request reconcile.Request,
	scheme *runtime.Scheme,
	reconcileClient client.Client,
	strategy string) error

UpdateSTS updates the STS.

Types

type AAAMode

type AAAMode string

+kubebuilder:validation:Enum=noauth;rbac

const (
	AAAModeNoAuth AAAMode = "no-auth"
	AAAModeRBAC   AAAMode = "rbac"
)

type APIServer

type APIServer struct {
	APIPort       string     `yaml:"apiPort,omitempty"`
	APIServerList []string   `yaml:"apiServerList,omitempty"`
	Encryption    Encryption `yaml:"encryption,omitempty"`
}

func (*APIServer) DeepCopy

func (in *APIServer) DeepCopy() *APIServer

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

func (*APIServer) DeepCopyInto

func (in *APIServer) DeepCopyInto(out *APIServer)

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

type ActiveStatus

type ActiveStatus struct {
	Active *bool `json:"active,omitempty"`
}

ActiveStatus signals the current status

func (*ActiveStatus) DeepCopy

func (in *ActiveStatus) DeepCopy() *ActiveStatus

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

func (*ActiveStatus) DeepCopyInto

func (in *ActiveStatus) DeepCopyInto(out *ActiveStatus)

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

type AnalyticsNode

type AnalyticsNode struct {
	IPAddress string `yaml:"ipAddress,omitempty"`
	Hostname  string `yaml:"hostname,omitempty"`
}

func (*AnalyticsNode) DeepCopy

func (in *AnalyticsNode) DeepCopy() *AnalyticsNode

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

func (*AnalyticsNode) DeepCopyInto

func (in *AnalyticsNode) DeepCopyInto(out *AnalyticsNode)

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

type AuthenticationMode

type AuthenticationMode string

+kubebuilder:validation:Enum=noauth;keystone

const (
	AuthenticationModeNoAuth   AuthenticationMode = "noauth"
	AuthenticationModeKeystone AuthenticationMode = "keystone"
)

type BGPPeer

type BGPPeer struct {
	Up     string
	Number string
}

+k8s:openapi-gen=true

func (*BGPPeer) DeepCopy

func (in *BGPPeer) DeepCopy() *BGPPeer

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

func (*BGPPeer) DeepCopyInto

func (in *BGPPeer) DeepCopyInto(out *BGPPeer)

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

type Cassandra

type Cassandra struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CassandraSpec   `json:"spec,omitempty"`
	Status CassandraStatus `json:"status,omitempty"`
}

Cassandra is the Schema for the cassandras API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Cassandra) AddSecretVolumesToIntendedSTS

func (c *Cassandra) AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*Cassandra) AddVolumesToIntendedSTS

func (c *Cassandra) AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to the Cassandra deployment.

func (*Cassandra) ConfigurationParameters

func (c *Cassandra) ConfigurationParameters() interface{}

ConfigurationParameters sets the default for the configuration parameters.

func (*Cassandra) CreateConfigMap

func (c *Cassandra) CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.ConfigMap, error)

CreateConfigMap creates a configmap for cassandra service.

func (*Cassandra) CreateSTS

func (c *Cassandra) CreateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client) error

CreateSTS creates the STS.

func (*Cassandra) CreateSecret

func (c *Cassandra) CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.Secret, error)

CreateSecret creates a secret.

func (*Cassandra) DeepCopy

func (in *Cassandra) DeepCopy() *Cassandra

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

func (*Cassandra) DeepCopyInto

func (in *Cassandra) DeepCopyInto(out *Cassandra)

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

func (*Cassandra) DeepCopyObject

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

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

func (*Cassandra) InstanceConfiguration

func (c *Cassandra) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client) error

InstanceConfiguration creates the cassandra instance configuration.

func (*Cassandra) IsActive

func (c *Cassandra) IsActive(name string, namespace string, client client.Client) bool

IsActive returns true if instance is active.

func (*Cassandra) IsUpgrading

func (c *Cassandra) IsUpgrading(name string, namespace string, client client.Client) bool

IsUpgrading returns true if instance is upgrading.

func (*Cassandra) ManageNodeStatus

func (c *Cassandra) ManageNodeStatus(podNameIPMap map[string]string,
	client client.Client) error

ManageNodeStatus manages the status of the Cassandra nodes.

func (*Cassandra) OwnedByManager

func (c *Cassandra) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

OwnedByManager checks of the cassandra object is owned by the Manager.

func (*Cassandra) PodIPListAndIPMapFromInstance

func (c *Cassandra) PodIPListAndIPMapFromInstance(instanceType string, request reconcile.Request, reconcileClient client.Client) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*Cassandra) PrepareSTS

func (c *Cassandra) PrepareSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme, client client.Client) error

PrepareSTS prepares the intended deployment for the Cassandra object.

func (*Cassandra) SetInstanceActive

func (c *Cassandra) SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request) error

SetInstanceActive sets the Cassandra instance to active.

func (*Cassandra) SetPodsToReady

func (c *Cassandra) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

SetPodsToReady sets Cassandra PODs to ready.

func (*Cassandra) UpdateSTS

func (c *Cassandra) UpdateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client, strategy string) error

UpdateSTS updates the STS.

type CassandraClusterConfiguration

type CassandraClusterConfiguration struct {
	Port                            string
	CQLPort                         string
	JMXPort                         string
	ServerListCommaSeparated        string
	ServerListSpaceSeparated        string
	ServerListCQLCommaSeparated     string
	ServerListCQLSpaceSeparated     string
	ServerListJMXCommaSeparated     string
	ServerListJMXSpaceSeparated     string
	ServerListCommanSeparatedQuoted string
}

CassandraClusterConfiguration defines all configuration knobs used to write the config file.

func NewCassandraClusterConfiguration

func NewCassandraClusterConfiguration(name string, namespace string, client client.Client) (*CassandraClusterConfiguration, error)

NewCassandraClusterConfiguration gets a struct containing various representations of Cassandra nodes string.

func (*CassandraClusterConfiguration) DeepCopy

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

func (*CassandraClusterConfiguration) DeepCopyInto

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

type CassandraConfiguration

type CassandraConfiguration struct {
	Containers     map[string]*Container `json:"containers,omitempty"`
	ClusterName    string                `json:"clusterName,omitempty"`
	ListenAddress  string                `json:"listenAddress,omitempty"`
	Port           *int                  `json:"port,omitempty"`
	CqlPort        *int                  `json:"cqlPort,omitempty"`
	SslStoragePort *int                  `json:"sslStoragePort,omitempty"`
	StoragePort    *int                  `json:"storagePort,omitempty"`
	JmxLocalPort   *int                  `json:"jmxLocalPort,omitempty"`
	MaxHeapSize    string                `json:"maxHeapSize,omitempty"`
	MinHeapSize    string                `json:"minHeapSize,omitempty"`
	StartRPC       *bool                 `json:"startRPC,omitempty"`
	Storage        Storage               `json:"storage,omitempty"`
}

CassandraConfiguration is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*CassandraConfiguration) DeepCopy

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

func (*CassandraConfiguration) DeepCopyInto

func (in *CassandraConfiguration) DeepCopyInto(out *CassandraConfiguration)

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

type CassandraList

type CassandraList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Cassandra `json:"items"`
}

CassandraList contains a list of Cassandra. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CassandraList) DeepCopy

func (in *CassandraList) DeepCopy() *CassandraList

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

func (*CassandraList) DeepCopyInto

func (in *CassandraList) DeepCopyInto(out *CassandraList)

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

func (*CassandraList) DeepCopyObject

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

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

type CassandraSpec

type CassandraSpec struct {
	CommonConfiguration  CommonConfiguration    `json:"commonConfiguration"`
	ServiceConfiguration CassandraConfiguration `json:"serviceConfiguration"`
}

CassandraSpec is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*CassandraSpec) DeepCopy

func (in *CassandraSpec) DeepCopy() *CassandraSpec

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

func (*CassandraSpec) DeepCopyInto

func (in *CassandraSpec) DeepCopyInto(out *CassandraSpec)

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

type CassandraStatus

type CassandraStatus struct {
	Active *bool                `json:"active,omitempty"`
	Nodes  map[string]string    `json:"nodes,omitempty"`
	Ports  CassandraStatusPorts `json:"ports,omitempty"`
}

CassandraStatus defines the status of the cassandra object. +k8s:openapi-gen=true

func (*CassandraStatus) DeepCopy

func (in *CassandraStatus) DeepCopy() *CassandraStatus

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

func (*CassandraStatus) DeepCopyInto

func (in *CassandraStatus) DeepCopyInto(out *CassandraStatus)

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

type CassandraStatusPorts

type CassandraStatusPorts struct {
	Port    string `json:"port,omitempty"`
	CqlPort string `json:"cqlPort,omitempty"`
	JmxPort string `json:"jmxPort,omitempty"`
}

CassandraStatusPorts defines the status of the ports of the cassandra object.

func (*CassandraStatusPorts) DeepCopy

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

func (*CassandraStatusPorts) DeepCopyInto

func (in *CassandraStatusPorts) DeepCopyInto(out *CassandraStatusPorts)

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

type Command

type Command struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CommandSpec   `json:"spec,omitempty"`
	Status CommandStatus `json:"status,omitempty"`
}

Command is the Schema for the commands API +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Command) DeepCopy

func (in *Command) DeepCopy() *Command

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

func (*Command) DeepCopyInto

func (in *Command) DeepCopyInto(out *Command)

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

func (*Command) DeepCopyObject

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

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

func (*Command) PrepareIntendedDeployment

func (c *Command) PrepareIntendedDeployment(
	instanceDeployment *appsv1.Deployment, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme,
) (*appsv1.Deployment, error)

type CommandClusterConfiguration

type CommandClusterConfiguration struct {
	AdminUsername string
	AdminPassword string
}

CommandClusterConfiguration defines all configuration knobs used to write the config file.

func (*CommandClusterConfiguration) DeepCopy

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

func (*CommandClusterConfiguration) DeepCopyInto

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

type CommandConfiguration

type CommandConfiguration struct {
	ClusterName        string                `json:"clusterName,omitempty"`
	ConfigAPIURL       string                `json:"configAPIURL,omitempty"`
	TelemetryURL       string                `json:"telemetryURL,omitempty"`
	PostgresInstance   string                `json:"postgresInstance,omitempty"`
	SwiftInstance      string                `json:"swiftInstance,omitempty"`
	KeystoneInstance   string                `json:"keystoneInstance,omitempty"`
	KeystoneSecretName string                `json:"keystoneSecretName,omitempty"`
	Containers         map[string]*Container `json:"containers,omitempty"`
}

CommandConfiguration is the Spec for the Command configuration +k8s:openapi-gen=true

func (*CommandConfiguration) DeepCopy

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

func (*CommandConfiguration) DeepCopyInto

func (in *CommandConfiguration) DeepCopyInto(out *CommandConfiguration)

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

type CommandList

type CommandList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Command `json:"items"`
}

CommandList contains a list of Command

func (*CommandList) DeepCopy

func (in *CommandList) DeepCopy() *CommandList

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

func (*CommandList) DeepCopyInto

func (in *CommandList) DeepCopyInto(out *CommandList)

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

func (*CommandList) DeepCopyObject

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

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

type CommandSpec

type CommandSpec struct {
	CommonConfiguration  CommonConfiguration  `json:"commonConfiguration"`
	ServiceConfiguration CommandConfiguration `json:"serviceConfiguration"`
}

CommandSpec defines the desired state of Command +k8s:openapi-gen=true

func (*CommandSpec) DeepCopy

func (in *CommandSpec) DeepCopy() *CommandSpec

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

func (*CommandSpec) DeepCopyInto

func (in *CommandSpec) DeepCopyInto(out *CommandSpec)

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

type CommandStatus

type CommandStatus struct {
	Active bool     `json:"active,omitempty"`
	IPs    []string `json:"ips,omitempty"`
}

CommandStatus defines the observed state of Command +k8s:openapi-gen=true

func (*CommandStatus) DeepCopy

func (in *CommandStatus) DeepCopy() *CommandStatus

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

func (*CommandStatus) DeepCopyInto

func (in *CommandStatus) DeepCopyInto(out *CommandStatus)

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

type CommonConfiguration

type CommonConfiguration struct {
	// Activate defines if the service will be activated by Manager.
	Activate *bool `json:"activate,omitempty"`
	// Create defines if the service will be created by Manager.
	Create *bool `json:"create,omitempty"`
	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,7,rep,name=nodeSelector"`
	// Host networking requested for this pod. Use the host's network namespace.
	// If this option is set, the ports that will be used must be specified.
	// Default to false.
	// +k8s:conversion-gen=false
	// +optional
	HostNetwork *bool `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"`
	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	// +optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
}

CommonConfiguration is the common services struct. +k8s:openapi-gen=true

func (*CommonConfiguration) DeepCopy

func (in *CommonConfiguration) DeepCopy() *CommonConfiguration

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

func (*CommonConfiguration) DeepCopyInto

func (in *CommonConfiguration) DeepCopyInto(out *CommonConfiguration)

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

type ConditionStatus

type ConditionStatus string

ConditionStatus is used to indicate state of condition.

const (
	ConditionTrue  ConditionStatus = "True"
	ConditionFalse ConditionStatus = "False"
)

These are valid condition statuses. "ConditionTrue" means a resource is in the condition. "ConditionFalse" means a resource is not in the condition.

type Config

type Config struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ConfigSpec   `json:"spec,omitempty"`
	Status ConfigStatus `json:"status,omitempty"`
}

Config is the Schema for the configs API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Config) AddSecretVolumesToIntendedSTS

func (c *Config) AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*Config) AddVolumesToIntendedSTS

func (c *Config) AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to the config statefulset

func (*Config) AuthParameters

func (c *Config) AuthParameters(client client.Client) (*ConfigAuthParameters, error)

func (*Config) ConfigurationParameters

func (c *Config) ConfigurationParameters() interface{}

func (*Config) CreateConfigMap

func (c *Config) CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.ConfigMap, error)

func (*Config) CreateSTS

func (c *Config) CreateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client) error

CreateSTS creates the STS

func (*Config) CreateSecret

func (c *Config) CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.Secret, error)

CreateSecret creates a secret.

func (*Config) CurrentConfigMapExists

func (c *Config) CurrentConfigMapExists(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (corev1.ConfigMap, bool)

CurrentConfigMapExists checks if a current configuration exists and returns it.

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

func (*Config) DeepCopyObject

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

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

func (*Config) InstanceConfiguration

func (c *Config) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client) error

func (*Config) IsActive

func (c *Config) IsActive(name string, namespace string, myclient client.Client) bool

IsActive returns true if instance is active

func (*Config) ManageNodeStatus

func (c *Config) ManageNodeStatus(podNameIPMap map[string]string,
	client client.Client) error

func (*Config) OwnedByManager

func (c *Config) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

func (*Config) PodIPListAndIPMapFromInstance

func (c *Config) PodIPListAndIPMapFromInstance(request reconcile.Request, reconcileClient client.Client) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*Config) PrepareSTS

func (c *Config) PrepareSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme, client client.Client) error

PrepareSTS prepares the intented statefulset for the config object

func (*Config) SetInstanceActive

func (c *Config) SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request) error

SetInstanceActive sets the Cassandra instance to active

func (*Config) SetPodsToReady

func (c *Config) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

func (*Config) UpdateSTS

func (c *Config) UpdateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client, strategy string) error

UpdateSTS updates the STS

func (*Config) WaitForPeerPods

func (c *Config) WaitForPeerPods(request reconcile.Request, reconcileClient client.Client) error

type ConfigAuthParameters

type ConfigAuthParameters struct {
	AdminUsername string
	AdminPassword string
	KeystoneIP    string
	KeystonePort  int
}

func (*ConfigAuthParameters) DeepCopy

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

func (*ConfigAuthParameters) DeepCopyInto

func (in *ConfigAuthParameters) DeepCopyInto(out *ConfigAuthParameters)

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

type ConfigClusterConfiguration

type ConfigClusterConfiguration struct {
	APIServerPort                           string
	APIServerListSpaceSeparated             string
	APIServerListQuotedCommaSeparated       string
	APIServerListCommaSeparated             string
	AnalyticsServerPort                     string
	AnalyticsServerListSpaceSeparated       string
	AnalyticsServerListQuotedCommaSeparated string
	CollectorServerListSpaceSeparated       string
	CollectorPort                           string
	FirstAPIServer                          string
	RedisPort                               string
	AuthMode                                AuthenticationMode
}

ConfigClusterConfiguration defines all configuration knobs used to write the config file.

func NewConfigClusterConfiguration

func NewConfigClusterConfiguration(name string, namespace string, myclient client.Client) (*ConfigClusterConfiguration, error)

NewConfigClusterConfiguration gets a struct containing various representations of Config nodes string.

func (*ConfigClusterConfiguration) DeepCopy

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

func (*ConfigClusterConfiguration) DeepCopyInto

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

type ConfigConfiguration

type ConfigConfiguration struct {
	Containers         map[string]*Container `json:"containers,omitempty"`
	APIPort            *int                  `json:"apiPort,omitempty"`
	AnalyticsPort      *int                  `json:"analyticsPort,omitempty"`
	CollectorPort      *int                  `json:"collectorPort,omitempty"`
	RedisPort          *int                  `json:"redisPort,omitempty"`
	CassandraInstance  string                `json:"cassandraInstance,omitempty"`
	ZookeeperInstance  string                `json:"zookeeperInstance,omitempty"`
	NodeManager        *bool                 `json:"nodeManager,omitempty"`
	RabbitmqUser       string                `json:"rabbitmqUser,omitempty"`
	RabbitmqPassword   string                `json:"rabbitmqPassword,omitempty"`
	RabbitmqVhost      string                `json:"rabbitmqVhost,omitempty"`
	LogLevel           string                `json:"logLevel,omitempty"`
	KeystoneSecretName string                `json:"keystoneSecretName,omitempty"`
	KeystoneInstance   string                `json:"keystoneInstance,omitempty"`
	AuthMode           AuthenticationMode    `json:"authMode,omitempty"`
	AAAMode            AAAMode               `json:"aaaMode,omitempty"`
	Storage            Storage               `json:"storage,omitempty"`
	FabricMgmtIP       string                `json:"fabricMgmtIP,omitempty"`
}

ConfigConfiguration is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*ConfigConfiguration) DeepCopy

func (in *ConfigConfiguration) DeepCopy() *ConfigConfiguration

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

func (*ConfigConfiguration) DeepCopyInto

func (in *ConfigConfiguration) DeepCopyInto(out *ConfigConfiguration)

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

type ConfigList

type ConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Config `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object ConfigList contains a list of Config.

func (*ConfigList) DeepCopy

func (in *ConfigList) DeepCopy() *ConfigList

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

func (*ConfigList) DeepCopyInto

func (in *ConfigList) DeepCopyInto(out *ConfigList)

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

func (*ConfigList) DeepCopyObject

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

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

type ConfigNode

type ConfigNode struct {
	IPAddress string `yaml:"ipAddress,omitempty"`
	Hostname  string `yaml:"hostname,omitempty"`
}

func (*ConfigNode) DeepCopy

func (in *ConfigNode) DeepCopy() *ConfigNode

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

func (*ConfigNode) DeepCopyInto

func (in *ConfigNode) DeepCopyInto(out *ConfigNode)

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

type ConfigSpec

type ConfigSpec struct {
	CommonConfiguration  CommonConfiguration `json:"commonConfiguration"`
	ServiceConfiguration ConfigConfiguration `json:"serviceConfiguration"`
}

ConfigSpec is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*ConfigSpec) DeepCopy

func (in *ConfigSpec) DeepCopy() *ConfigSpec

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

func (*ConfigSpec) DeepCopyInto

func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)

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

type ConfigStatus

type ConfigStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
	Active        *bool             `json:"active,omitempty"`
	Nodes         map[string]string `json:"nodes,omitempty"`
	Ports         ConfigStatusPorts `json:"ports,omitempty"`
	ConfigChanged *bool             `json:"configChanged,omitempty"`
}

+k8s:openapi-gen=true

func (*ConfigStatus) DeepCopy

func (in *ConfigStatus) DeepCopy() *ConfigStatus

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

func (*ConfigStatus) DeepCopyInto

func (in *ConfigStatus) DeepCopyInto(out *ConfigStatus)

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

type ConfigStatusPorts

type ConfigStatusPorts struct {
	APIPort       string `json:"apiPort,omitempty"`
	AnalyticsPort string `json:"analyticsPort,omitempty"`
	CollectorPort string `json:"collectorPort,omitempty"`
	RedisPort     string `json:"redisPort,omitempty"`
}

func (*ConfigStatusPorts) DeepCopy

func (in *ConfigStatusPorts) DeepCopy() *ConfigStatusPorts

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

func (*ConfigStatusPorts) DeepCopyInto

func (in *ConfigStatusPorts) DeepCopyInto(out *ConfigStatusPorts)

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

type Connection

type Connection struct {
	Type   string
	Name   string
	Status string
	Nodes  []string
}

+k8s:openapi-gen=true

func (*Connection) DeepCopy

func (in *Connection) DeepCopy() *Connection

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

func (*Connection) DeepCopyInto

func (in *Connection) DeepCopyInto(out *Connection)

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

type Container

type Container struct {
	Image   string   `json:"image,omitempty"`
	Command []string `json:"command,omitempty"`
}

Container defines name, image and command. +k8s:openapi-gen=true

func (*Container) DeepCopy

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

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

type Control

type Control struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ControlSpec   `json:"spec,omitempty"`
	Status ControlStatus `json:"status,omitempty"`
}

Control is the Schema for the controls API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Control) AddSecretVolumesToIntendedSTS

func (c *Control) AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*Control) AddVolumesToIntendedSTS

func (c *Control) AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to the Control deployment.

func (*Control) ConfigurationParameters

func (c *Control) ConfigurationParameters() interface{}

func (*Control) CreateConfigMap

func (c *Control) CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.ConfigMap, error)

func (*Control) CreateSTS

func (c *Control) CreateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client) error

CreateSTS creates the STS.

func (*Control) CreateSecret

func (c *Control) CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.Secret, error)

CreateSecret creates a secret.

func (*Control) DeepCopy

func (in *Control) DeepCopy() *Control

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

func (*Control) DeepCopyInto

func (in *Control) DeepCopyInto(out *Control)

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

func (*Control) DeepCopyObject

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

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

func (*Control) InstanceConfiguration

func (c *Control) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client) error

func (*Control) IsActive

func (c *Control) IsActive(name string, namespace string, client client.Client) bool

IsActive returns true if instance is active.

func (*Control) ManageNodeStatus

func (c *Control) ManageNodeStatus(podNameIPMap map[string]string,
	client client.Client) error

func (*Control) OwnedByManager

func (c *Control) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

func (*Control) PodIPListAndIPMapFromInstance

func (c *Control) PodIPListAndIPMapFromInstance(instanceType string, request reconcile.Request, reconcileClient client.Client) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*Control) PrepareSTS

func (c *Control) PrepareSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme, client client.Client) error

PrepareSTS prepares the intended deployment for the Control object.

func (*Control) SetInstanceActive

func (c *Control) SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request) error

SetInstanceActive sets the Cassandra instance to active.

func (*Control) SetPodsToReady

func (c *Control) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

SetPodsToReady sets Control PODs to ready.

func (*Control) UpdateSTS

func (c *Control) UpdateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client, strategy string) error

UpdateSTS updates the STS.

type ControlClusterConfiguration

type ControlClusterConfiguration struct {
	BGPPort                         string
	DNSPort                         string
	DNSIntrospectPort               string
	ServerListXMPPCommaSeparated    string
	ServerListXMPPSpaceSeparated    string
	ServerListDNSCommaSeparated     string
	ServerListDNSSpaceSeparated     string
	ServerListCommanSeparatedQuoted string
}

ControlClusterConfiguration defines all configuration knobs used to write the config file.

func NewControlClusterConfiguration

func NewControlClusterConfiguration(name string, role string, namespace string, myclient client.Client) (*ControlClusterConfiguration, error)

NewControlClusterConfiguration gets a struct containing various representations of Control nodes string.

func (*ControlClusterConfiguration) DeepCopy

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

func (*ControlClusterConfiguration) DeepCopyInto

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

type ControlConfiguration

type ControlConfiguration struct {
	Containers        map[string]*Container `json:"containers,omitempty"`
	CassandraInstance string                `json:"cassandraInstance,omitempty"`
	ZookeeperInstance string                `json:"zookeeperInstance,omitempty"`
	BGPPort           *int                  `json:"bgpPort,omitempty"`
	ASNNumber         *int                  `json:"asnNumber,omitempty"`
	XMPPPort          *int                  `json:"xmppPort,omitempty"`
	DNSPort           *int                  `json:"dnsPort,omitempty"`
	DNSIntrospectPort *int                  `json:"dnsIntrospectPort,omitempty"`
	NodeManager       *bool                 `json:"nodeManager,omitempty"`
	RabbitmqUser      string                `json:"rabbitmqUser,omitempty"`
	RabbitmqPassword  string                `json:"rabbitmqPassword,omitempty"`
	RabbitmqVhost     string                `json:"rabbitmqVhost,omitempty"`
}

ControlConfiguration is the Spec for the controls API. +k8s:openapi-gen=true

func (*ControlConfiguration) DeepCopy

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

func (*ControlConfiguration) DeepCopyInto

func (in *ControlConfiguration) DeepCopyInto(out *ControlConfiguration)

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

type ControlList

type ControlList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Control `json:"items"`
}

ControlList contains a list of Control. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ControlList) DeepCopy

func (in *ControlList) DeepCopy() *ControlList

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

func (*ControlList) DeepCopyInto

func (in *ControlList) DeepCopyInto(out *ControlList)

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

func (*ControlList) DeepCopyObject

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

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

type ControlNode

type ControlNode struct {
	IPAddress string `yaml:"ipAddress,omitempty"`
	Hostname  string `yaml:"hostname,omitempty"`
	ASN       int    `yaml:"asn,omitempty"`
}

func (*ControlNode) DeepCopy

func (in *ControlNode) DeepCopy() *ControlNode

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

func (*ControlNode) DeepCopyInto

func (in *ControlNode) DeepCopyInto(out *ControlNode)

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

type ControlServiceStatus

type ControlServiceStatus struct {
	Connections              []Connection
	NumberOfXMPPPeers        string
	NumberOfRoutingInstances string
	StaticRoutes             StaticRoutes
	BGPPeer                  BGPPeer
	State                    string
}

+k8s:openapi-gen=true

func (*ControlServiceStatus) DeepCopy

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

func (*ControlServiceStatus) DeepCopyInto

func (in *ControlServiceStatus) DeepCopyInto(out *ControlServiceStatus)

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

type ControlSpec

type ControlSpec struct {
	CommonConfiguration  CommonConfiguration  `json:"commonConfiguration"`
	ServiceConfiguration ControlConfiguration `json:"serviceConfiguration"`
}

ControlSpec is the Spec for the controls API. +k8s:openapi-gen=true

func (*ControlSpec) DeepCopy

func (in *ControlSpec) DeepCopy() *ControlSpec

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

func (*ControlSpec) DeepCopyInto

func (in *ControlSpec) DeepCopyInto(out *ControlSpec)

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

type ControlStatus

type ControlStatus struct {
	Active        *bool                           `json:"active,omitempty"`
	Nodes         map[string]string               `json:"nodes,omitempty"`
	Ports         ControlStatusPorts              `json:"ports,omitempty"`
	ServiceStatus map[string]ControlServiceStatus `json:"serviceStatus,omitempty"`
}

+k8s:openapi-gen=true

func (*ControlStatus) DeepCopy

func (in *ControlStatus) DeepCopy() *ControlStatus

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

func (*ControlStatus) DeepCopyInto

func (in *ControlStatus) DeepCopyInto(out *ControlStatus)

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

type ControlStatusPorts

type ControlStatusPorts struct {
	BGPPort           string `json:"bgpPort,omitempty"`
	ASNNumber         string `json:"asnNumber,omitempty"`
	XMPPPort          string `json:"xmppPort,omitempty"`
	DNSPort           string `json:"dnsPort,omitempty"`
	DNSIntrospectPort string `json:"dnsIntrospectPort,omitempty"`
}

func (*ControlStatusPorts) DeepCopy

func (in *ControlStatusPorts) DeepCopy() *ControlStatusPorts

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

func (*ControlStatusPorts) DeepCopyInto

func (in *ControlStatusPorts) DeepCopyInto(out *ControlStatusPorts)

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

type CrdStatus

type CrdStatus struct {
	Name   string `json:"name,omitempty"`
	Active *bool  `json:"active,omitempty"`
}

CrdStatus tracks status of CRD. +k8s:openapi-gen=true

func (*CrdStatus) DeepCopy

func (in *CrdStatus) DeepCopy() *CrdStatus

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

func (*CrdStatus) DeepCopyInto

func (in *CrdStatus) DeepCopyInto(out *CrdStatus)

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

type DatabaseNode

type DatabaseNode struct {
	IPAddress string `yaml:"ipAddress,omitempty"`
	Hostname  string `yaml:"hostname,omitempty"`
}

func (*DatabaseNode) DeepCopy

func (in *DatabaseNode) DeepCopy() *DatabaseNode

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

func (*DatabaseNode) DeepCopyInto

func (in *DatabaseNode) DeepCopyInto(out *DatabaseNode)

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

type Distribution

type Distribution string
const (
	RHEL   Distribution = "rhel"
	CENTOS Distribution = "centos"
	UBUNTU Distribution = "ubuntu"
)

type Encryption

type Encryption struct {
	CA       string `yaml:"ca,omitempty"`
	Cert     string `yaml:"cert,omitempty"`
	Key      string `yaml:"key,omitempty"`
	Insecure bool   `yaml:"insecure,omitempty"`
}

func (*Encryption) DeepCopy

func (in *Encryption) DeepCopy() *Encryption

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

func (*Encryption) DeepCopyInto

func (in *Encryption) DeepCopyInto(out *Encryption)

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

type Keystone

type Keystone struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeystoneSpec   `json:"spec,omitempty"`
	Status KeystoneStatus `json:"status,omitempty"`
}

Keystone is the Schema for the keystones API +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Keystone) DeepCopy

func (in *Keystone) DeepCopy() *Keystone

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

func (*Keystone) DeepCopyInto

func (in *Keystone) DeepCopyInto(out *Keystone)

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

func (*Keystone) DeepCopyObject

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

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

type KeystoneAuthParameters

type KeystoneAuthParameters struct {
	AdminUsername string     `yaml:"admin_user,omitempty"`
	AdminPassword string     `yaml:"admin_password,omitempty"`
	AuthUrl       string     `yaml:"auth_url,omitempty"`
	TenantName    string     `yaml:"tenant_name,omitempty"`
	Encryption    Encryption `yaml:"encryption,omitempty"`
}

func (*KeystoneAuthParameters) DeepCopy

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

func (*KeystoneAuthParameters) DeepCopyInto

func (in *KeystoneAuthParameters) DeepCopyInto(out *KeystoneAuthParameters)

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

type KeystoneConfiguration

type KeystoneConfiguration struct {
	MemcachedInstance  string                `json:"memcachedInstance,omitempty"`
	ListenPort         int                   `json:"listenPort,omitempty"`
	PostgresInstance   string                `json:"postgresInstance,omitempty"`
	Containers         map[string]*Container `json:"containers,omitempty"`
	KeystoneSecretName string                `json:"keystoneSecretName,omitempty"`
	Storage            Storage               `json:"storage,omitempty"`
}

KeystoneConfiguration is the Spec for the keystone API. +k8s:openapi-gen=true

func (*KeystoneConfiguration) DeepCopy

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

func (*KeystoneConfiguration) DeepCopyInto

func (in *KeystoneConfiguration) DeepCopyInto(out *KeystoneConfiguration)

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

type KeystoneList

type KeystoneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Keystone `json:"items"`
}

KeystoneList contains a list of Keystone

func (*KeystoneList) DeepCopy

func (in *KeystoneList) DeepCopy() *KeystoneList

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

func (*KeystoneList) DeepCopyInto

func (in *KeystoneList) DeepCopyInto(out *KeystoneList)

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

func (*KeystoneList) DeepCopyObject

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

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

type KeystoneSpec

type KeystoneSpec struct {
	CommonConfiguration  CommonConfiguration   `json:"commonConfiguration"`
	ServiceConfiguration KeystoneConfiguration `json:"serviceConfiguration"`
}

KeystoneSpec defines the desired state of Keystone +k8s:openapi-gen=true

func (*KeystoneSpec) DeepCopy

func (in *KeystoneSpec) DeepCopy() *KeystoneSpec

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

func (*KeystoneSpec) DeepCopyInto

func (in *KeystoneSpec) DeepCopyInto(out *KeystoneSpec)

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

type KeystoneStatus

type KeystoneStatus struct {
	Active bool     `json:"active,omitempty"`
	Port   int      `json:"port,omitempty"`
	IPs    []string `json:"ips,omitempty"`
}

KeystoneStatus defines the observed state of Keystone +k8s:openapi-gen=true

func (*KeystoneStatus) DeepCopy

func (in *KeystoneStatus) DeepCopy() *KeystoneStatus

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

func (*KeystoneStatus) DeepCopyInto

func (in *KeystoneStatus) DeepCopyInto(out *KeystoneStatus)

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

type Kubemanager

type Kubemanager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KubemanagerSpec   `json:"spec,omitempty"`
	Status KubemanagerStatus `json:"status,omitempty"`
}

Kubemanager is the Schema for the kubemanagers API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Kubemanager) AddSecretVolumesToIntendedSTS

func (c *Kubemanager) AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*Kubemanager) AddVolumesToIntendedSTS

func (c *Kubemanager) AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to the Kubemanager deployment.

func (*Kubemanager) ConfigurationParameters

func (c *Kubemanager) ConfigurationParameters() interface{}

func (*Kubemanager) CreateConfigMap

func (c *Kubemanager) CreateConfigMap(configMapName string, client client.Client, scheme *runtime.Scheme, request reconcile.Request) (*corev1.ConfigMap, error)

func (*Kubemanager) CreateSTS

func (c *Kubemanager) CreateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client) error

CreateSTS creates the STS.

func (*Kubemanager) CreateSecret

func (c *Kubemanager) CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.Secret, error)

CreateSecret creates a secret.

func (*Kubemanager) CurrentConfigMapExists

func (c *Kubemanager) CurrentConfigMapExists(configMapName string, client client.Client, scheme *runtime.Scheme, request reconcile.Request) (corev1.ConfigMap, bool)

CurrentConfigMapExists checks if a current configuration exists and returns it.

func (*Kubemanager) DeepCopy

func (in *Kubemanager) DeepCopy() *Kubemanager

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

func (*Kubemanager) DeepCopyInto

func (in *Kubemanager) DeepCopyInto(out *Kubemanager)

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

func (*Kubemanager) DeepCopyObject

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

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

func (*Kubemanager) InstanceConfiguration

func (c *Kubemanager) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client,
	cinfo KubemanagerClusterInfo) error

func (*Kubemanager) IsActive

func (c *Kubemanager) IsActive(name string, namespace string, client client.Client) bool

IsActive returns true if instance is active.

func (*Kubemanager) ManageNodeStatus

func (c *Kubemanager) ManageNodeStatus(podNameIPMap map[string]string, client client.Client) error

func (*Kubemanager) OwnedByManager

func (c *Kubemanager) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

func (*Kubemanager) PodIPListAndIPMapFromInstance

func (c *Kubemanager) PodIPListAndIPMapFromInstance(instanceType string, request reconcile.Request, reconcileClient client.Client) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*Kubemanager) PrepareSTS

func (c *Kubemanager) PrepareSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme, client client.Client) error

PrepareSTS prepares the intended deployment for the Kubemanager object.

func (*Kubemanager) SetInstanceActive

func (c *Kubemanager) SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request) error

SetInstanceActive sets the Kubemanager instance to active.

func (*Kubemanager) SetPodsToReady

func (c *Kubemanager) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

SetPodsToReady sets Kubemanager PODs to ready.

func (*Kubemanager) UpdateSTS

func (c *Kubemanager) UpdateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client, strategy string) error

UpdateSTS updates the STS.

type KubemanagerClusterInfo

type KubemanagerClusterInfo interface {
	KubernetesAPISSLPort() (int, error)
	KubernetesAPIServer() (string, error)
	KubernetesClusterName() (string, error)
	PodSubnets() (string, error)
	ServiceSubnets() (string, error)
}

KubemanagerClusterInfo is interface for gathering information about cluster

type KubemanagerConfiguration

type KubemanagerConfiguration struct {
	Containers            map[string]*Container `json:"containers,omitempty"`
	CassandraInstance     string                `json:"cassandraInstance,omitempty"`
	ZookeeperInstance     string                `json:"zookeeperInstance,omitempty"`
	UseKubeadmConfig      *bool                 `json:"useKubeadmConfig,omitempty"`
	ServiceAccount        string                `json:"serviceAccount,omitempty"`
	ClusterRole           string                `json:"clusterRole,omitempty"`
	ClusterRoleBinding    string                `json:"clusterRoleBinding,omitempty"`
	CloudOrchestrator     string                `json:"cloudOrchestrator,omitempty"`
	KubernetesAPIServer   string                `json:"kubernetesAPIServer,omitempty"`
	KubernetesAPIPort     *int                  `json:"kubernetesAPIPort,omitempty"`
	KubernetesAPISSLPort  *int                  `json:"kubernetesAPISSLPort,omitempty"`
	PodSubnets            string                `json:"podSubnets,omitempty"`
	ServiceSubnets        string                `json:"serviceSubnets,omitempty"`
	KubernetesClusterName string                `json:"kubernetesClusterName,omitempty"`
	IPFabricSubnets       string                `json:"ipFabricSubnets,omitempty"`
	IPFabricForwarding    *bool                 `json:"ipFabricForwarding,omitempty"`
	IPFabricSnat          *bool                 `json:"ipFabricSnat,omitempty"`
	KubernetesTokenFile   string                `json:"kubernetesTokenFile,omitempty"`
	HostNetworkService    *bool                 `json:"hostNetworkService,omitempty"`
	RabbitmqUser          string                `json:"rabbitmqUser,omitempty"`
	RabbitmqPassword      string                `json:"rabbitmqPassword,omitempty"`
	RabbitmqVhost         string                `json:"rabbitmqVhost,omitempty"`
}

KubemanagerConfiguration is the Spec for the kubemanagers API. +k8s:openapi-gen=true

func (*KubemanagerConfiguration) DeepCopy

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

func (*KubemanagerConfiguration) DeepCopyInto

func (in *KubemanagerConfiguration) DeepCopyInto(out *KubemanagerConfiguration)

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

type KubemanagerList

type KubemanagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Kubemanager `json:"items"`
}

KubemanagerList contains a list of Kubemanager. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*KubemanagerList) DeepCopy

func (in *KubemanagerList) DeepCopy() *KubemanagerList

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

func (*KubemanagerList) DeepCopyInto

func (in *KubemanagerList) DeepCopyInto(out *KubemanagerList)

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

func (*KubemanagerList) DeepCopyObject

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

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

type KubemanagerSpec

type KubemanagerSpec struct {
	CommonConfiguration  CommonConfiguration      `json:"commonConfiguration"`
	ServiceConfiguration KubemanagerConfiguration `json:"serviceConfiguration"`
}

KubemanagerSpec is the Spec for the kubemanagers API. +k8s:openapi-gen=true

func (*KubemanagerSpec) DeepCopy

func (in *KubemanagerSpec) DeepCopy() *KubemanagerSpec

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

func (*KubemanagerSpec) DeepCopyInto

func (in *KubemanagerSpec) DeepCopyInto(out *KubemanagerSpec)

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

type KubemanagerStatus

type KubemanagerStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
	Active        *bool             `json:"active,omitempty"`
	Nodes         map[string]string `json:"nodes,omitempty"`
	ConfigChanged *bool             `json:"configChanged,omitempty"`
}

+k8s:openapi-gen=true

func (*KubemanagerStatus) DeepCopy

func (in *KubemanagerStatus) DeepCopy() *KubemanagerStatus

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

func (*KubemanagerStatus) DeepCopyInto

func (in *KubemanagerStatus) DeepCopyInto(out *KubemanagerStatus)

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

type Manager

type Manager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ManagerSpec   `json:"spec,omitempty"`
	Status ManagerStatus `json:"status,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object Manager is the Schema for the managers API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Manager) Cassandra

func (m *Manager) Cassandra() *Cassandra

func (*Manager) Create

func (m *Manager) Create(client client.Client) error

func (*Manager) DeepCopy

func (in *Manager) DeepCopy() *Manager

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

func (*Manager) DeepCopyInto

func (in *Manager) DeepCopyInto(out *Manager)

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

func (*Manager) DeepCopyObject

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

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

func (*Manager) Delete

func (m *Manager) Delete(client client.Client) error

func (*Manager) Get

func (m *Manager) Get(client client.Client, request reconcile.Request) error

func (*Manager) GetObjectFromObjectList

func (m *Manager) GetObjectFromObjectList(objectList *[]*interface{}, request reconcile.Request) interface{}

func (Manager) IsClusterReady

func (m Manager) IsClusterReady() bool

func (*Manager) Update

func (m *Manager) Update(client client.Client) error

type ManagerCondition

type ManagerCondition struct {
	// Type of manager condition.
	Type ManagerConditionType `json:"type"`
	// Status of the condition, one of True or False.
	Status ConditionStatus `json:"status"`
}

ManagerCondition is used to represent cluster condition

func (*ManagerCondition) DeepCopy

func (in *ManagerCondition) DeepCopy() *ManagerCondition

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

func (*ManagerCondition) DeepCopyInto

func (in *ManagerCondition) DeepCopyInto(out *ManagerCondition)

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

type ManagerConditionType

type ManagerConditionType string

ManagerConditionType is used to represent condition of manager.

const (
	ManagerReady ManagerConditionType = "Ready"
)

These are valid conditions of manager.

type ManagerList

type ManagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Manager `json:"items"`
}

ManagerList contains a list of Manager.

func (*ManagerList) DeepCopy

func (in *ManagerList) DeepCopy() *ManagerList

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

func (*ManagerList) DeepCopyInto

func (in *ManagerList) DeepCopyInto(out *ManagerList)

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

func (*ManagerList) DeepCopyObject

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

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

type ManagerSpec

type ManagerSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
	CommonConfiguration CommonConfiguration `json:"commonConfiguration,omitempty"`
	Services            Services            `json:"services,omitempty"`
	KeystoneSecretName  string              `json:"keystoneSecretName,omitempty"`
}

ManagerSpec defines the desired state of Manager. +k8s:openapi-gen=true

func (*ManagerSpec) DeepCopy

func (in *ManagerSpec) DeepCopy() *ManagerSpec

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

func (*ManagerSpec) DeepCopyInto

func (in *ManagerSpec) DeepCopyInto(out *ManagerSpec)

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

type ManagerStatus

type ManagerStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
	Config           *ServiceStatus   `json:"config,omitempty"`
	Controls         []*ServiceStatus `json:"controls,omitempty"`
	Kubemanagers     []*ServiceStatus `json:"kubemanagers,omitempty"`
	Webui            *ServiceStatus   `json:"webui,omitempty"`
	Vrouters         []*ServiceStatus `json:"vrouters,omitempty"`
	Cassandras       []*ServiceStatus `json:"cassandras,omitempty"`
	Zookeepers       []*ServiceStatus `json:"zookeepers,omitempty"`
	Rabbitmq         *ServiceStatus   `json:"rabbitmq,omitempty"`
	ProvisionManager *ServiceStatus   `json:"provisionManager,omitempty"`
	CrdStatus        []CrdStatus      `json:"crdStatus,omitempty"`
	Keystone         *ServiceStatus   `json:"keystone,omitempty"`
	Postgres         *ServiceStatus   `json:"postgres,omitempty"`
	Swift            *ServiceStatus   `json:"swift,omitempty"`
	Command          *ServiceStatus   `json:"command,omitempty"`
	Memcached        *ServiceStatus   `json:"memcached,omitempty"`
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []ManagerCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ManagerStatus defines the observed state of Manager. +k8s:openapi-gen=true

func (*ManagerStatus) DeepCopy

func (in *ManagerStatus) DeepCopy() *ManagerStatus

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

func (*ManagerStatus) DeepCopyInto

func (in *ManagerStatus) DeepCopyInto(out *ManagerStatus)

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"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MemcachedSpec   `json:"spec,omitempty"`
	Status MemcachedStatus `json:"status,omitempty"`
}

Memcached is the Schema for the memcacheds API +kubebuilder:subresource:status +kubebuilder:resource:path=memcacheds,scope=Namespaced

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.

type MemcachedConfiguration

type MemcachedConfiguration struct {
	Container Container `json:"container"`
	// +optional
	ListenPort int32 `json:"listenPort,omitempty"`
	// +optional
	ConnectionLimit int32 `json:"connectionLimit,omitempty"`
	// +optional
	MaxMemory int32 `json:"maxMemory,omitempty"`
}

func (*MemcachedConfiguration) DeepCopy

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

func (*MemcachedConfiguration) DeepCopyInto

func (in *MemcachedConfiguration) DeepCopyInto(out *MemcachedConfiguration)

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

func (*MemcachedConfiguration) GetConnectionLimit

func (m *MemcachedConfiguration) GetConnectionLimit() int32

func (*MemcachedConfiguration) GetListenPort

func (m *MemcachedConfiguration) GetListenPort() int32

func (*MemcachedConfiguration) GetMaxMemory

func (m *MemcachedConfiguration) GetMaxMemory() int32

type MemcachedList

type MemcachedList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Memcached `json:"items"`
}

MemcachedList contains a list of Memcached

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 {
	ServiceConfiguration MemcachedConfiguration `json:"serviceConfiguration"`
}

MemcachedSpec defines the desired state of Memcached

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.

type MemcachedStatus

type MemcachedStatus struct {
	Active bool   `json:"active,omitempty"`
	Node   string `json:"node,omitempty"`
}

MemcachedStatus defines the observed state of Memcached

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 MonitorConfig

type MonitorConfig struct {
	APIServerList  []string          `yaml:"apiServerList,omitempty"`
	Encryption     MonitorEncryption `yaml:"encryption,omitempty"`
	NodeType       string            `yaml:"nodeType,omitempty"`
	Interval       int64             `yaml:"interval,omitempty"`
	Hostname       string            `yaml:"hostname,omitempty"`
	InCluster      *bool             `yaml:"inCluster,omitempty"`
	KubeConfigPath string            `yaml:"kubeConfigPath,omitempty"`
	NodeName       string            `yaml:"nodeName,omitempty"`
	Namespace      string            `yaml:"namespace,omitempty"`
}

func (*MonitorConfig) DeepCopy

func (in *MonitorConfig) DeepCopy() *MonitorConfig

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

func (*MonitorConfig) DeepCopyInto

func (in *MonitorConfig) DeepCopyInto(out *MonitorConfig)

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

type MonitorEncryption

type MonitorEncryption struct {
	CA       *string `yaml:"ca,omitempty"`
	Cert     *string `yaml:"cert,omitempty"`
	Key      *string `yaml:"key,omitempty"`
	Insecure bool    `yaml:"insecure,omitempty"`
}

func (*MonitorEncryption) DeepCopy

func (in *MonitorEncryption) DeepCopy() *MonitorEncryption

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

func (*MonitorEncryption) DeepCopyInto

func (in *MonitorEncryption) DeepCopyInto(out *MonitorEncryption)

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"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PostgresSpec   `json:"spec,omitempty"`
	Status PostgresStatus `json:"status,omitempty"`
}

Postgres is the Schema for the postgres API +k8s:openapi-gen=true +kubebuilder:subresource:status

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.

type PostgresList

type PostgresList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Postgres `json:"items"`
}

PostgresList contains a list of Postgres

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 PostgresSpec

type PostgresSpec struct {
	Containers  map[string]*Container `json:"containers,omitempty"`
	Storage     Storage               `json:"storage,omitempty"`
	HostNetwork *bool                 `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"`
}

PostgresSpec defines the desired state of Postgres +k8s:openapi-gen=true

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.

type PostgresStatus

type PostgresStatus struct {
	Active bool   `json:"active,omitempty"`
	Node   string `json:"node,omitempty"`
}

PostgresStatus defines the observed state of Postgres +k8s:openapi-gen=true

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 ProvisionManager

type ProvisionManager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ProvisionManagerSpec   `json:"spec,omitempty"`
	Status ProvisionManagerStatus `json:"status,omitempty"`
}

ProvisionManager is the Schema for the provisionmanagers API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=provisionmanagers,scope=Namespaced

func (*ProvisionManager) AddSecretVolumesToIntendedSTS

func (c *ProvisionManager) AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*ProvisionManager) AddVolumesToIntendedSTS

func (c *ProvisionManager) AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to the config statefulset

func (*ProvisionManager) CreateConfigMap

func (c *ProvisionManager) CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.ConfigMap, error)

func (*ProvisionManager) CreateSTS

func (c *ProvisionManager) CreateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client) error

CreateSTS creates the STS

func (*ProvisionManager) CreateSecret

func (c *ProvisionManager) CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.Secret, error)

CreateSecret creates a secret.

func (*ProvisionManager) DeepCopy

func (in *ProvisionManager) DeepCopy() *ProvisionManager

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

func (*ProvisionManager) DeepCopyInto

func (in *ProvisionManager) DeepCopyInto(out *ProvisionManager)

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

func (*ProvisionManager) DeepCopyObject

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

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

func (*ProvisionManager) InstanceConfiguration

func (c *ProvisionManager) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client) error

func (*ProvisionManager) OwnedByManager

func (c *ProvisionManager) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

func (*ProvisionManager) PodIPListAndIPMapFromInstance

func (c *ProvisionManager) PodIPListAndIPMapFromInstance(request reconcile.Request, reconcileClient client.Client) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*ProvisionManager) PrepareSTS

func (c *ProvisionManager) PrepareSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme, client client.Client) error

PrepareSTS prepares the intented statefulset for the config object

func (*ProvisionManager) SetInstanceActive

func (c *ProvisionManager) SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request) error

SetInstanceActive sets the ProvisionManager instance to active.

func (*ProvisionManager) SetPodsToReady

func (c *ProvisionManager) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

func (*ProvisionManager) UpdateSTS

func (c *ProvisionManager) UpdateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client, strategy string) error

UpdateSTS updates the STS

type ProvisionManagerConfiguration

type ProvisionManagerConfiguration struct {
	Containers         map[string]*Container `json:"containers,omitempty"`
	KeystoneSecretName string                `json:"keystoneSecretName,omitempty"`
	KeystoneInstance   string                `json:"keystoneInstance,omitempty"`
}

ProvisionManagerConfiguration defines the provision manager configuration +k8s:openapi-gen=true

func (*ProvisionManagerConfiguration) DeepCopy

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

func (*ProvisionManagerConfiguration) DeepCopyInto

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

type ProvisionManagerList

type ProvisionManagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ProvisionManager `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object ProvisionManagerList contains a list of ProvisionManager

func (*ProvisionManagerList) DeepCopy

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

func (*ProvisionManagerList) DeepCopyInto

func (in *ProvisionManagerList) DeepCopyInto(out *ProvisionManagerList)

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

func (*ProvisionManagerList) DeepCopyObject

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

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

type ProvisionManagerSpec

type ProvisionManagerSpec struct {
	CommonConfiguration  CommonConfiguration           `json:"commonConfiguration"`
	ServiceConfiguration ProvisionManagerConfiguration `json:"serviceConfiguration"`
}

ProvisionManagerSpec defines the desired state of ProvisionManager +k8s:openapi-gen=true

func (*ProvisionManagerSpec) DeepCopy

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

func (*ProvisionManagerSpec) DeepCopyInto

func (in *ProvisionManagerSpec) DeepCopyInto(out *ProvisionManagerSpec)

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

type ProvisionManagerStatus

type ProvisionManagerStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
	Active              *bool             `json:"active,omitempty"`
	Nodes               map[string]string `json:"nodes,omitempty"`
	GlobalConfiguration map[string]string `json:"globalConfiguration,omitempty"`
}

ProvisionManagerStatus defines the observed state of ProvisionManager +k8s:openapi-gen=true

func (*ProvisionManagerStatus) DeepCopy

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

func (*ProvisionManagerStatus) DeepCopyInto

func (in *ProvisionManagerStatus) DeepCopyInto(out *ProvisionManagerStatus)

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

type Rabbitmq

type Rabbitmq struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RabbitmqSpec   `json:"spec,omitempty"`
	Status RabbitmqStatus `json:"status,omitempty"`
}

Rabbitmq is the Schema for the rabbitmqs API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Rabbitmq) AddSecretVolumesToIntendedSTS

func (c *Rabbitmq) AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*Rabbitmq) AddVolumesToIntendedSTS

func (c *Rabbitmq) AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*Rabbitmq) ConfigurationParameters

func (c *Rabbitmq) ConfigurationParameters() interface{}

func (*Rabbitmq) CreateConfigMap

func (c *Rabbitmq) CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.ConfigMap, error)

func (*Rabbitmq) CreateSTS

func (c *Rabbitmq) CreateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client) error

CreateSTS creates the STS.

func (*Rabbitmq) CreateSecret

func (c *Rabbitmq) CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.Secret, error)

func (*Rabbitmq) DeepCopy

func (in *Rabbitmq) DeepCopy() *Rabbitmq

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

func (*Rabbitmq) DeepCopyInto

func (in *Rabbitmq) DeepCopyInto(out *Rabbitmq)

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

func (*Rabbitmq) DeepCopyObject

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

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

func (*Rabbitmq) InstanceConfiguration

func (c *Rabbitmq) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client) error

func (*Rabbitmq) IsActive

func (c *Rabbitmq) IsActive(name string, namespace string, myclient client.Client) bool

IsActive returns true if instance is active.

func (*Rabbitmq) IsUpgrading

func (c *Rabbitmq) IsUpgrading(name string, namespace string, client client.Client) bool

IsUpgrading returns true if instance is upgrading.

func (*Rabbitmq) ManageNodeStatus

func (c *Rabbitmq) ManageNodeStatus(podNameIPMap map[string]string,
	client client.Client) error

func (*Rabbitmq) OwnedByManager

func (c *Rabbitmq) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

func (*Rabbitmq) PodIPListAndIPMapFromInstance

func (c *Rabbitmq) PodIPListAndIPMapFromInstance(instanceType string, request reconcile.Request, reconcileClient client.Client) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*Rabbitmq) PrepareSTS

func (c *Rabbitmq) PrepareSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme, client client.Client) error

PrepareSTS prepares the intended deployment for the Rabbitmq object.

func (*Rabbitmq) SetInstanceActive

func (c *Rabbitmq) SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request) error

SetInstanceActive sets the Cassandra instance to active.

func (*Rabbitmq) SetPodsToReady

func (c *Rabbitmq) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

SetPodsToReady sets Rabbitmq PODs to ready.

func (*Rabbitmq) UpdateSTS

func (c *Rabbitmq) UpdateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client, strategy string) error

UpdateSTS updates the STS.

type RabbitmqClusterConfiguration

type RabbitmqClusterConfiguration struct {
	Port                                string
	SSLPort                             string
	ServerListCommaSeparated            string
	ServerListSpaceSeparated            string
	ServerListCommaSeparatedSSL         string
	ServerListSpaceSeparatedSSL         string
	ServerListCommaSeparatedWithoutPort string
	Secret                              string
}

RabbitmqClusterConfiguration defines all configuration knobs used to write the config file.

func NewRabbitmqClusterConfiguration

func NewRabbitmqClusterConfiguration(name string, namespace string, myclient client.Client) (*RabbitmqClusterConfiguration, error)

NewRabbitmqClusterConfiguration gets a struct containing various representations of Rabbitmq nodes string.

func (*RabbitmqClusterConfiguration) DeepCopy

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

func (*RabbitmqClusterConfiguration) DeepCopyInto

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

type RabbitmqConfiguration

type RabbitmqConfiguration struct {
	Containers   map[string]*Container `json:"containers,omitempty"`
	Port         *int                  `json:"port,omitempty"`
	SSLPort      *int                  `json:"sslPort,omitempty"`
	ErlangCookie string                `json:"erlangCookie,omitempty"`
	Vhost        string                `json:"vhost,omitempty"`
	User         string                `json:"user,omitempty"`
	Password     string                `json:"password,omitempty"`
	Secret       string                `json:"secret,omitempty"`
}

RabbitmqConfiguration is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*RabbitmqConfiguration) DeepCopy

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

func (*RabbitmqConfiguration) DeepCopyInto

func (in *RabbitmqConfiguration) DeepCopyInto(out *RabbitmqConfiguration)

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

type RabbitmqList

type RabbitmqList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Rabbitmq `json:"items"`
}

RabbitmqList contains a list of Rabbitmq.

func (*RabbitmqList) DeepCopy

func (in *RabbitmqList) DeepCopy() *RabbitmqList

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

func (*RabbitmqList) DeepCopyInto

func (in *RabbitmqList) DeepCopyInto(out *RabbitmqList)

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

func (*RabbitmqList) DeepCopyObject

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

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

type RabbitmqSpec

type RabbitmqSpec struct {
	CommonConfiguration  CommonConfiguration   `json:"commonConfiguration"`
	ServiceConfiguration RabbitmqConfiguration `json:"serviceConfiguration"`
}

RabbitmqSpec is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*RabbitmqSpec) DeepCopy

func (in *RabbitmqSpec) DeepCopy() *RabbitmqSpec

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

func (*RabbitmqSpec) DeepCopyInto

func (in *RabbitmqSpec) DeepCopyInto(out *RabbitmqSpec)

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

type RabbitmqStatus

type RabbitmqStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
	Active *bool               `json:"active,omitempty"`
	Nodes  map[string]string   `json:"nodes,omitempty"`
	Ports  RabbitmqStatusPorts `json:"ports,omitempty"`
	Secret string              `json:"secret,omitempty"`
}

+k8s:openapi-gen=true

func (*RabbitmqStatus) DeepCopy

func (in *RabbitmqStatus) DeepCopy() *RabbitmqStatus

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

func (*RabbitmqStatus) DeepCopyInto

func (in *RabbitmqStatus) DeepCopyInto(out *RabbitmqStatus)

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

type RabbitmqStatusPorts

type RabbitmqStatusPorts struct {
	Port    string `json:"port,omitempty"`
	SSLPort string `json:"sslPort,omitempty"`
}

func (*RabbitmqStatusPorts) DeepCopy

func (in *RabbitmqStatusPorts) DeepCopy() *RabbitmqStatusPorts

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

func (*RabbitmqStatusPorts) DeepCopyInto

func (in *RabbitmqStatusPorts) DeepCopyInto(out *RabbitmqStatusPorts)

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

type ServiceInstance

type ServiceInstance interface {
	Get(client.Client, reconcile.Request) error
	Update(client.Client) error
	Create(client.Client) error
	Delete(client.Client) error
}

ServiceInstance is the interface to manage instances.

type ServiceStatus

type ServiceStatus struct {
	Name    *string `json:"name,omitempty"`
	Active  *bool   `json:"active,omitempty"`
	Created *bool   `json:"created,omitempty"`
}

ServiceStatus provides information on the current status of the service. +k8s:openapi-gen=true

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

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

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

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

type Services

type Services struct {
	Config           *Config           `json:"config,omitempty"`
	Controls         []*Control        `json:"controls,omitempty"`
	Kubemanagers     []*Kubemanager    `json:"kubemanagers,omitempty"`
	Webui            *Webui            `json:"webui,omitempty"`
	Vrouters         []*Vrouter        `json:"vrouters,omitempty"`
	Cassandras       []*Cassandra      `json:"cassandras,omitempty"`
	Zookeepers       []*Zookeeper      `json:"zookeepers,omitempty"`
	Rabbitmq         *Rabbitmq         `json:"rabbitmq,omitempty"`
	ProvisionManager *ProvisionManager `json:"provisionManager,omitempty"`
	Command          *Command          `json:"command,omitempty"`
	Postgres         *Postgres         `json:"postgres,omitempty"`
	Keystone         *Keystone         `json:"keystone,omitempty"`
	Swift            *Swift            `json:"swift,omitempty"`
	Memcached        *Memcached        `json:"memcached,omitempty"`
}

Services defines the desired state of Services. +k8s:openapi-gen=true

func (*Services) DeepCopy

func (in *Services) DeepCopy() *Services

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

func (*Services) DeepCopyInto

func (in *Services) DeepCopyInto(out *Services)

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

type StaticRoutes

type StaticRoutes struct {
	Down   string
	Number string
}

+k8s:openapi-gen=true

func (*StaticRoutes) DeepCopy

func (in *StaticRoutes) DeepCopy() *StaticRoutes

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

func (*StaticRoutes) DeepCopyInto

func (in *StaticRoutes) DeepCopyInto(out *StaticRoutes)

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

type Status

type Status struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster.
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file.
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html.
	Active *bool             `json:"active,omitempty"`
	Nodes  map[string]string `json:"nodes,omitempty"`
	Ports  map[string]string `json:"ports,omitempty"`
}

Status is the status of the service. +k8s:openapi-gen=true

func (*Status) DeepCopy

func (in *Status) DeepCopy() *Status

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

func (*Status) DeepCopyInto

func (in *Status) DeepCopyInto(out *Status)

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

type Storage

type Storage struct {
	// +kubebuilder:validation:Pattern=^([0-9]+)([KMGTPE]i)?$
	Size string `json:"size,omitempty"` // The only reason we don't use resource.Quantity directly is we can't have regexp for different type than string
	Path string `json:"path,omitempty"`
}

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

func (Storage) SizeAsQuantity

func (s Storage) SizeAsQuantity() (resource.Quantity, error)

type Swift

type Swift struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SwiftSpec   `json:"spec,omitempty"`
	Status SwiftStatus `json:"status,omitempty"`
}

Swift is the Schema for the swifts API +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Swift) DeepCopy

func (in *Swift) DeepCopy() *Swift

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

func (*Swift) DeepCopyInto

func (in *Swift) DeepCopyInto(out *Swift)

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

func (*Swift) DeepCopyObject

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

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

type SwiftConfiguration

type SwiftConfiguration struct {
	Containers                map[string]*Container     `json:"containers,omitempty"`
	RingsStorage              Storage                   `json:"ringsStorage,omitempty"`
	SwiftStorageConfiguration SwiftStorageConfiguration `json:"swiftStorageConfiguration"`
	SwiftProxyConfiguration   SwiftProxyConfiguration   `json:"swiftProxyConfiguration"`
	CredentialsSecretName     string                    `json:"credentialsSecretName,omitempty"`
}

SwiftConfiguration is the Spec for the keystone API. +k8s:openapi-gen=true

func (*SwiftConfiguration) DeepCopy

func (in *SwiftConfiguration) DeepCopy() *SwiftConfiguration

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

func (*SwiftConfiguration) DeepCopyInto

func (in *SwiftConfiguration) DeepCopyInto(out *SwiftConfiguration)

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

type SwiftList

type SwiftList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Swift `json:"items"`
}

SwiftList contains a list of Swift

func (*SwiftList) DeepCopy

func (in *SwiftList) DeepCopy() *SwiftList

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

func (*SwiftList) DeepCopyInto

func (in *SwiftList) DeepCopyInto(out *SwiftList)

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

func (*SwiftList) DeepCopyObject

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

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

type SwiftProxy

type SwiftProxy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SwiftProxySpec   `json:"spec,omitempty"`
	Status SwiftProxyStatus `json:"status,omitempty"`
}

SwiftProxy is the Schema for the swiftproxies API +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*SwiftProxy) DeepCopy

func (in *SwiftProxy) DeepCopy() *SwiftProxy

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

func (*SwiftProxy) DeepCopyInto

func (in *SwiftProxy) DeepCopyInto(out *SwiftProxy)

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

func (*SwiftProxy) DeepCopyObject

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

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

type SwiftProxyConfiguration

type SwiftProxyConfiguration struct {
	MemcachedInstance         string                `json:"memcachedInstance,omitempty"`
	ListenPort                int                   `json:"listenPort,omitempty"`
	KeystoneInstance          string                `json:"keystoneInstance,omitempty"`
	KeystoneSecretName        string                `json:"keystoneSecretName,omitempty"`
	CredentialsSecretName     string                `json:"credentialsSecretName,omitempty"`
	SwiftConfSecretName       string                `json:"swiftConfSecretName,omitempty"`
	Containers                map[string]*Container `json:"containers,omitempty"`
	RingPersistentVolumeClaim string                `json:"ringPersistentVolumeClaim,omitempty"`
	Endpoint                  string                `json:"endpoint,omitempty"`
}

SwiftProxyConfiguration is the Spec for the keystone API. +k8s:openapi-gen=true

func (*SwiftProxyConfiguration) DeepCopy

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

func (*SwiftProxyConfiguration) DeepCopyInto

func (in *SwiftProxyConfiguration) DeepCopyInto(out *SwiftProxyConfiguration)

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

type SwiftProxyList

type SwiftProxyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SwiftProxy `json:"items"`
}

SwiftProxyList contains a list of SwiftProxy

func (*SwiftProxyList) DeepCopy

func (in *SwiftProxyList) DeepCopy() *SwiftProxyList

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

func (*SwiftProxyList) DeepCopyInto

func (in *SwiftProxyList) DeepCopyInto(out *SwiftProxyList)

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

func (*SwiftProxyList) DeepCopyObject

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

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

type SwiftProxySpec

type SwiftProxySpec struct {
	ServiceConfiguration SwiftProxyConfiguration `json:"serviceConfiguration"`
}

SwiftProxySpec defines the desired state of SwiftProxy +k8s:openapi-gen=true

func (*SwiftProxySpec) DeepCopy

func (in *SwiftProxySpec) DeepCopy() *SwiftProxySpec

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

func (*SwiftProxySpec) DeepCopyInto

func (in *SwiftProxySpec) DeepCopyInto(out *SwiftProxySpec)

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

type SwiftProxyStatus

type SwiftProxyStatus struct {
	Active bool `json:"active"`
}

SwiftProxyStatus defines the observed state of SwiftProxy +k8s:openapi-gen=true

func (*SwiftProxyStatus) DeepCopy

func (in *SwiftProxyStatus) DeepCopy() *SwiftProxyStatus

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

func (*SwiftProxyStatus) DeepCopyInto

func (in *SwiftProxyStatus) DeepCopyInto(out *SwiftProxyStatus)

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

type SwiftSpec

type SwiftSpec struct {
	ServiceConfiguration SwiftConfiguration `json:"serviceConfiguration"`
}

SwiftSpec defines the desired state of Swift +k8s:openapi-gen=true

func (*SwiftSpec) DeepCopy

func (in *SwiftSpec) DeepCopy() *SwiftSpec

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

func (*SwiftSpec) DeepCopyInto

func (in *SwiftSpec) DeepCopyInto(out *SwiftSpec)

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

type SwiftStatus

type SwiftStatus struct {
	Active                bool   `json:"active,omitempty"`
	SwiftProxyPort        int    `json:"swiftProxyPort,omitempty"`
	CredentialsSecretName string `json:"credentialsSecretName,omitempty"`
}

SwiftStatus defines the observed state of Swift +k8s:openapi-gen=true

func (*SwiftStatus) DeepCopy

func (in *SwiftStatus) DeepCopy() *SwiftStatus

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

func (*SwiftStatus) DeepCopyInto

func (in *SwiftStatus) DeepCopyInto(out *SwiftStatus)

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

type SwiftStorage

type SwiftStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SwiftStorageSpec   `json:"spec,omitempty"`
	Status SwiftStorageStatus `json:"status,omitempty"`
}

SwiftStorage is the Schema for the swiftstorages API +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*SwiftStorage) DeepCopy

func (in *SwiftStorage) DeepCopy() *SwiftStorage

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

func (*SwiftStorage) DeepCopyInto

func (in *SwiftStorage) DeepCopyInto(out *SwiftStorage)

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

func (*SwiftStorage) DeepCopyObject

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

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

type SwiftStorageConfiguration

type SwiftStorageConfiguration struct {
	AccountBindPort           int                   `json:"accountBindPort,omitempty"`
	ContainerBindPort         int                   `json:"containerBindPort,omitempty"`
	ObjectBindPort            int                   `json:"objectBindPort,omitempty"`
	SwiftConfSecretName       string                `json:"swiftConfSecretName,omitempty"`
	Device                    string                `json:"device,omitempty"`
	Containers                map[string]*Container `json:"containers,omitempty"`
	RingPersistentVolumeClaim string                `json:"ringPersistentVolumeClaim,omitempty"`
	Storage                   Storage               `json:"storage,omitempty"`
}

SwiftStorageConfiguration is the Spec for the keystone API. +k8s:openapi-gen=true

func (*SwiftStorageConfiguration) DeepCopy

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

func (*SwiftStorageConfiguration) DeepCopyInto

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

type SwiftStorageList

type SwiftStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SwiftStorage `json:"items"`
}

SwiftStorageList contains a list of SwiftStorage

func (*SwiftStorageList) DeepCopy

func (in *SwiftStorageList) DeepCopy() *SwiftStorageList

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

func (*SwiftStorageList) DeepCopyInto

func (in *SwiftStorageList) DeepCopyInto(out *SwiftStorageList)

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

func (*SwiftStorageList) DeepCopyObject

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

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

type SwiftStorageSpec

type SwiftStorageSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
	ServiceConfiguration SwiftStorageConfiguration `json:"serviceConfiguration"`
}

SwiftStorageSpec defines the desired state of SwiftStorage +k8s:openapi-gen=true

func (*SwiftStorageSpec) DeepCopy

func (in *SwiftStorageSpec) DeepCopy() *SwiftStorageSpec

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

func (*SwiftStorageSpec) DeepCopyInto

func (in *SwiftStorageSpec) DeepCopyInto(out *SwiftStorageSpec)

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

type SwiftStorageStatus

type SwiftStorageStatus struct {
	Active bool `json:"active"`
	IPs    []string
}

SwiftStorageStatus defines the observed state of SwiftStorage +k8s:openapi-gen=true

func (*SwiftStorageStatus) DeepCopy

func (in *SwiftStorageStatus) DeepCopy() *SwiftStorageStatus

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

func (*SwiftStorageStatus) DeepCopyInto

func (in *SwiftStorageStatus) DeepCopyInto(out *SwiftStorageStatus)

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

type Vrouter

type Vrouter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VrouterSpec   `json:"spec,omitempty"`
	Status VrouterStatus `json:"status,omitempty"`
}

Vrouter is the Schema for the vrouters API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Vrouter) AddSecretVolumesToIntendedDS

func (c *Vrouter) AddSecretVolumesToIntendedDS(ds *appsv1.DaemonSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedDS adds volumes to the Rabbitmq deployment.

func (*Vrouter) AddVolumesToIntendedDS

func (c *Vrouter) AddVolumesToIntendedDS(ds *appsv1.DaemonSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedDS adds volumes to a deployment.

func (*Vrouter) ConfigurationParameters

func (c *Vrouter) ConfigurationParameters() interface{}

func (*Vrouter) CreateConfigMap

func (c *Vrouter) CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.ConfigMap, error)

func (*Vrouter) CreateDS

func (c *Vrouter) CreateDS(ds *appsv1.DaemonSet,
	commonConfiguration *CommonConfiguration,
	instanceType string,
	request reconcile.Request,
	scheme *runtime.Scheme,
	reconcileClient client.Client) error

CreateDS creates the STS.

func (*Vrouter) CreateSecret

func (c *Vrouter) CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.Secret, error)

CreateSecret creates a secret.

func (*Vrouter) DeepCopy

func (in *Vrouter) DeepCopy() *Vrouter

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

func (*Vrouter) DeepCopyInto

func (in *Vrouter) DeepCopyInto(out *Vrouter)

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

func (*Vrouter) DeepCopyObject

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

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

func (*Vrouter) InstanceConfiguration

func (c *Vrouter) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client) error

func (*Vrouter) ManageNodeStatus

func (c *Vrouter) ManageNodeStatus(podNameIPMap map[string]string,
	client client.Client) error

func (*Vrouter) OwnedByManager

func (c *Vrouter) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

func (*Vrouter) PodIPListAndIPMapFromInstance

func (c *Vrouter) PodIPListAndIPMapFromInstance(instanceType string, request reconcile.Request, reconcileClient client.Client, getPhysicalInterface bool, getPhysicalInterfaceMac bool, getPrefixLength bool, getGateway bool) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*Vrouter) PrepareDaemonSet

func (c *Vrouter) PrepareDaemonSet(ds *appsv1.DaemonSet,
	commonConfiguration *CommonConfiguration,
	request reconcile.Request,
	scheme *runtime.Scheme,
	client client.Client) error

PrepareDaemonSet prepares the intended podList.

func (*Vrouter) SetInstanceActive

func (c *Vrouter) SetInstanceActive(client client.Client, activeStatus *bool, ds *appsv1.DaemonSet, request reconcile.Request, object runtime.Object) error

SetInstanceActive sets the instance to active.

func (*Vrouter) SetPodsToReady

func (c *Vrouter) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

SetPodsToReady sets Kubemanager PODs to ready.

func (*Vrouter) UpdateDS

func (c *Vrouter) UpdateDS(ds *appsv1.DaemonSet,
	commonConfiguration *CommonConfiguration,
	instanceType string,
	request reconcile.Request,
	scheme *runtime.Scheme,
	reconcileClient client.Client) error

UpdateDS updates the STS.

type VrouterCNIDirectories

type VrouterCNIDirectories struct {
	BinariesDirectory    string
	ConfigFilesDirectory string
}

VrouterCNIDirectories is struct with directories containing CNI specific files

func (*VrouterCNIDirectories) DeepCopy

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

func (*VrouterCNIDirectories) DeepCopyInto

func (in *VrouterCNIDirectories) DeepCopyInto(out *VrouterCNIDirectories)

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

type VrouterClusterConfiguration

type VrouterClusterConfiguration struct {
	PhysicalInterface string
	Gateway           string
	MetaDataSecret    string
}

VrouterClusterConfiguration defines all configuration knobs used to write the config file.

func NewVrouterConfiguration

func NewVrouterConfiguration(name string, namespace string, myclient client.Client) (*VrouterClusterConfiguration, error)

NewVrouterConfiguration gets a struct containing various representations of Control nodes string.

func (*VrouterClusterConfiguration) DeepCopy

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

func (*VrouterClusterConfiguration) DeepCopyInto

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

type VrouterConfiguration

type VrouterConfiguration struct {
	Containers         map[string]*Container `json:"containers,omitempty"`
	ControlInstance    string                `json:"controlInstance,omitempty"`
	CassandraInstance  string                `json:"cassandraInstance,omitempty"`
	Gateway            string                `json:"gateway,omitempty"`
	PhysicalInterface  string                `json:"physicalInterface,omitempty"`
	MetaDataSecret     string                `json:"metaDataSecret,omitempty"`
	NodeManager        *bool                 `json:"nodeManager,omitempty"`
	Distribution       *Distribution         `json:"distribution,omitempty"`
	ServiceAccount     string                `json:"serviceAccount,omitempty"`
	ClusterRole        string                `json:"clusterRole,omitempty"`
	ClusterRoleBinding string                `json:"clusterRoleBinding,omitempty"`
}

VrouterConfiguration is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*VrouterConfiguration) DeepCopy

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

func (*VrouterConfiguration) DeepCopyInto

func (in *VrouterConfiguration) DeepCopyInto(out *VrouterConfiguration)

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

type VrouterList

type VrouterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Vrouter `json:"items"`
}

VrouterList contains a list of Vrouter.

func (*VrouterList) DeepCopy

func (in *VrouterList) DeepCopy() *VrouterList

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

func (*VrouterList) DeepCopyInto

func (in *VrouterList) DeepCopyInto(out *VrouterList)

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

func (*VrouterList) DeepCopyObject

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

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

type VrouterNode

type VrouterNode struct {
	IPAddress string `yaml:"ipAddress,omitempty"`
	Hostname  string `yaml:"hostname,omitempty"`
}

func (*VrouterNode) DeepCopy

func (in *VrouterNode) DeepCopy() *VrouterNode

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

func (*VrouterNode) DeepCopyInto

func (in *VrouterNode) DeepCopyInto(out *VrouterNode)

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

type VrouterSpec

type VrouterSpec struct {
	CommonConfiguration  CommonConfiguration  `json:"commonConfiguration"`
	ServiceConfiguration VrouterConfiguration `json:"serviceConfiguration"`
}

VrouterSpec is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*VrouterSpec) DeepCopy

func (in *VrouterSpec) DeepCopy() *VrouterSpec

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

func (*VrouterSpec) DeepCopyInto

func (in *VrouterSpec) DeepCopyInto(out *VrouterSpec)

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

type VrouterStatus

type VrouterStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
	Ports  ConfigStatusPorts `json:"ports,omitempty"`
	Nodes  map[string]string `json:"nodes,omitempty"`
	Active *bool             `json:"active,omitempty"`
}

+k8s:openapi-gen=true

func (*VrouterStatus) DeepCopy

func (in *VrouterStatus) DeepCopy() *VrouterStatus

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

func (*VrouterStatus) DeepCopyInto

func (in *VrouterStatus) DeepCopyInto(out *VrouterStatus)

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

type WebUIClusterConfiguration

type WebUIClusterConfiguration struct {
	AdminUsername string
	AdminPassword string
}

WebUIClusterConfiguration defines all configuration knobs used to write the config file.

func (*WebUIClusterConfiguration) DeepCopy

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

func (*WebUIClusterConfiguration) DeepCopyInto

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

type Webui

type Webui struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   WebuiSpec   `json:"spec,omitempty"`
	Status WebuiStatus `json:"status,omitempty"`
}

Webui is the Schema for the webuis API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Webui) AddSecretVolumesToIntendedSTS

func (c *Webui) AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*Webui) AddVolumesToIntendedSTS

func (c *Webui) AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to the Webui deployment.

func (*Webui) ConfigurationParameters

func (c *Webui) ConfigurationParameters(client client.Client) (*WebUIClusterConfiguration, error)

func (*Webui) CreateConfigMap

func (c *Webui) CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.ConfigMap, error)

func (*Webui) CreateSTS

func (c *Webui) CreateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client) error

CreateSTS creates the STS.

func (*Webui) CreateSecret

func (c *Webui) CreateSecret(secretName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.Secret, error)

CreateSecret creates a secret.

func (*Webui) DeepCopy

func (in *Webui) DeepCopy() *Webui

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

func (*Webui) DeepCopyInto

func (in *Webui) DeepCopyInto(out *Webui)

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

func (*Webui) DeepCopyObject

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

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

func (*Webui) InstanceConfiguration

func (c *Webui) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client) error

func (*Webui) IsActive

func (c *Webui) IsActive(name string, namespace string, client client.Client) bool

IsActive returns true if instance is active.

func (*Webui) ManageNodeStatus

func (c *Webui) ManageNodeStatus(podNameIPMap map[string]string,
	client client.Client) error

func (*Webui) OwnedByManager

func (c *Webui) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

func (*Webui) PodIPListAndIPMapFromInstance

func (c *Webui) PodIPListAndIPMapFromInstance(instanceType string, request reconcile.Request, reconcileClient client.Client) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*Webui) PrepareSTS

func (c *Webui) PrepareSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme, client client.Client) error

PrepareSTS prepares the intended deployment for the Webui object.

func (*Webui) SetInstanceActive

func (c *Webui) SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request) error

SetInstanceActive sets the Webui instance to active.

func (*Webui) SetPodsToReady

func (c *Webui) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

SetPodsToReady sets Webui PODs to ready.

func (*Webui) UpdateSTS

func (c *Webui) UpdateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client, strategy string) error

UpdateSTS updates the STS.

type WebuiConfiguration

type WebuiConfiguration struct {
	Containers         map[string]*Container `json:"containers,omitempty"`
	CassandraInstance  string                `json:"cassandraInstance,omitempty"`
	ServiceAccount     string                `json:"serviceAccount,omitempty"`
	ClusterRole        string                `json:"clusterRole,omitempty"`
	ClusterRoleBinding string                `json:"clusterRoleBinding,omitempty"`
	KeystoneSecretName string                `json:"keystoneSecretName,omitempty"`
	KeystoneInstance   string                `json:"keystoneInstance,omitempty"`
}

WebuiConfiguration is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*WebuiConfiguration) DeepCopy

func (in *WebuiConfiguration) DeepCopy() *WebuiConfiguration

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

func (*WebuiConfiguration) DeepCopyInto

func (in *WebuiConfiguration) DeepCopyInto(out *WebuiConfiguration)

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

type WebuiList

type WebuiList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Webui `json:"items"`
}

WebuiList contains a list of Webui.

func (*WebuiList) DeepCopy

func (in *WebuiList) DeepCopy() *WebuiList

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

func (*WebuiList) DeepCopyInto

func (in *WebuiList) DeepCopyInto(out *WebuiList)

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

func (*WebuiList) DeepCopyObject

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

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

type WebuiSpec

type WebuiSpec struct {
	CommonConfiguration  CommonConfiguration `json:"commonConfiguration"`
	ServiceConfiguration WebuiConfiguration  `json:"serviceConfiguration"`
}

WebuiSpec is the Spec for the cassandras API. +k8s:openapi-gen=true

func (*WebuiSpec) DeepCopy

func (in *WebuiSpec) DeepCopy() *WebuiSpec

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

func (*WebuiSpec) DeepCopyInto

func (in *WebuiSpec) DeepCopyInto(out *WebuiSpec)

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

type WebuiStatus

type WebuiStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
	Active *bool             `json:"active,omitempty"`
	Nodes  map[string]string `json:"nodes,omitempty"`
}

+k8s:openapi-gen=true

func (*WebuiStatus) DeepCopy

func (in *WebuiStatus) DeepCopy() *WebuiStatus

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

func (*WebuiStatus) DeepCopyInto

func (in *WebuiStatus) DeepCopyInto(out *WebuiStatus)

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

type Zookeeper

type Zookeeper struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ZookeeperSpec   `json:"spec,omitempty"`
	Status ZookeeperStatus `json:"status,omitempty"`
}

Zookeeper is the Schema for the zookeepers API. +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*Zookeeper) AddSecretVolumesToIntendedSTS

func (c *Zookeeper) AddSecretVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddSecretVolumesToIntendedSTS adds volumes to the Rabbitmq deployment.

func (*Zookeeper) AddVolumesToIntendedSTS

func (c *Zookeeper) AddVolumesToIntendedSTS(sts *appsv1.StatefulSet, volumeConfigMapMap map[string]string)

AddVolumesToIntendedSTS adds volumes to the Zookeeper deployment.

func (*Zookeeper) ConfigurationParameters

func (c *Zookeeper) ConfigurationParameters() interface{}

ConfigurationParameters sets the default for the configuration parameters.

func (*Zookeeper) CreateConfigMap

func (c *Zookeeper) CreateConfigMap(configMapName string,
	client client.Client,
	scheme *runtime.Scheme,
	request reconcile.Request) (*corev1.ConfigMap, error)

CreateConfigMap creates a configmap for zookeeper service.

func (*Zookeeper) CreateSTS

func (c *Zookeeper) CreateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client) error

CreateSTS creates the STS.

func (*Zookeeper) DeepCopy

func (in *Zookeeper) DeepCopy() *Zookeeper

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

func (*Zookeeper) DeepCopyInto

func (in *Zookeeper) DeepCopyInto(out *Zookeeper)

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

func (*Zookeeper) DeepCopyObject

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

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

func (*Zookeeper) InstanceConfiguration

func (c *Zookeeper) InstanceConfiguration(request reconcile.Request,
	podList *corev1.PodList,
	client client.Client) error

InstanceConfiguration creates the zookeeper instance configuration.

func (*Zookeeper) IsActive

func (c *Zookeeper) IsActive(name string, namespace string, client client.Client) bool

IsActive returns true if instance is active.

func (*Zookeeper) IsUpgrading

func (c *Zookeeper) IsUpgrading(name string, namespace string, client client.Client) bool

IsUpgrading returns true if instance is upgrading.

func (*Zookeeper) ManageNodeStatus

func (c *Zookeeper) ManageNodeStatus(podNameIPMap map[string]string,
	client client.Client) error

ManageNodeStatus manages the status of the Cassandra nodes.

func (*Zookeeper) OwnedByManager

func (c *Zookeeper) OwnedByManager(client client.Client, request reconcile.Request) (*Manager, error)

OwnedByManager checks of the zookeeper object is owned by the Manager.

func (*Zookeeper) PodIPListAndIPMapFromInstance

func (c *Zookeeper) PodIPListAndIPMapFromInstance(instanceType string, request reconcile.Request, reconcileClient client.Client) (*corev1.PodList, map[string]string, error)

PodIPListAndIPMapFromInstance gets a list with POD IPs and a map of POD names and IPs.

func (*Zookeeper) PrepareSTS

func (c *Zookeeper) PrepareSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, request reconcile.Request, scheme *runtime.Scheme, client client.Client) error

PrepareSTS prepares the intended deployment for the Zookeeper object.

func (*Zookeeper) SetInstanceActive

func (c *Zookeeper) SetInstanceActive(client client.Client, activeStatus *bool, sts *appsv1.StatefulSet, request reconcile.Request) error

SetInstanceActive sets the Cassandra instance to active.

func (*Zookeeper) SetPodsToReady

func (c *Zookeeper) SetPodsToReady(podIPList *corev1.PodList, client client.Client) error

SetPodsToReady sets Zookeeper PODs to ready.

func (*Zookeeper) UpdateSTS

func (c *Zookeeper) UpdateSTS(sts *appsv1.StatefulSet, commonConfiguration *CommonConfiguration, instanceType string, request reconcile.Request, scheme *runtime.Scheme, reconcileClient client.Client, strategy string) error

UpdateSTS updates the STS.

type ZookeeperClusterConfiguration

type ZookeeperClusterConfiguration struct {
	ClientPort               string
	ServerPort               string
	ElectionPort             string
	ServerListCommaSeparated string
	ServerListSpaceSeparated string
}

ZookeeperClusterConfiguration defines all configuration knobs used to write the config file.

func NewZookeeperClusterConfiguration

func NewZookeeperClusterConfiguration(name string, namespace string, client client.Client) (*ZookeeperClusterConfiguration, error)

NewZookeeperClusterConfiguration gets a struct containing various representations of Zookeeper nodes string.

func (*ZookeeperClusterConfiguration) DeepCopy

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

func (*ZookeeperClusterConfiguration) DeepCopyInto

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

type ZookeeperConfiguration

type ZookeeperConfiguration struct {
	Containers   map[string]*Container `json:"containers,omitempty"`
	ClientPort   *int                  `json:"clientPort,omitempty"`
	ElectionPort *int                  `json:"electionPort,omitempty"`
	ServerPort   *int                  `json:"serverPort,omitempty"`
}

ZookeeperConfiguration is the Spec for the zookeepers API. +k8s:openapi-gen=true

func (*ZookeeperConfiguration) DeepCopy

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

func (*ZookeeperConfiguration) DeepCopyInto

func (in *ZookeeperConfiguration) DeepCopyInto(out *ZookeeperConfiguration)

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

type ZookeeperList

type ZookeeperList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Zookeeper `json:"items"`
}

ZookeeperList contains a list of Zookeeper.

func (*ZookeeperList) DeepCopy

func (in *ZookeeperList) DeepCopy() *ZookeeperList

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

func (*ZookeeperList) DeepCopyInto

func (in *ZookeeperList) DeepCopyInto(out *ZookeeperList)

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

func (*ZookeeperList) DeepCopyObject

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

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

type ZookeeperSpec

type ZookeeperSpec struct {
	CommonConfiguration  CommonConfiguration    `json:"commonConfiguration"`
	ServiceConfiguration ZookeeperConfiguration `json:"serviceConfiguration"`
}

ZookeeperSpec is the Spec for the zookeepers API. +k8s:openapi-gen=true

func (*ZookeeperSpec) DeepCopy

func (in *ZookeeperSpec) DeepCopy() *ZookeeperSpec

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

func (*ZookeeperSpec) DeepCopyInto

func (in *ZookeeperSpec) DeepCopyInto(out *ZookeeperSpec)

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

type ZookeeperStatus

type ZookeeperStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
	Active *bool                `json:"active,omitempty"`
	Nodes  map[string]string    `json:"nodes,omitempty"`
	Ports  ZookeeperStatusPorts `json:"ports,omitempty"`
}

ZookeeperStatus defines the status of the zookeeper object. +k8s:openapi-gen=true

func (*ZookeeperStatus) DeepCopy

func (in *ZookeeperStatus) DeepCopy() *ZookeeperStatus

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

func (*ZookeeperStatus) DeepCopyInto

func (in *ZookeeperStatus) DeepCopyInto(out *ZookeeperStatus)

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

type ZookeeperStatusPorts

type ZookeeperStatusPorts struct {
	ClientPort string `json:"clientPort,omitempty"`
}

ZookeeperStatusPorts defines the status of the ports of the zookeeper object.

func (*ZookeeperStatusPorts) DeepCopy

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

func (*ZookeeperStatusPorts) DeepCopyInto

func (in *ZookeeperStatusPorts) DeepCopyInto(out *ZookeeperStatusPorts)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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