Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the stroom v1 API group +kubebuilder:object:generate=true +groupName=stroom.gchq.github.io
Index ¶
- Constants
- Variables
- func GeneratePassword() []byte
- type ConfigMapRef
- type DatabaseBackup
- type DatabaseBackupList
- type DatabaseBackupSpec
- type DatabaseBackupStatus
- type DatabaseServer
- func (in *DatabaseServer) DeepCopy() *DatabaseServer
- func (in *DatabaseServer) DeepCopyInto(out *DatabaseServer)
- func (in *DatabaseServer) DeepCopyObject() runtime.Object
- func (in *DatabaseServer) GetBaseName() string
- func (in *DatabaseServer) GetConfigMapName() string
- func (in *DatabaseServer) GetInitConfigMapName() string
- func (in *DatabaseServer) GetLabels() map[string]string
- func (in *DatabaseServer) GetSecretName() string
- func (in *DatabaseServer) GetServiceFqdn() string
- func (in *DatabaseServer) GetServiceName() string
- func (in *DatabaseServer) IsBeingDeleted() bool
- type DatabaseServerList
- type DatabaseServerRef
- type DatabaseServerSpec
- type DatabaseServerStatus
- type HttpsSettings
- type Image
- type IngressSettings
- type JvmMemoryOptions
- type LogSenderSettings
- type NodeRole
- type NodeSet
- type OpenIdConfiguration
- type ProbeTimings
- type ResourceRef
- type SecretItem
- type ServerAddress
- type StroomCluster
- func (in *StroomCluster) DeepCopy() *StroomCluster
- func (in *StroomCluster) DeepCopyInto(out *StroomCluster)
- func (in *StroomCluster) DeepCopyObject() runtime.Object
- func (in *StroomCluster) GetBaseName() string
- func (in *StroomCluster) GetCliJobName(name string) string
- func (in *StroomCluster) GetDatafeedUrl() string
- func (in *StroomCluster) GetLabels() map[string]string
- func (in *StroomCluster) GetLogSenderConfigMapName() string
- func (in *StroomCluster) GetNodeSetHeadlessServiceName(nodeSet *NodeSet) string
- func (in *StroomCluster) GetNodeSetName(nodeSet *NodeSet) string
- func (in *StroomCluster) GetNodeSetSelectorLabels(nodeSet *NodeSet) map[string]string
- func (in *StroomCluster) GetNodeSetServiceName(nodeSet *NodeSet) string
- func (in *StroomCluster) GetStaticContentConfigMapName() string
- func (in *StroomCluster) IsBeingDeleted() bool
- type StroomClusterList
- type StroomClusterSpec
- type StroomClusterStatus
- type StroomTaskAutoscaler
- type StroomTaskAutoscalerList
- type StroomTaskAutoscalerSpec
- type StroomTaskAutoscalerStatus
- type VolumeClaimDeletePolicy
Constants ¶
const ( StroomClusterFinalizerName = "stroomcluster.finalizers.stroom.gchq.github.io" WaitNodeTasksFinalizerName = "waitnodetasks.finalizers.stroom.gchq.github.io" // SecretFileMode is the file mode to use for Secret volume mounts SecretFileMode int32 = 0400 )
const ( StroomClusterLabel = "stroom/cluster" NodeSetLabel = "stroom/nodeSet" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "stroom.gchq.github.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func GeneratePassword ¶
func GeneratePassword() []byte
GeneratePassword creates a password consisting of a random array of bytes
Types ¶
type ConfigMapRef ¶
type ConfigMapRef struct { // Name of the `ConfigMap` Name string `json:"name,omitempty"` // ConfigMap key containing the Stroom configuration data ItemName string `json:"itemName,omitempty"` }
func (*ConfigMapRef) DeepCopy ¶
func (in *ConfigMapRef) DeepCopy() *ConfigMapRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapRef.
func (*ConfigMapRef) DeepCopyInto ¶
func (in *ConfigMapRef) DeepCopyInto(out *ConfigMapRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigMapRef) IsZero ¶
func (in *ConfigMapRef) IsZero() bool
type DatabaseBackup ¶
type DatabaseBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatabaseBackupSpec `json:"spec,omitempty"` Status DatabaseBackupStatus `json:"status,omitempty"` }
DatabaseBackup is the Schema for the databasebackups API
func (*DatabaseBackup) DeepCopy ¶
func (in *DatabaseBackup) DeepCopy() *DatabaseBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseBackup.
func (*DatabaseBackup) DeepCopyInto ¶
func (in *DatabaseBackup) DeepCopyInto(out *DatabaseBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseBackup) DeepCopyObject ¶
func (in *DatabaseBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DatabaseBackup) GetBaseName ¶
func (in *DatabaseBackup) GetBaseName() string
GetBaseName creates a name incorporating the name of the database. For Example: stroom-prod-db
func (*DatabaseBackup) GetLabels ¶
func (in *DatabaseBackup) GetLabels() map[string]string
type DatabaseBackupList ¶
type DatabaseBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DatabaseBackup `json:"items"` }
DatabaseBackupList contains a list of DatabaseBackup
func (*DatabaseBackupList) DeepCopy ¶
func (in *DatabaseBackupList) DeepCopy() *DatabaseBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseBackupList.
func (*DatabaseBackupList) DeepCopyInto ¶
func (in *DatabaseBackupList) DeepCopyInto(out *DatabaseBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseBackupList) DeepCopyObject ¶
func (in *DatabaseBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatabaseBackupSpec ¶
type DatabaseBackupSpec struct { // +kubebuilder:validation:Required Image Image `json:"image"` ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // DatabaseServerRef contains either the details of a DatabaseServer resource, or the TCP connection details of // an external MySQL database // +kubebuilder:validation:Required DatabaseServerRef DatabaseServerRef `json:"databaseServerRef"` // Backup the specified database names. If unspecified, all user databases are backed up DatabaseNames []string `json:"databaseNames,omitempty"` // File system location to store the backup files TargetVolume corev1.VolumeSource `json:"volume"` // Cron schedule that determines how often backups are to be performed Schedule string `json:"schedule"` }
DatabaseBackupSpec defines the desired state of DatabaseBackup
func (*DatabaseBackupSpec) DeepCopy ¶
func (in *DatabaseBackupSpec) DeepCopy() *DatabaseBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseBackupSpec.
func (*DatabaseBackupSpec) DeepCopyInto ¶
func (in *DatabaseBackupSpec) DeepCopyInto(out *DatabaseBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseBackupStatus ¶
type DatabaseBackupStatus struct { }
DatabaseBackupStatus defines the observed state of DatabaseBackup
func (*DatabaseBackupStatus) DeepCopy ¶
func (in *DatabaseBackupStatus) DeepCopy() *DatabaseBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseBackupStatus.
func (*DatabaseBackupStatus) DeepCopyInto ¶
func (in *DatabaseBackupStatus) DeepCopyInto(out *DatabaseBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseServer ¶
type DatabaseServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DatabaseServerSpec `json:"spec,omitempty"` Status DatabaseServerStatus `json:"status,omitempty"` // Set by the controller when a StroomCluster binds to the DatabaseServer. // This is used to prevent the DatabaseServer from being deleted while its paired StroomCluster still exists. // +optional StroomClusterRef ResourceRef `json:"stroomClusterRef,omitempty"` }
DatabaseServer is the Schema for the databases API
func (*DatabaseServer) DeepCopy ¶
func (in *DatabaseServer) DeepCopy() *DatabaseServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseServer.
func (*DatabaseServer) DeepCopyInto ¶
func (in *DatabaseServer) DeepCopyInto(out *DatabaseServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseServer) DeepCopyObject ¶
func (in *DatabaseServer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DatabaseServer) GetBaseName ¶
func (in *DatabaseServer) GetBaseName() string
GetBaseName creates a name incorporating the name of the database. For Example: stroom-prod-db
func (*DatabaseServer) GetConfigMapName ¶
func (in *DatabaseServer) GetConfigMapName() string
func (*DatabaseServer) GetInitConfigMapName ¶
func (in *DatabaseServer) GetInitConfigMapName() string
func (*DatabaseServer) GetLabels ¶
func (in *DatabaseServer) GetLabels() map[string]string
func (*DatabaseServer) GetSecretName ¶
func (in *DatabaseServer) GetSecretName() string
func (*DatabaseServer) GetServiceFqdn ¶
func (in *DatabaseServer) GetServiceFqdn() string
func (*DatabaseServer) GetServiceName ¶
func (in *DatabaseServer) GetServiceName() string
func (*DatabaseServer) IsBeingDeleted ¶
func (in *DatabaseServer) IsBeingDeleted() bool
type DatabaseServerList ¶
type DatabaseServerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DatabaseServer `json:"items"` }
DatabaseServerList contains a list of DatabaseServer
func (*DatabaseServerList) DeepCopy ¶
func (in *DatabaseServerList) DeepCopy() *DatabaseServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseServerList.
func (*DatabaseServerList) DeepCopyInto ¶
func (in *DatabaseServerList) DeepCopyInto(out *DatabaseServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseServerList) DeepCopyObject ¶
func (in *DatabaseServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatabaseServerRef ¶
type DatabaseServerRef struct { // If specified, point to an operator-managed DatabaseServer object // +optional ServerRef ResourceRef `json:"serverRef,omitempty"` // Alternatively, if the following parameters are provided, point directly to a DB by its TCP address. // This allows external database instances to be used in place of an operator-managed one. ServerAddress ServerAddress `json:"serverAddress,omitempty"` // UserName is the name of the Stroom database user to use when connecting to the server. // A corresponding key should exist in the provided Secret referenced by SecretName. // +kubebuilder:default:=stroomuser UserName string `json:"userName,omitempty"` }
func (*DatabaseServerRef) DeepCopy ¶
func (in *DatabaseServerRef) DeepCopy() *DatabaseServerRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseServerRef.
func (*DatabaseServerRef) DeepCopyInto ¶
func (in *DatabaseServerRef) DeepCopyInto(out *DatabaseServerRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseServerSpec ¶
type DatabaseServerSpec struct { Image Image `json:"image"` ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // Names of the databases to be created on startup (if they don't already exist) DatabaseNames []string `json:"databaseNames"` // Any additional configuration lines to append to the MySQL server configuration file `/etc/my.cnf` AdditionalConfig []string `json:"additionalConfig,omitempty"` Resources corev1.ResourceRequirements `json:"resources"` VolumeClaim corev1.PersistentVolumeClaimSpec `json:"volumeClaim"` ReadinessProbeTimings ProbeTimings `json:"readinessProbeTimings,omitempty"` LivenessProbeTimings ProbeTimings `json:"livenessProbeTimings,omitempty"` PodAnnotations map[string]string `json:"podAnnotations,omitempty"` PodSecurityContext corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` SecurityContext corev1.SecurityContext `json:"securityContext,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` Affinity corev1.Affinity `json:"affinity,omitempty"` }
DatabaseServerSpec defines the desired state of DatabaseServer
func (*DatabaseServerSpec) DeepCopy ¶
func (in *DatabaseServerSpec) DeepCopy() *DatabaseServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseServerSpec.
func (*DatabaseServerSpec) DeepCopyInto ¶
func (in *DatabaseServerSpec) DeepCopyInto(out *DatabaseServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseServerStatus ¶
type DatabaseServerStatus struct { State string `json:"state"` Address string `json:"address"` Port int32 `json:"port"` }
DatabaseServerStatus defines the observed state of DatabaseServer
func (*DatabaseServerStatus) DeepCopy ¶
func (in *DatabaseServerStatus) DeepCopy() *DatabaseServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseServerStatus.
func (*DatabaseServerStatus) DeepCopyInto ¶
func (in *DatabaseServerStatus) DeepCopyInto(out *DatabaseServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HttpsSettings ¶
type HttpsSettings struct { // Name of the TLS secret containing the items `keystore.p12` and `truststore.p12` TlsSecretName string `json:"tlsSecretName"` // Password of the keystore and truststore TlsKeystorePasswordSecretRef SecretItem `json:"tlsKeystorePasswordSecret"` }
func (*HttpsSettings) DeepCopy ¶
func (in *HttpsSettings) DeepCopy() *HttpsSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpsSettings.
func (*HttpsSettings) DeepCopyInto ¶
func (in *HttpsSettings) DeepCopyInto(out *HttpsSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Image ¶
type Image struct { // +kubebuilder:validation:MinLength=1 Repository string `json:"repository"` Tag string `json:"tag,omitempty"` }
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressSettings ¶
type IngressSettings struct { // DNS name at which the application will be reached (e.g. stroom.example.com) HostName string `json:"hostName"` // Name of the TLS `Secret` containing the private key and server certificate for the `Ingress` SecretName string `json:"secretName"` // Ingress class name (e.g. nginx) ClassName string `json:"className,omitempty"` }
func (*IngressSettings) DeepCopy ¶
func (in *IngressSettings) DeepCopy() *IngressSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSettings.
func (*IngressSettings) DeepCopyInto ¶
func (in *IngressSettings) DeepCopyInto(out *IngressSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JvmMemoryOptions ¶
type JvmMemoryOptions struct { // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=100 InitialPercentage int `json:"initialPercentage"` // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=100 MaxPercentage int `json:"maxPercentage"` }
func (*JvmMemoryOptions) DeepCopy ¶
func (in *JvmMemoryOptions) DeepCopy() *JvmMemoryOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JvmMemoryOptions.
func (*JvmMemoryOptions) DeepCopyInto ¶
func (in *JvmMemoryOptions) DeepCopyInto(out *JvmMemoryOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogSenderSettings ¶
type LogSenderSettings struct { // If `true`, Stroom internal audit and application logs are sent to the Stroom `Ingress` for ingestion // +kubebuilder:default:=false Enabled bool `json:"enabled"` // +kubebuilder:validation:Required Image Image `json:"image"` ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // Override the container security context SecurityContext corev1.SecurityContext `json:"securityContext,omitempty"` // Configure an alternate destination for events to be shipped to. If omitted, events are posted to the local cluster. DestinationUrl string `json:"destinationUrl,omitempty"` // Name of the `Environment` to set in feed metadata. If omitted, the cluster name is used (converted to UPPERCASE). EnvironmentName string `json:"environmentName,omitempty"` // Name of the `System` to set in feed metadata SystemName string `json:"systemName,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` }
func (*LogSenderSettings) DeepCopy ¶
func (in *LogSenderSettings) DeepCopy() *LogSenderSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSenderSettings.
func (*LogSenderSettings) DeepCopyInto ¶
func (in *LogSenderSettings) DeepCopyInto(out *LogSenderSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LogSenderSettings) IsZero ¶
func (in *LogSenderSettings) IsZero() bool
type NodeRole ¶
type NodeRole string
const ( // ProcessingNodeRole applies to a NodeSet that is dedicated to receiving and processing data and does not serve // web front-end (UI) requests ProcessingNodeRole NodeRole = "Processing" // FrontendNodeRole applies to a NodeSet that is dedicated to serving web front-end (UI) requests only FrontendNodeRole = "Frontend" )
type NodeSet ¶
type NodeSet struct { // Name uniquely identifies the NodeSet within a StroomCluster. Should be a short name like "prod". // // The NodeSet name determines the name of the Stroom node, which follows the format: // `stroom-<cluster name>-node-<nodeset name>-<pod ordinal>`. // // For example, the first Stroom node in StroomCluster `dev`, NodeSet `data` will be named: // `stroom-dev-node-data-0`. Name string `json:"name"` // Number of replicas (discrete Stroom nodes) to deploy in the NodeSet // +kubebuilder:validation:Minimum=1 Count int32 `json:"count"` // Role of each node in the NodeSet. ProcessingNodeRole nodes are limited to receiving and processing data, // while FrontendNodeRole nodes host the Stroom. // // If this property is omitted, nodes in the NodeSet will assume both Processing and Frontend roles. Role NodeRole `json:"role,omitempty"` // LocalDataVolumeClaim provides persistent storage for each Stroom node's data LocalDataVolumeClaim corev1.PersistentVolumeClaimSpec `json:"localDataVolumeClaim"` // Resources determine how much CPU and memory each individual Stroom node Pod within the NodeSet requests and is // limited to. Resources corev1.ResourceRequirements `json:"resources"` // MemoryOptions define JVM memory parameters MemoryOptions JvmMemoryOptions `json:"memoryOptions"` // IngressEnabled determines whether this node receives requests via the created Kubernetes Ingresses. Usually this // should be `true`, unless there is a need for a NodeSet to be pure processing-only nodes, which cannot receive data. // +kubebuilder:default:=true IngressEnabled bool `json:"ingressEnabled,omitempty"` // IngressAnnotations is an optional map of annotations to apply to the NodeSet's Ingress. These override any // default annotations provided by the controller. IngressAnnotations map[string]string `json:"ingressAnnotations,omitempty"` // StartupProbeTimings specify parameters for initial Pod startup. These should be set according to how long a node // typically takes to start up and respond to healthchecks. StartupProbeTimings ProbeTimings `json:"startupProbeTimings,omitempty"` // ReadinessProbeTimings determine the parameters for readiness probes. These help to protect nodes from overload, // removing them from service while they are non-responsive to healthchecks. ReadinessProbeTimings ProbeTimings `json:"readinessProbeTimings,omitempty"` // LivenessProbeTimings determine the parameters for liveness probes. If a Pod fails successive probes, it is // restarted. LivenessProbeTimings ProbeTimings `json:"livenessProbeTimings,omitempty"` // PodAnnotations are additional annotations to set for each NodeSet Pod PodAnnotations map[string]string `json:"podAnnotations,omitempty"` // PodSecurityContext applies to each NodeSet Pod PodSecurityContext corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // SecurityContext overrides the PodSecurityContext at the container level SecurityContext corev1.SecurityContext `json:"securityContext,omitempty"` // NodeSelector allows for NodeSet Pods to be deployed to a particular node, or set of nodes, by the specified labels NodeSelector map[string]string `json:"nodeSelector,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` Affinity corev1.Affinity `json:"affinity,omitempty"` }
func (*NodeSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSet.
func (*NodeSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenIdConfiguration ¶
type OpenIdConfiguration struct { // Name of the OpenID client ClientId string `json:"clientId"` // Details of the Secret containing the OpenID client secret ClientSecret SecretItem `json:"clientSecret"` }
func (*OpenIdConfiguration) DeepCopy ¶
func (in *OpenIdConfiguration) DeepCopy() *OpenIdConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConfiguration.
func (*OpenIdConfiguration) DeepCopyInto ¶
func (in *OpenIdConfiguration) DeepCopyInto(out *OpenIdConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OpenIdConfiguration) IsZero ¶
func (in *OpenIdConfiguration) IsZero() bool
type ProbeTimings ¶
type ProbeTimings struct { // +kubebuilder:default:=5 InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"` // +kubebuilder:default:=5 TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"` // +kubebuilder:default:=5 PeriodSeconds int32 `json:"periodSeconds,omitempty"` // +kubebuilder:default:=1 SuccessThreshold int32 `json:"successThreshold,omitempty"` // +kubebuilder:default:=10 FailureThreshold int32 `json:"failureThreshold,omitempty"` }
func (*ProbeTimings) DeepCopy ¶
func (in *ProbeTimings) DeepCopy() *ProbeTimings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProbeTimings.
func (*ProbeTimings) DeepCopyInto ¶
func (in *ProbeTimings) DeepCopyInto(out *ProbeTimings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRef ¶
func (*ResourceRef) DeepCopy ¶
func (in *ResourceRef) DeepCopy() *ResourceRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRef.
func (*ResourceRef) DeepCopyInto ¶
func (in *ResourceRef) DeepCopyInto(out *ResourceRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceRef) IsZero ¶
func (in *ResourceRef) IsZero() bool
func (*ResourceRef) NamespacedName ¶
func (in *ResourceRef) NamespacedName() types.NamespacedName
func (*ResourceRef) String ¶
func (in *ResourceRef) String() string
String returns the general purpose string representation
type SecretItem ¶
func (*SecretItem) DeepCopy ¶
func (in *SecretItem) DeepCopy() *SecretItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretItem.
func (*SecretItem) DeepCopyInto ¶
func (in *SecretItem) DeepCopyInto(out *SecretItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerAddress ¶
type ServerAddress struct { // Host is the hostname or IP of the database server Host string `json:"host,omitempty"` // Port number the database server is listening on // +kubebuilder:default:=3306 Port int32 `json:"port,omitempty"` // SecretName is the name of the secret containing the `password` of the database user `stroomuser` SecretName string `json:"secretName,omitempty"` }
func (*ServerAddress) DeepCopy ¶
func (in *ServerAddress) DeepCopy() *ServerAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerAddress.
func (*ServerAddress) DeepCopyInto ¶
func (in *ServerAddress) DeepCopyInto(out *ServerAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StroomCluster ¶
type StroomCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec StroomClusterSpec `json:"spec,omitempty"` Status StroomClusterStatus `json:"status,omitempty"` }
StroomCluster is the Schema for the stroomclusters API
func (*StroomCluster) DeepCopy ¶
func (in *StroomCluster) DeepCopy() *StroomCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StroomCluster.
func (*StroomCluster) DeepCopyInto ¶
func (in *StroomCluster) DeepCopyInto(out *StroomCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StroomCluster) DeepCopyObject ¶
func (in *StroomCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*StroomCluster) GetBaseName ¶
func (in *StroomCluster) GetBaseName() string
func (*StroomCluster) GetCliJobName ¶
func (in *StroomCluster) GetCliJobName(name string) string
func (*StroomCluster) GetDatafeedUrl ¶
func (in *StroomCluster) GetDatafeedUrl() string
func (*StroomCluster) GetLabels ¶
func (in *StroomCluster) GetLabels() map[string]string
func (*StroomCluster) GetLogSenderConfigMapName ¶
func (in *StroomCluster) GetLogSenderConfigMapName() string
func (*StroomCluster) GetNodeSetHeadlessServiceName ¶
func (in *StroomCluster) GetNodeSetHeadlessServiceName(nodeSet *NodeSet) string
func (*StroomCluster) GetNodeSetName ¶
func (in *StroomCluster) GetNodeSetName(nodeSet *NodeSet) string
func (*StroomCluster) GetNodeSetSelectorLabels ¶
func (in *StroomCluster) GetNodeSetSelectorLabels(nodeSet *NodeSet) map[string]string
func (*StroomCluster) GetNodeSetServiceName ¶
func (in *StroomCluster) GetNodeSetServiceName(nodeSet *NodeSet) string
func (*StroomCluster) GetStaticContentConfigMapName ¶
func (in *StroomCluster) GetStaticContentConfigMapName() string
func (*StroomCluster) IsBeingDeleted ¶
func (in *StroomCluster) IsBeingDeleted() bool
type StroomClusterList ¶
type StroomClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []StroomCluster `json:"items"` }
StroomClusterList contains a list of StroomCluster
func (*StroomClusterList) DeepCopy ¶
func (in *StroomClusterList) DeepCopy() *StroomClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StroomClusterList.
func (*StroomClusterList) DeepCopyInto ¶
func (in *StroomClusterList) DeepCopyInto(out *StroomClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StroomClusterList) DeepCopyObject ¶
func (in *StroomClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StroomClusterSpec ¶
type StroomClusterSpec struct { // +kubebuilder:validation:Required Image Image `json:"image"` ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // DatabaseServerRef contains either the details of a DatabaseServer resource, or the TCP connection details of // an external MySQL database // +kubebuilder:validation:Required DatabaseServerRef DatabaseServerRef `json:"databaseServerRef"` // Name of the main Stroom database, usually `stroom` // +kubebuilder:default:="stroom" // +kubebuilder:validation:MinLength=1 AppDatabaseName string `json:"appDatabaseName"` // Name of the statistics database, usually `stats` // +kubebuilder:default:="stats" // +kubebuilder:validation:MinLength=1 StatsDatabaseName string `json:"statsDatabaseName"` // Override the Stroom configuration provided to each node, by providing the name of an existing `ConfigMap` // in the same namespace as the `StroomCluster` ConfigMapRef ConfigMapRef `json:"configMapRef,omitempty"` // Configures OpenID to enable operator components to query the Stroom API OpenId OpenIdConfiguration `json:"openId"` // HTTPS settings Https HttpsSettings `json:"https"` // +kubebuilder:validation:Required Ingress IngressSettings `json:"ingress"` // Pod management policy to use when deploying or scaling the StroomCluster PodManagementPolicy v1.PodManagementPolicyType `json:"podManagementPolicy,omitempty"` // Amount of time granted to nodes to drain their active tasks before being terminated // +kubebuilder:default:=60 NodeTerminationPeriodSecs int64 `json:"nodeTerminationPeriodSecs"` // Delete Stroom node `PersistentVolumeClaim`s in accordance with this policy VolumeClaimDeletePolicy VolumeClaimDeletePolicy `json:"volumeClaimDeletePolicy,omitempty"` // Each NodeSet is a functional grouping of Stroom nodes with a particular role, within the cluster. // It is recommended two NodeSets should be provided: one for storing and processing data and a separate one for // serving the Stroom front-end. // +kubebuilder:validation:MinItems=1 NodeSets []NodeSet `json:"nodeSets"` // Additional Java Virtual Machine (JVM) options to use. Example of a valid entry: `-Xms1g` ExtraJvmOpts []string `json:"extraJvmOpts,omitempty"` // Additional environment variables provided to each NodeSet pod ExtraEnv []corev1.EnvVar `json:"extraEnv,omitempty"` // Additional volumes to be mounted in each NodeSet pod ExtraVolumes []corev1.Volume `json:"extraVolumes,omitempty"` ExtraVolumeMounts []corev1.VolumeMount `json:"extraVolumeMounts,omitempty"` // Configures the mechanism that posts internal audit and logging to Stroom LogSender LogSenderSettings `json:"logSender,omitempty"` }
StroomClusterSpec defines the desired state of StroomCluster
func (*StroomClusterSpec) DeepCopy ¶
func (in *StroomClusterSpec) DeepCopy() *StroomClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StroomClusterSpec.
func (*StroomClusterSpec) DeepCopyInto ¶
func (in *StroomClusterSpec) DeepCopyInto(out *StroomClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StroomClusterStatus ¶
type StroomClusterStatus struct {
Nodes []string `json:"nodes,omitempty"`
}
StroomClusterStatus defines the observed state of StroomCluster
func (*StroomClusterStatus) DeepCopy ¶
func (in *StroomClusterStatus) DeepCopy() *StroomClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StroomClusterStatus.
func (*StroomClusterStatus) DeepCopyInto ¶
func (in *StroomClusterStatus) DeepCopyInto(out *StroomClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StroomTaskAutoscaler ¶
type StroomTaskAutoscaler struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec StroomTaskAutoscalerSpec `json:"spec,omitempty"` Status StroomTaskAutoscalerStatus `json:"status,omitempty"` }
StroomTaskAutoscaler is the Schema for the stroomtaskautoscalers API
func (*StroomTaskAutoscaler) DeepCopy ¶
func (in *StroomTaskAutoscaler) DeepCopy() *StroomTaskAutoscaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StroomTaskAutoscaler.
func (*StroomTaskAutoscaler) DeepCopyInto ¶
func (in *StroomTaskAutoscaler) DeepCopyInto(out *StroomTaskAutoscaler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StroomTaskAutoscaler) DeepCopyObject ¶
func (in *StroomTaskAutoscaler) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StroomTaskAutoscalerList ¶
type StroomTaskAutoscalerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []StroomTaskAutoscaler `json:"items"` }
StroomTaskAutoscalerList contains a list of StroomTaskAutoscaler
func (*StroomTaskAutoscalerList) DeepCopy ¶
func (in *StroomTaskAutoscalerList) DeepCopy() *StroomTaskAutoscalerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StroomTaskAutoscalerList.
func (*StroomTaskAutoscalerList) DeepCopyInto ¶
func (in *StroomTaskAutoscalerList) DeepCopyInto(out *StroomTaskAutoscalerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StroomTaskAutoscalerList) DeepCopyObject ¶
func (in *StroomTaskAutoscalerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StroomTaskAutoscalerSpec ¶
type StroomTaskAutoscalerSpec struct { // The target StroomCluster to apply autoscaling to StroomClusterRef ResourceRef `json:"stroomClusterRef"` // Name of the Stroom node task to auto-scale. Usually "Data Processor". // +kubebuilder:validation:Required TaskName string `json:"taskName"` // How often (in minutes) adjustments are made to the number of Stroom node tasks // +kubebuilder:default:=1 // +kubebuilder:validation:Minimum:=1 AdjustmentIntervalMins int `json:"adjustmentIntervalMins,omitempty"` // Sliding window (in minutes) over which to calculate CPU usage vs. the threshold parameters // +kubebuilder:default:=1 // +kubebuilder:validation:Minimum:=1 MetricsSlidingWindowMins int `json:"metricsSlidingWindowMins,omitempty"` // Minimum CPU usage threshold before the number of tasks is adjusted upwards // +kubebuilder:default:=50 MinCpuPercent int `json:"minCpuPercent,omitempty"` // Maximum CPU usage threshold before the number of tasks is adjusted downwards // +kubebuilder:default:=90 MaxCpuPercent int `json:"maxCpuPercent,omitempty"` // Minimum number of tasks auto-scaler may set the node limit to // +kubebuilder:default:=1 MinTaskLimit int `json:"minTaskLimit,omitempty"` // Maximum number of tasks auto-scaler may set the node limit to // +kubebuilder:default:=20 MaxTaskLimit int `json:"maxTaskLimit,omitempty"` // Number of tasks to add/subtract each adjustment interval, based on usage // +kubebuilder:default:=1 // +kubebuilder:validation:Minimum:=1 StepAmount int `json:"stepAmount,omitempty"` }
StroomTaskAutoscalerSpec defines the desired state of StroomTaskAutoscaler
func (*StroomTaskAutoscalerSpec) DeepCopy ¶
func (in *StroomTaskAutoscalerSpec) DeepCopy() *StroomTaskAutoscalerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StroomTaskAutoscalerSpec.
func (*StroomTaskAutoscalerSpec) DeepCopyInto ¶
func (in *StroomTaskAutoscalerSpec) DeepCopyInto(out *StroomTaskAutoscalerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StroomTaskAutoscalerStatus ¶
type StroomTaskAutoscalerStatus struct { }
StroomTaskAutoscalerStatus defines the observed state of StroomTaskAutoscaler
func (*StroomTaskAutoscalerStatus) DeepCopy ¶
func (in *StroomTaskAutoscalerStatus) DeepCopy() *StroomTaskAutoscalerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StroomTaskAutoscalerStatus.
func (*StroomTaskAutoscalerStatus) DeepCopyInto ¶
func (in *StroomTaskAutoscalerStatus) DeepCopyInto(out *StroomTaskAutoscalerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeClaimDeletePolicy ¶
type VolumeClaimDeletePolicy string
const ( DeleteOnScaledownAndClusterDeletionPolicy VolumeClaimDeletePolicy = "DeleteOnScaledownAndClusterDeletion" DeleteOnScaledownOnlyPolicy = "DeleteOnScaledownOnly" )
Source Files ¶
- common_types.go
- constants.go
- database_connection.go
- databasebackup_types.go
- databaseserver_spec.go
- databaseserver_types.go
- groupversion_info.go
- stroomcluster_extra.go
- stroomcluster_nodeset.go
- stroomcluster_spec.go
- stroomcluster_types.go
- stroomtaskautoscaler_types.go
- utils.go
- zz_generated.deepcopy.go