Documentation
¶
Index ¶
- Constants
- func UnstructuredFromCurator(p *Curator) (*unstructured.Unstructured, error)
- func UnstructuredFromElasticsearch(p *Elasticsearch) (*unstructured.Unstructured, error)
- type Curator
- type CuratorInterface
- type CuratorList
- type CuratorSpec
- type CuratorStatus
- type CuratoresGetter
- type ElastichearchsGetter
- type Elasticsearch
- type ElasticsearchInterface
- type ElasticsearchList
- type ElasticsearchPartSpec
- type ElasticsearchSpec
- type ElasticsearchStatus
- type MonitoringV1alpha1Client
- type MonitoringV1alpha1Interface
- type StorageSpec
- type TLSConfig
Constants ¶
const ( TPRGroup = "elasticsearch.zerbytes.net" TPRVersion = "v1alpha1" )
const ( TPRCuratorKind = "Curator" TPRCuratorName = "curators" )
const ( TPRElasticsearchKind = "Elasticsearch" TPRElasticsearchName = "elasticsearchs" )
Variables ¶
This section is empty.
Functions ¶
func UnstructuredFromCurator ¶
func UnstructuredFromCurator(p *Curator) (*unstructured.Unstructured, error)
UnstructuredFromCurator marshals a Curator object into dynamic client's unstructured
func UnstructuredFromElasticsearch ¶
func UnstructuredFromElasticsearch(p *Elasticsearch) (*unstructured.Unstructured, error)
UnstructuredFromElasticsearch marshals a Elasticsearch object into dynamic client's unstructured
Types ¶
type Curator ¶
type Curator struct {
metav1.TypeMeta `json:",inline"`
// Standard object’s metadata. More info:
// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired behavior of the Elasticsearch cluster. More info:
// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Spec CuratorSpec `json:"spec"`
// Most recent observed status of the Elasticsearch cluster. Read-only. Not
// included when requesting from the apiserver, only from the Elasticsearch
// Operator API itself. More info:
// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Status *CuratorStatus `json:"status,omitempty"`
}
Curator defines a elasticsearch curator job.
func CuratorFromUnstructured ¶
func CuratorFromUnstructured(r *unstructured.Unstructured) (*Curator, error)
CuratorFromUnstructured unmarshals a Curator object from dynamic client's unstructured
type CuratorInterface ¶
type CuratorInterface interface {
Create(*Curator) (*Curator, error)
Get(name string) (*Curator, error)
Update(*Curator) (*Curator, error)
Delete(name string, options *metav1.DeleteOptions) error
List(opts metav1.ListOptions) (runtime.Object, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
}
type CuratorList ¶
type CuratorList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
// List of Elastichearchs
Items []*Curator `json:"items"`
}
CuratorList is a list of Curators.
type CuratorSpec ¶
type CuratorSpec struct {
// Version of Elasticsearch to be deployed.
Version string `json:"version,omitempty"`
// When a Elasticsearch deployment is paused, no actions except for deletion
// will be performed on the underlying objects.
Paused bool `json:"paused,omitempty"`
// Base image to use for a Elasticsearch deployment.
BaseImage string `json:"baseImage,omitempty"`
// An optional list of references to secrets in the same namespace
// to use for pulling elasticsearch and curator images from registries
// see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
// Number of instances to deploy for a Elasticsearch deployment.
Schedule string `json:"schedule"`
// The external URL the Elasticsearch instances will be available under. This is
// necessary to generate correct URLs. This is necessary if Elasticsearch is not
// served from root of a DNS name.
Config string `json:"config,omitempty"`
// The actions that should be built as a config.
Actions string `json:"actions,omitempty"`
// Define resources requests and limits for single Pods.
Resources v1.ResourceRequirements `json:"resources,omitempty"`
// Define which Nodes the Pods are scheduled on.
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// ServiceAccountName is the name of the ServiceAccount to use to run the
// Elasticsearch Pods.
ServiceAccountName string `json:"serviceAccountName,omitempty"`
}
CuratorSpec Specification of the desired behavior of the Curator job. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
type CuratorStatus ¶
type CuratorStatus struct {
// Represents whether any actions on the underlaying managed objects are
// being performed. Only delete actions will be performed.
Paused bool `json:"paused"`
// LastScheduleTime keeps information of when was the last time the job was successfully scheduled.
// +optional
LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty" protobuf:"bytes,4,opt,name=lastScheduleTime"`
}
CuratorStatus Most recent observed status of the Curator job. Read-only. Not included when requesting from the apiserver, only from the Elasticsearch Operator API itself. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
type CuratoresGetter ¶
type CuratoresGetter interface {
Curatores(namespace string) CuratorInterface
}
type ElastichearchsGetter ¶
type ElastichearchsGetter interface {
Elastichearchs(namespace string) ElasticsearchInterface
}
type Elasticsearch ¶
type Elasticsearch struct {
metav1.TypeMeta `json:",inline"`
// Standard object’s metadata. More info:
// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired behavior of the Elasticsearch cluster. More info:
// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Spec ElasticsearchSpec `json:"spec"`
// Most recent observed status of the Elasticsearch cluster. Read-only. Not
// included when requesting from the apiserver, only from the Elasticsearch
// Operator API itself. More info:
// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Status *ElasticsearchStatus `json:"status,omitempty"`
}
Elasticsearch defines a Elasticsearch deployment.
func ElasticsearchFromUnstructured ¶
func ElasticsearchFromUnstructured(r *unstructured.Unstructured) (*Elasticsearch, error)
ElasticsearchFromUnstructured unmarshals a Elasticsearch object from dynamic client's unstructured
type ElasticsearchInterface ¶
type ElasticsearchInterface interface {
Create(*Elasticsearch) (*Elasticsearch, error)
Get(name string) (*Elasticsearch, error)
Update(*Elasticsearch) (*Elasticsearch, error)
Delete(name string, options *metav1.DeleteOptions) error
List(opts metav1.ListOptions) (runtime.Object, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
}
type ElasticsearchList ¶
type ElasticsearchList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
// List of Elastichearchs
Items []*Elasticsearch `json:"items"`
}
ElasticsearchList is a list of Elastichearchs.
type ElasticsearchPartSpec ¶
type ElasticsearchPartSpec struct {
// Version of Elasticsearch to be deployed.
Version string `json:"version,omitempty"`
// Base image to use for a Elasticsearch deployment.
BaseImage string `json:"baseImage,omitempty"`
// Number of instances to deploy for a Elasticsearch cluster.
Replicas *int32 `json:"replicas,omitempty"`
// Storage spec to specify how storage shall be used.
Storage *StorageSpec `json:"storage,omitempty"`
// Define resources requests and limits for single Pods.
Resources v1.ResourceRequirements `json:"resources,omitempty"`
// Define which Nodes the Pods are scheduled on.
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Set the java options
JavaOpts string `json:"javaOpts,omitempty"`
// Additional config in form of a string to add to the master config file
AdditionalConfig string `json:"additionalConfig,omitempty"`
// Most recent observed status of the Elasticsearch cluster. Read-only. Not
// included when requesting from the apiserver, only from the Elasticsearch
// Operator API itself. More info:
// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Status *ElasticsearchStatus `json:"status,omitempty"`
// User specific env vars
Env []v1.EnvVar `json:"env,omitempty"`
}
ElasticsearchPartSpec TODO
type ElasticsearchSpec ¶
type ElasticsearchSpec struct {
// Version of Elasticsearch to be deployed.
Version string `json:"version,omitempty"`
JavaMemoryControl bool `json:"javaMemoryControl,omitempty"`
AdditionalConfig string `json:"additionalConfig,omitempty"`
// When a Elasticsearch deployment is paused, no actions except for deletion
// will be performed on the underlying objects.
Paused bool `json:"paused,omitempty"`
// An optional list of references to secrets in the same namespace
// to use for pulling elasticsearch and curator images from registries
// see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
// ServiceAccountName is the name of the ServiceAccount to use to run the
// Elasticsearch Pods.
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// Master spec for all statefulset information
Master *ElasticsearchPartSpec `json:"master"`
// Data spec for all statefulset information
Data *ElasticsearchPartSpec `json:"data"`
// Ingest spec for all statefulset information
Ingest *ElasticsearchPartSpec `json:"ingest"`
}
ElasticsearchSpec Specification of the desired behavior of the Elasticsearch cluster. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
type ElasticsearchStatus ¶
type ElasticsearchStatus struct {
// Represents whether any actions on the underlaying managed objects are
// being performed. Only delete actions will be performed.
Paused bool `json:"paused"`
// Total number of non-terminated pods targeted by this Elasticsearch cluster
// (their labels match the selector).
Replicas int32 `json:"replicas"`
// Total number of non-terminated pods targeted by this Elasticsearch cluster
// that have the desired version spec.
UpdatedReplicas int32 `json:"updatedReplicas"`
// Total number of available pods (ready for at least minReadySeconds)
// targeted by this Elasticsearch cluster.
AvailableReplicas int32 `json:"availableReplicas"`
UnavailableReplicas int32 `json:"unavailableReplicas"`
}
ElasticsearchStatus Most recent observed status of the Elasticsearch cluster. Read-only. Not included when requesting from the apiserver, only from the Elasticsearch Operator API itself. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
type MonitoringV1alpha1Client ¶
type MonitoringV1alpha1Client struct {
// contains filtered or unexported fields
}
func NewForConfig ¶
func NewForConfig(c *rest.Config) (*MonitoringV1alpha1Client, error)
func (*MonitoringV1alpha1Client) Curators ¶
func (c *MonitoringV1alpha1Client) Curators(namespace string) CuratorInterface
func (*MonitoringV1alpha1Client) Elastichearchs ¶
func (c *MonitoringV1alpha1Client) Elastichearchs(namespace string) ElasticsearchInterface
func (*MonitoringV1alpha1Client) RESTClient ¶
func (c *MonitoringV1alpha1Client) RESTClient() rest.Interface
type MonitoringV1alpha1Interface ¶
type MonitoringV1alpha1Interface interface {
RESTClient() rest.Interface
ElastichearchsGetter
CuratoresGetter
}
type StorageSpec ¶
type StorageSpec struct {
// Name of the StorageClass to use when requesting storage provisioning. More
// info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses
Class string `json:"class"`
// A label query over volumes to consider for binding.
Selector *metav1.LabelSelector `json:"selector"`
// Resources represents the minimum resources the volume should have. More
// info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources
Resources v1.ResourceRequirements `json:"resources"`
}
StorageSpec defines the configured storage for a group Elasticsearch servers.
type TLSConfig ¶
type TLSConfig struct {
// The CA cert to use for the targets.
CAFile string `json:"caFile,omitempty"`
// The client cert file for the targets.
CertFile string `json:"certFile,omitempty"`
// The client key file for the targets.
KeyFile string `json:"keyFile,omitempty"`
// Used to verify the hostname for the targets.
ServerName string `json:"serverName,omitempty"`
// Disable target certificate validation.
InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}
TLSConfig specifies TLS configuration parameters.