v1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: May 31, 2019 License: BSD-3-Clause Imports: 5 Imported by: 60

Documentation

Overview

Package v1 is the v1 version of the API. +groupName=enterprises.upmc.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)

SchemeGroupVersion is group version used to register these objects

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Authentication

type Authentication struct {
	UserName string `json:"username"`
	Password string `json:"password"`
}

Authentication defines credentials for snapshot requests

func (*Authentication) DeepCopy

func (in *Authentication) DeepCopy() *Authentication

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

func (*Authentication) DeepCopyInto

func (in *Authentication) DeepCopyInto(out *Authentication)

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

type CRDState

type CRDState string

type CRDStatus

type CRDStatus struct {
	State   CRDState `json:"state,omitempty"`
	Message string   `json:"message,omitempty"`
}

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 Cerebro

type Cerebro struct {
	// Defines the image to use for deploying Cerebro
	Image string `json:"image"`

	// ImagePullPolicy specifies the image-pull-policy to use (optional)
	ImagePullPolicy string `json:"image-pull-policy"`

	Configuration string `json:"configuration"`

	// serviceAccount to use when running cerebro
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
}

Cerebro properties if wanting operator to deploy for user

func (*Cerebro) DeepCopy

func (in *Cerebro) DeepCopy() *Cerebro

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

func (*Cerebro) DeepCopyInto

func (in *Cerebro) DeepCopyInto(out *Cerebro)

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

type ClusterSpec

type ClusterSpec struct {
	// ClientNodeReplicas defines how many client nodes to have in cluster
	ClientNodeReplicas int32 `json:"client-node-replicas"`

	// MasterNodeReplicas defines how many master nodes to have in cluster
	MasterNodeReplicas int `json:"master-node-replicas"`

	// DataNodeReplicas defines how many data 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"`

	// Tolerations specifies which tolerations the Master and Data nodes will have applied to them
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// Affinity (podAffinity, podAntiAffinity, nodeAffinity) will be applied to the Client nodes
	Affinity v1.Affinity `json:"affinity,omitempty"`

	// Annotations specifies a map of key-value pairs
	Annotations map[string]string `json:"annotations,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"`

	// MasterDiskSize specifies how large the persistent volume should be attached
	// to the master nodes in the ES cluster
	MasterDiskSize string `json:"master-volume-size"`

	// ElasticSearchImage specifies the docker image to use (optional)
	ElasticSearchImage string `json:"elastic-search-image"`

	// ImagePullPolicy specifies the image-pull-policy to use (optional)
	ImagePullPolicy string `json:"image-pull-policy"`

	// 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 all elastic nodes
	JavaOptions string `json:"java-options"`

	// ClientJavaOptions defines args passed to client nodes (Overrides JavaOptions)
	ClientJavaOptions string `json:"client-java-options"`

	// DataJavaOptions defines args passed to data nodes (Overrides JavaOptions)
	DataJavaOptions string `json:"data-java-options"`

	// MasterJavaOptions defines args passed to master nodes (Overrides JavaOptions)
	MasterJavaOptions string `json:"master-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 Scheduler

	//KeepSecretsOnDelete tells the operator to not delete secrets when a cluster is destroyed
	KeepSecretsOnDelete bool `json:"keep-secrets-on-delete"`

	// Use SSL for clients connections
	UseSSL *bool `json:"use-ssl,omitempty"`

	// serviceAccount to use when running nodes
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
}

ClusterSpec defines cluster options

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

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

func (*ElasticsearchCluster) DeepCopy

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

func (*ElasticsearchCluster) DeepCopyInto

func (in *ElasticsearchCluster) DeepCopyInto(out *ElasticsearchCluster)

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

func (*ElasticsearchCluster) DeepCopyObject

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

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

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

func (*ElasticsearchClusterList) DeepCopy

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

func (*ElasticsearchClusterList) DeepCopyInto

func (in *ElasticsearchClusterList) DeepCopyInto(out *ElasticsearchClusterList)

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

func (*ElasticsearchClusterList) DeepCopyObject

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

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

type ImagePullSecrets

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

func (*ImagePullSecrets) DeepCopy

func (in *ImagePullSecrets) DeepCopy() *ImagePullSecrets

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

func (*ImagePullSecrets) DeepCopyInto

func (in *ImagePullSecrets) DeepCopyInto(out *ImagePullSecrets)

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

type Instrumentation

type Instrumentation struct {
	StatsdHost string `json:"statsd-host"`
}

Instrumentation handles all metrics for the cluster

func (*Instrumentation) DeepCopy

func (in *Instrumentation) DeepCopy() *Instrumentation

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

func (*Instrumentation) DeepCopyInto

func (in *Instrumentation) DeepCopyInto(out *Instrumentation)

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

type Kibana

type Kibana struct {
	// Defines the image to use for deploying kibana
	Image string `json:"image"`

	// ImagePullPolicy specifies the image-pull-policy to use (optional)
	ImagePullPolicy string `json:"image-pull-policy"`

	// serviceAccount to use when running kibana
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
}

Kibana properties if wanting operator to deploy for user

func (*Kibana) DeepCopy

func (in *Kibana) DeepCopy() *Kibana

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

func (*Kibana) DeepCopyInto

func (in *Kibana) DeepCopyInto(out *Kibana)

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

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

func (*MemoryCPU) DeepCopy

func (in *MemoryCPU) DeepCopy() *MemoryCPU

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

func (*MemoryCPU) DeepCopyInto

func (in *MemoryCPU) DeepCopyInto(out *MemoryCPU)

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

type RepoAuthentication added in v0.3.0

type RepoAuthentication struct {
	RepoAccessKey string `json:"access-key"`
	RepoSecretKey string `json:"secret-key"`
}

func (*RepoAuthentication) DeepCopy added in v0.3.0

func (in *RepoAuthentication) DeepCopy() *RepoAuthentication

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

func (*RepoAuthentication) DeepCopyInto added in v0.3.0

func (in *RepoAuthentication) DeepCopyInto(out *RepoAuthentication)

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

type RepoSchedulerAuthentication added in v0.3.0

type RepoSchedulerAuthentication struct {
	RepoAccessKey string
	RepoSecretKey string
}

func (*RepoSchedulerAuthentication) DeepCopy added in v0.3.0

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

func (*RepoSchedulerAuthentication) DeepCopyInto added in v0.3.0

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

type Resources

type Resources struct {
	Requests MemoryCPU `json:"requests"`
	Limits   MemoryCPU `json:"limits"`
}

Resources defines CPU / Memory restrictions on pods

func (*Resources) DeepCopy

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

type Scheduler

type Scheduler struct {
	RepoType     string
	BucketName   string
	CronSchedule string
	Enabled      bool
	Auth         SchedulerAuthentication
	RepoAuth     RepoSchedulerAuthentication
	RepoRegion   string
	ElasticURL   string
	Namespace    string
	ClusterName  string
	Image        string
	UseSSL       bool
}

Scheduler stores info about how to snapshot the cluster

func (*Scheduler) DeepCopy

func (in *Scheduler) DeepCopy() *Scheduler

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

func (*Scheduler) DeepCopyInto

func (in *Scheduler) DeepCopyInto(out *Scheduler)

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

type SchedulerAuthentication

type SchedulerAuthentication struct {
	UserName string
	Password string
}

SchedulerAuthentication stores credentials used to authenticate against snapshot endpoint

func (*SchedulerAuthentication) DeepCopy

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

func (*SchedulerAuthentication) DeepCopyInto

func (in *SchedulerAuthentication) DeepCopyInto(out *SchedulerAuthentication)

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

type Snapshot

type Snapshot struct {
	// Enabled determines if snapshots are enabled
	SchedulerEnabled bool `json:"scheduler-enabled"`

	// RepoType defines the type of Elasticsearch Repository, s3, gcs, azure
	RepoType string `json:"type"`

	// BucketName defines the AWS s3, gcs, azure bucket/container 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"`

	// Defines the image to run cronjobs
	Image string `json:"image"`

	RepoRegion string `json:"repo-region"`

	RepoAuthentication RepoAuthentication `json:"repo-authentication"`
}

Snapshot defines all params to create / store snapshots

func (*Snapshot) DeepCopy

func (in *Snapshot) DeepCopy() *Snapshot

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

func (*Snapshot) DeepCopyInto

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

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

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

	// Encrypted chooses whether or not to use encryption ("true or false")
	Encrypted string `json:"encrypted,omitempty"`
}

Storage defines how dynamic volumes are created https://kubernetes.io/docs/user-guide/persistent-volumes/

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.

Jump to

Keyboard shortcuts

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