Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Authentication ¶ added in v0.0.4
Authentication defines credentials for snapshot requests
type Cerebro ¶ added in v0.0.9
type Cerebro struct { // Defines the image to use for deploying Cerebro Image string `json:"image"` Configuration string `json:"configuration"` }
Cerebro properties if wanting operator to deploy for user
type ClusterSpec ¶
type ClusterSpec struct { // ClientNodeSize defines how many client nodes to have in cluster ClientNodeReplicas int32 `json:"client-node-replicas"` // MasterNodeSize defines how many client nodes to have in cluster MasterNodeReplicas int `json:"master-node-replicas"` // DataNodeSize defines how many client nodes to have in cluster DataNodeReplicas int `json:"data-node-replicas"` // NodeSelector specifies a map of key-value pairs. For the pod to be eligible // to run on a node, the node must have each of the indicated key-value pairs as // labels. NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Zones specifies a map of key-value pairs. Defines which zones // to deploy persistent volumes for data nodes Zones []string `json:"zones,omitempty"` // DataDiskSize specifies how large the persistent volume should be attached // to the data nodes in the ES cluster DataDiskSize string `json:"data-volume-size"` // DataDiskSize specifies the docker image to use (optional) ElasticSearchImage string `json:"elastic-search-image"` // Snapshot defines how snapshots are scheduled Snapshot Snapshot `json:"snapshot"` // Storage defines how volumes are provisioned Storage Storage `json:"storage"` // JavaOptions defines args passed to elastic nodes JavaOptions string `json:"java-options"` // ImagePullSecrets defines credentials to pull image from private repository (optional) ImagePullSecrets []ImagePullSecrets `json:"image-pull-secrets"` // Resources defines memory / cpu constraints Resources Resources `json:"resources"` // Instrumentation defines metrics for the cluster Instrumentation Instrumentation `json:"instrumentation"` // Specify how the container binds to network ports NetworkHost string `json:"network-host"` //NodePort NodePort int32 `json:"nodePort"` // Kibana Kibana Kibana `json:"kibana"` //Cerebro Cerebro Cerebro `json:"cerebro"` Scheduler *snapshot.Scheduler }
ClusterSpec defines cluster options
type ElasticsearchCluster ¶
type ElasticsearchCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Type string `json:"type"` Spec ClusterSpec `json:"spec"` Status CRDStatus `json:"status,omitempty"` }
ElasticsearchCluster defines the cluster
type ElasticsearchClusterList ¶
type ElasticsearchClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ElasticsearchCluster `json:"items"` }
ElasticsearchClusterList represents a list of ES Clusters
type ImagePullSecrets ¶ added in v0.0.4
type ImagePullSecrets struct { // Name defines the name of the secret file that will be used Name string `json:"name"` }
ImagePullSecrets defines credentials to pull image from private repository
type Instrumentation ¶ added in v0.0.4
type Instrumentation struct {
StatsdHost string `json:"statsd-host"`
}
Instrumentation handles all metrics for the cluster
type Kibana ¶ added in v0.0.7
type Kibana struct { // Defines the image to use for deploying kibana Image string `json:"image"` }
Kibana properties if wanting operator to deploy for user
type MemoryCPU ¶
type MemoryCPU struct { // Memory defines max amount of memory Memory string `json:"memory"` // CPU defines max amount of CPU CPU string `json:"cpu"` }
MemoryCPU defines memory cpu options
type Snapshot ¶
type Snapshot struct { // Enabled determines if snapshots are enabled SchedulerEnabled bool `json:"scheduler-enabled"` // BucketName defines the AWS S3 bucket to store snapshots BucketName string `json:"bucket-name"` // CronSchedule defines how to run the snapshots // SEE: https://godoc.org/github.com/robfig/cron CronSchedule string `json:"cron-schedule"` // Authentication defines credentials for snapshot requests Authentication Authentication `json:"authentication"` }
Snapshot defines all params to create / store snapshots
type Storage ¶
type Storage struct { // StorageType is the type of storage to create StorageType string `json:"type"` // StorageClassProvisoner is the storage provisioner type StorageClassProvisoner string `json:"storage-class-provisioner"` // StorageClass to use StorageClass string `json:"storage-class"` // Volume Reclaim Policy on Persistent Volumes VolumeReclaimPolicy string `json:"volume-reclaim-policy"` }
Storage defines how dynamic volumes are created https://kubernetes.io/docs/user-guide/persistent-volumes/