Skip to content

Latest commit

 

History

History
2435 lines (1711 loc) · 119 KB

api-docs.asciidoc

File metadata and controls

2435 lines (1711 loc) · 119 KB

API Reference

agent.k8s.elastic.co/v1alpha1

Package v1alpha1 contains API Schema definitions for the agent v1alpha1 API group

Resource Types

Agent

Agent is the Schema for the Agents API.

Field Description

apiVersion string

agent.k8s.elastic.co/v1alpha1

kind string

Agent

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec AgentSpec

AgentMode (string)

Appears In:

AgentSpec

AgentSpec defines the desired state of the Agent

Appears In:
Field Description

version string

Version of the Agent.

elasticsearchRefs Output array

ElasticsearchRefs is a reference to a list of Elasticsearch clusters running in the same Kubernetes cluster. Due to existing limitations, only a single ES cluster is currently supported.

image string

Image is the Agent Docker image to deploy. Version has to match the Agent in the image.

config Config

Config holds the Agent configuration. At most one of [Config, ConfigRef] can be specified.

configRef ConfigSource

ConfigRef contains a reference to an existing Kubernetes Secret holding the Agent configuration. Agent settings must be specified as yaml, under a single "agent.yml" entry. At most one of [Config, ConfigRef] can be specified.

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Agent. Secrets data can be then referenced in the Agent config using the Secret’s keys or as specified in Entries field of each SecureSetting.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to an Elasticsearch resource in a different namespace. Can only be used if ECK is enforcing RBAC on references.

daemonSet DaemonSetSpec

DaemonSet specifies the Agent should be deployed as a DaemonSet, and allows providing its spec. Cannot be used along with deployment or statefulSet.

deployment DeploymentSpec

Deployment specifies the Agent should be deployed as a Deployment, and allows providing its spec. Cannot be used along with daemonSet or statefulSet.

statefulSet StatefulSetSpec

StatefulSet specifies the Agent should be deployed as a StatefulSet, and allows providing its spec. Cannot be used along with daemonSet or deployment.

revisionHistoryLimit integer

RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying DaemonSet or Deployment or StatefulSet.

http HTTPConfig

HTTP holds the HTTP layer configuration for the Agent in Fleet mode with Fleet Server enabled.

mode AgentMode

Mode specifies the source of configuration for the Agent. The configuration can be specified locally through config or configRef (standalone mode), or come from Fleet during runtime (fleet mode). Defaults to standalone mode.

fleetServerEnabled boolean

FleetServerEnabled determines whether this Agent will launch Fleet Server. Don’t set unless mode is set to fleet.

policyID string

PolicyID determines into which Agent Policy this Agent will be enrolled. This field will become mandatory in a future release, default policies are deprecated since 8.1.0.

kibanaRef ObjectSelector

KibanaRef is a reference to Kibana where Fleet should be set up and this Agent should be enrolled. Don’t set unless mode is set to fleet.

fleetServerRef ObjectSelector

FleetServerRef is a reference to Fleet Server that this Agent should connect to to obtain it’s configuration. Don’t set unless mode is set to fleet.

DaemonSetSpec

Appears In:
Field Description

podTemplate PodTemplateSpec

updateStrategy DaemonSetUpdateStrategy

DeploymentSpec

Appears In:
Field Description

podTemplate PodTemplateSpec

replicas integer

Output

Appears In:
Field Description

ObjectSelector ObjectSelector

outputName string

StatefulSetSpec

Appears In:
Field Description

podTemplate PodTemplateSpec

replicas integer

serviceName string

podManagementPolicy PodManagementPolicyType

PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is Parallel, where pods are created in parallel to match the desired scale without waiting, and on scale down will delete all pods at once. The alternative policy is OrderedReady, the default for vanilla kubernetes StatefulSets, where pods are created in increasing order in increasing order (pod-0, then pod-1, etc.) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order.

volumeClaimTemplates PersistentVolumeClaim array

VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod. Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate. Items defined here take precedence over any default claims added by the operator with the same name.

apm.k8s.elastic.co/v1

Package v1 contains API schema definitions for managing APM Server resources.

Resource Types

ApmServer

ApmServer represents an APM Server resource in a Kubernetes cluster.

Field Description

apiVersion string

apm.k8s.elastic.co/v1

kind string

ApmServer

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ApmServerSpec

ApmServerSpec holds the specification of an APM Server.

Appears In:
Field Description

version string

Version of the APM Server.

image string

Image is the APM Server Docker image to deploy.

count integer

Count of APM Server instances to deploy.

config Config

http HTTPConfig

HTTP holds the HTTP layer configuration for the APM Server resource.

elasticsearchRef ObjectSelector

ElasticsearchRef is a reference to the output Elasticsearch cluster running in the same Kubernetes cluster.

kibanaRef ObjectSelector

KibanaRef is a reference to a Kibana instance running in the same Kubernetes cluster. It allows APM agent central configuration management in Kibana.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the APM Server pods.

revisionHistoryLimit integer

RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying Deployment.

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for APM Server.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace. Can only be used if ECK is enforcing RBAC on references.

apm.k8s.elastic.co/v1beta1

Package v1beta1 contains API schema definitions for managing APM Server resources.

Resource Types

ApmServer

ApmServer represents an APM Server resource in a Kubernetes cluster.

Field Description

apiVersion string

apm.k8s.elastic.co/v1beta1

kind string

ApmServer

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ApmServerSpec

ApmServerSpec holds the specification of an APM Server.

Appears In:
Field Description

version string

Version of the APM Server.

image string

Image is the APM Server Docker image to deploy.

count integer

Count of APM Server instances to deploy.

config Config

http HTTPConfig

HTTP holds the HTTP layer configuration for the APM Server resource.

elasticsearchRef ObjectSelector

ElasticsearchRef is a reference to the output Elasticsearch cluster running in the same Kubernetes cluster.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the APM Server pods.

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for APM Server.

autoscaling.k8s.elastic.co/v1alpha1

Package v1alpha1 contains API schema definitions for managing ElasticsearchAutoscaler resources.

Resource Types

ElasticsearchAutoscaler

ElasticsearchAutoscaler represents an ElasticsearchAutoscaler resource in a Kubernetes cluster.

Field Description

apiVersion string

autoscaling.k8s.elastic.co/v1alpha1

kind string

ElasticsearchAutoscaler

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ElasticsearchAutoscalerSpec

ElasticsearchAutoscalerSpec holds the specification of an Elasticsearch autoscaler resource.

Field Description

elasticsearchRef ElasticsearchRef

pollingPeriod Duration

PollingPeriod is the period at which to synchronize with the Elasticsearch autoscaling API.

ElasticsearchRef

ElasticsearchRef is a reference to an Elasticsearch cluster that exists in the same namespace.

Field Description

name string

Name is the name of the Elasticsearch resource to scale automatically.

beat.k8s.elastic.co/v1beta1

Package v1beta1 contains API Schema definitions for the beat v1beta1 API group

Resource Types

Beat

Beat is the Schema for the Beats API.

Field Description

apiVersion string

beat.k8s.elastic.co/v1beta1

kind string

Beat

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec BeatSpec

BeatSpec

BeatSpec defines the desired state of a Beat.

Appears In:
Field Description

type string

Type is the type of the Beat to deploy (filebeat, metricbeat, heartbeat, auditbeat, journalbeat, packetbeat, and so on). Any string can be used, but well-known types will have the image field defaulted and have the appropriate Elasticsearch roles created automatically. It also allows for dashboard setup when combined with a KibanaRef.

version string

Version of the Beat.

elasticsearchRef ObjectSelector

ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.

kibanaRef ObjectSelector

KibanaRef is a reference to a Kibana instance running in the same Kubernetes cluster. It allows automatic setup of dashboards and visualizations.

image string

Image is the Beat Docker image to deploy. Version and Type have to match the Beat in the image.

config Config

Config holds the Beat configuration. At most one of [Config, ConfigRef] can be specified.

configRef ConfigSource

ConfigRef contains a reference to an existing Kubernetes Secret holding the Beat configuration. Beat settings must be specified as yaml, under a single "beat.yml" entry. At most one of [Config, ConfigRef] can be specified.

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Beat. Secrets data can be then referenced in the Beat config using the Secret’s keys or as specified in Entries field of each SecureSetting.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to Elasticsearch resource in a different namespace. Can only be used if ECK is enforcing RBAC on references.

daemonSet DaemonSetSpec

DaemonSet specifies the Beat should be deployed as a DaemonSet, and allows providing its spec. Cannot be used along with deployment. If both are absent a default for the Type is used.

deployment DeploymentSpec

Deployment specifies the Beat should be deployed as a Deployment, and allows providing its spec. Cannot be used along with daemonSet. If both are absent a default for the Type is used.

monitoring Monitoring

Monitoring enables you to collect and ship logs and metrics for this Beat. Metricbeat and/or Filebeat sidecars are configured and send monitoring data to an Elasticsearch monitoring cluster running in the same Kubernetes cluster.

revisionHistoryLimit integer

RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying DaemonSet or Deployment.

DaemonSetSpec

Appears In:
Field Description

podTemplate PodTemplateSpec

updateStrategy DaemonSetUpdateStrategy

DeploymentSpec

Appears In:
Field Description

podTemplate PodTemplateSpec

replicas integer

common.k8s.elastic.co/v1

Package v1 contains API schema definitions for common types used by all resources.

ConfigMapRef

ConfigMapRef is a reference to a config map that exists in the same namespace as the referring resource.

Appears In:
Field Description

configMapName string

ConfigSource

ConfigSource references configuration settings.

Field Description

secretName string

SecretName is the name of the secret.

HTTPConfig

HTTPConfig holds the HTTP layer configuration for resources.

Field Description

service ServiceTemplate

Service defines the template for the associated Kubernetes Service object.

TLS defines options for configuring TLS for HTTP.

KeyToPath

KeyToPath defines how to map a key in a Secret object to a filesystem path.

Appears In:
Field Description

key string

Key is the key contained in the secret.

path string

Path is the relative file path to map the key to. Path must not be an absolute file path and must not contain any ".." components.

LocalObjectSelector

LocalObjectSelector defines a reference to a Kubernetes object corresponding to an Elastic resource managed by the operator

Appears In:
Field Description

namespace string

Namespace of the Kubernetes object. If empty, defaults to the current namespace.

name string

Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.

serviceName string

ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of the referenced resource is used.

LogsMonitoring

LogsMonitoring holds a list of Elasticsearch clusters which receive logs data from associated resources.

Appears In:
Field Description

elasticsearchRefs ObjectSelector array

ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster. Due to existing limitations, only a single Elasticsearch cluster is currently supported.

MetricsMonitoring

MetricsMonitoring holds a list of Elasticsearch clusters which receive monitoring data from associated resources.

Appears In:
Field Description

elasticsearchRefs ObjectSelector array

ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster. Due to existing limitations, only a single Elasticsearch cluster is currently supported.

Monitoring

Monitoring holds references to both the metrics, and logs Elasticsearch clusters for configuring stack monitoring.

Field Description

Metrics holds references to Elasticsearch clusters which receive monitoring data from this resource.

Logs holds references to Elasticsearch clusters which receive log data from an associated resource.

ObjectSelector

ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator or a Secret describing an external Elastic resource not managed by the operator.

Field Description

namespace string

Namespace of the Kubernetes object. If empty, defaults to the current namespace.

name string

Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.

serviceName string

ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of the referenced resource is used.

secretName string

SecretName is the name of an existing Kubernetes secret that contains connection information for associating an Elastic resource not managed by the operator. The referenced secret must contain the following: - url: the URL to reach the Elastic resource - username: the username of the user to be authenticated to the Elastic resource - password: the password of the user to be authenticated to the Elastic resource - ca.crt: the CA certificate in PEM format (optional) - api-key: the key to authenticate against the Elastic resource instead of a username and password (supported only for elasticsearchRefs in AgentSpec and in BeatSpec) This field cannot be used in combination with the other fields name, namespace or serviceName.

PodDisruptionBudgetTemplate

PodDisruptionBudgetTemplate defines the template for creating a PodDisruptionBudget.

Appears In:
Field Description

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

Spec is the specification of the PDB.

SecretRef

SecretRef is a reference to a secret that exists in the same namespace.

Field Description

secretName string

SecretName is the name of the secret.

SecretSource

SecretSource defines a data source based on a Kubernetes Secret.

Field Description

secretName string

SecretName is the name of the secret.

entries KeyToPath array

Entries define how to project each key-value pair in the secret to filesystem paths. If not defined, all keys will be projected to similarly named paths in the filesystem. If defined, only the specified keys will be projected to the corresponding paths.

SelfSignedCertificate

SelfSignedCertificate holds configuration for the self-signed certificate generated by the operator.

Appears In:
Field Description

subjectAltNames SubjectAlternativeName array

SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.

disabled boolean

Disabled indicates that the provisioning of the self-signed certifcate should be disabled.

ServiceTemplate

ServiceTemplate defines the template for a Kubernetes Service.

Field Description

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

Spec is the specification of the service.

SubjectAlternativeName

SubjectAlternativeName represents a SAN entry in a x509 certificate.

Field Description

dns string

DNS is the DNS name of the subject.

ip string

IP is the IP address of the subject.

TLSOptions

TLSOptions holds TLS configuration options.

Field Description

selfSignedCertificate SelfSignedCertificate

SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.

certificate SecretRef

Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS. The referenced secret should contain the following:

  • ca.crt: The certificate authority (optional).

  • tls.crt: The certificate (or a chain).

  • tls.key: The private key to the first certificate in the certificate chain.

common.k8s.elastic.co/v1alpha1

Package v1alpha1 contains API schema definitions for common types used by all resources.

Condition

Condition represents Elasticsearch resource’s condition. This API is in technical preview and may be changed or removed in a future release.

Appears In:
Field Description

lastTransitionTime Time

message string

ConditionType (string)

ConditionType defines the condition of an Elasticsearch resource.

Appears In:

Conditions (Condition)

Appears In:
Field Description

lastTransitionTime Time

message string

common.k8s.elastic.co/v1beta1

Package v1beta1 contains API schema definitions for common types used by all resources.

Config

Config represents untyped YAML configuration.

HTTPConfig

HTTPConfig holds the HTTP layer configuration for resources.

Field Description

service ServiceTemplate

Service defines the template for the associated Kubernetes Service object.

TLS defines options for configuring TLS for HTTP.

KeyToPath

KeyToPath defines how to map a key in a Secret object to a filesystem path.

Appears In:
Field Description

key string

Key is the key contained in the secret.

path string

Path is the relative file path to map the key to. Path must not be an absolute file path and must not contain any ".." components.

ObjectSelector

ObjectSelector defines a reference to a Kubernetes object.

Field Description

name string

Name of the Kubernetes object.

namespace string

Namespace of the Kubernetes object. If empty, defaults to the current namespace.

PodDisruptionBudgetTemplate

PodDisruptionBudgetTemplate defines the template for creating a PodDisruptionBudget.

Appears In:
Field Description

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

Spec is the specification of the PDB.

SecretRef

SecretRef is a reference to a secret that exists in the same namespace.

Appears In:
Field Description

secretName string

SecretName is the name of the secret.

SecretSource

SecretSource defines a data source based on a Kubernetes Secret.

Field Description

secretName string

SecretName is the name of the secret.

entries KeyToPath array

Entries define how to project each key-value pair in the secret to filesystem paths. If not defined, all keys will be projected to similarly named paths in the filesystem. If defined, only the specified keys will be projected to the corresponding paths.

SelfSignedCertificate

SelfSignedCertificate holds configuration for the self-signed certificate generated by the operator.

Appears In:
Field Description

subjectAltNames SubjectAlternativeName array

SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.

disabled boolean

Disabled indicates that the provisioning of the self-signed certifcate should be disabled.

ServiceTemplate

ServiceTemplate defines the template for a Kubernetes Service.

Appears In:
Field Description

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

Spec is the specification of the service.

SubjectAlternativeName

SubjectAlternativeName represents a SAN entry in a x509 certificate.

Appears In:
Field Description

dns string

DNS is the DNS name of the subject.

ip string

IP is the IP address of the subject.

TLSOptions

TLSOptions holds TLS configuration options.

Appears In:
Field Description

selfSignedCertificate SelfSignedCertificate

SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.

certificate SecretRef

Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS. The referenced secret should contain the following:

  • ca.crt: The certificate authority (optional).

  • tls.crt: The certificate (or a chain).

  • tls.key: The private key to the first certificate in the certificate chain.

elasticsearch.k8s.elastic.co/v1

Package v1 contains API schema definitions for managing Elasticsearch resources.

Resource Types

Auth

Auth contains user authentication and authorization security settings for Elasticsearch.

Appears In:
Field Description

roles RoleSource array

Roles to propagate to the Elasticsearch cluster.

fileRealm FileRealmSource array

FileRealm to propagate to the Elasticsearch cluster.

disableElasticUser boolean

DisableElasticUser disables the default elastic user that is created by ECK.

ChangeBudget

ChangeBudget defines the constraints to consider when applying changes to the Elasticsearch cluster.

Appears In:
Field Description

maxUnavailable integer

MaxUnavailable is the maximum number of Pods that can be unavailable (not ready) during the update due to circumstances under the control of the operator. Setting a negative value will disable this restriction. Defaults to 1 if not specified.

maxSurge integer

MaxSurge is the maximum number of new Pods that can be created exceeding the original number of Pods defined in the specification. MaxSurge is only taken into consideration when scaling up. Setting a negative value will disable the restriction. Defaults to unbounded if not specified.

DownscaleOperation

DownscaleOperation provides details about in progress downscale operations. This API is in technical preview and may be changed or removed in a future release.

Appears In:
Field Description

lastUpdatedTime Time

nodes DownscaledNode array

Nodes which are scheduled to be removed from the cluster.

stalled boolean

Stalled represents a state where no progress can be made. It is only available for clusters managed with the Elasticsearch shutdown API.

DownscaledNode

DownscaledNode provides an overview of in progress changes applied by the operator to remove Elasticsearch nodes from the cluster. This API is in technical preview and may be changed or removed in a future release.

Appears In:
Field Description

name string

Name of the Elasticsearch node that should be removed.

shutdownStatus string

Shutdown status as returned by the Elasticsearch shutdown API. If the Elasticsearch shutdown API is not available, the shutdown status is then inferred from the remaining shards on the nodes, as observed by the operator.

explanation string

Explanation provides details about an in progress node shutdown. It is only available for clusters managed with the Elasticsearch shutdown API.

Elasticsearch

Elasticsearch represents an Elasticsearch resource in a Kubernetes cluster.

Field Description

apiVersion string

elasticsearch.k8s.elastic.co/v1

kind string

Elasticsearch

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ElasticsearchHealth (string)

ElasticsearchHealth is the health of the cluster as returned by the health API.

Appears In:

ElasticsearchOrchestrationPhase (string)

ElasticsearchOrchestrationPhase is the phase Elasticsearch is in from the controller point of view.

Appears In:

ElasticsearchSpec

ElasticsearchSpec holds the specification of an Elasticsearch cluster.

Appears In:
Field Description

version string

Version of Elasticsearch.

image string

Image is the Elasticsearch Docker image to deploy.

http HTTPConfig

HTTP holds HTTP layer settings for Elasticsearch.

transport TransportConfig

Transport holds transport layer settings for Elasticsearch.

nodeSets NodeSet array

NodeSets allow specifying groups of Elasticsearch nodes sharing the same configuration and Pod templates.

updateStrategy UpdateStrategy

UpdateStrategy specifies how updates to the cluster should be performed.

podDisruptionBudget PodDisruptionBudgetTemplate

PodDisruptionBudget provides access to the default Pod disruption budget for the Elasticsearch cluster. The default budget doesn’t allow any Pod to be removed in case the cluster is not green or if there is only one node of type data or master. In all other cases the default PodDisruptionBudget sets minUnavailable equal to the total number of nodes minus 1. To disable, set PodDisruptionBudget to the empty value ({} in YAML).

auth Auth

Auth contains user authentication and authorization security settings for Elasticsearch.

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Elasticsearch.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to a resource (for ex. a remote Elasticsearch cluster) in a different namespace. Can only be used if ECK is enforcing RBAC on references.

remoteClusters RemoteCluster array

RemoteClusters enables you to establish uni-directional connections to a remote Elasticsearch cluster.

volumeClaimDeletePolicy VolumeClaimDeletePolicy

VolumeClaimDeletePolicy sets the policy for handling deletion of PersistentVolumeClaims for all NodeSets. Possible values are DeleteOnScaledownOnly and DeleteOnScaledownAndClusterDeletion. Defaults to DeleteOnScaledownAndClusterDeletion.

monitoring Monitoring

Monitoring enables you to collect and ship log and monitoring data of this Elasticsearch cluster. See https://www.elastic.co/guide/en/elasticsearch/reference/current/monitor-elasticsearch-cluster.html. Metricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different Elasticsearch monitoring clusters running in the same Kubernetes cluster.

revisionHistoryLimit integer

RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying StatefulSets.

ElasticsearchStatus

ElasticsearchStatus represents the observed state of Elasticsearch.

Appears In:
Field Description

availableNodes integer

AvailableNodes is the number of available instances.

version string

Version of the stack resource currently running. During version upgrades, multiple versions may run in parallel: this value specifies the lowest version currently running.

conditions Conditions

Conditions holds the current service state of an Elasticsearch cluster. This API is in technical preview and may be changed or removed in a future release.

inProgressOperations InProgressOperations

InProgressOperations represents changes being applied by the operator to the Elasticsearch cluster. This API is in technical preview and may be changed or removed in a future release.

observedGeneration integer

ObservedGeneration is the most recent generation observed for this Elasticsearch cluster. It corresponds to the metadata generation, which is updated on mutation by the API Server. If the generation observed in status diverges from the generation in metadata, the Elasticsearch controller has not yet processed the changes contained in the Elasticsearch specification.

FileRealmSource

FileRealmSource references users to create in the Elasticsearch cluster.

Appears In:
Field Description

secretName string

SecretName is the name of the secret.

InProgressOperations

InProgressOperations provides details about in progress changes applied by the operator on the Elasticsearch cluster. This API is in technical preview and may be changed or removed in a future release.

Appears In:
Field Description

downscale DownscaleOperation

NewNode

Appears In:
Field Description

name string

Name of the Elasticsearch node that should be added to the cluster.

status NewNodeStatus

NewNodeStatus states if a new node is being created, or if the upscale is delayed.

message string

Optional message to explain why a node may not be immediately added.

NewNodeStatus (string)

NewNodeStatus provides details about the status of nodes which are expected to be created and added to the Elasticsearch cluster. This API is in technical preview and may be changed or removed in a future release.

Appears In:

NodeSet

NodeSet is the specification for a group of Elasticsearch nodes sharing the same configuration and a Pod template.

Appears In:
Field Description

name string

Name of this set of nodes. Becomes a part of the Elasticsearch node.name setting.

config Config

Config holds the Elasticsearch configuration.

count integer

Count of Elasticsearch nodes to deploy. If the node set is managed by an autoscaling policy the initial value is automatically set by the autoscaling controller.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Pods belonging to this NodeSet.

volumeClaimTemplates PersistentVolumeClaim array

VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod in this NodeSet. Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate. Items defined here take precedence over any default claims added by the operator with the same name.

RemoteCluster

RemoteCluster declares a remote Elasticsearch cluster connection.

Appears In:
Field Description

name string

Name is the name of the remote cluster as it is set in the Elasticsearch settings. The name is expected to be unique for each remote clusters.

elasticsearchRef LocalObjectSelector

ElasticsearchRef is a reference to an Elasticsearch cluster running within the same k8s cluster.

RoleSource

RoleSource references roles to create in the Elasticsearch cluster.

Appears In:
Field Description

secretName string

SecretName is the name of the secret.

SelfSignedTransportCertificates

SelfSignedTransportCertificates holds configuration for the self-signed certificates generated by the operator.

Appears In:
Field Description

disabled boolean

Disabled indicates that provisioning of the self-signed certificates should be disabled.

TransportConfig

TransportConfig holds the transport layer settings for Elasticsearch.

Appears In:
Field Description

service ServiceTemplate

Service defines the template for the associated Kubernetes Service object.

TLS defines options for configuring TLS on the transport layer.

TransportTLSOptions

Appears In:
Field Description

otherNameSuffix string

OtherNameSuffix when defined will be prefixed with the Pod name and used as the common name, and the first DNSName, as well as an OtherName required by Elasticsearch in the Subject Alternative Name extension of each Elasticsearch node’s transport TLS certificate. Example: if set to "node.cluster.local", the generated certificate will have its otherName set to "<pod_name>.node.cluster.local".

subjectAltNames SubjectAlternativeName array

SubjectAlternativeNames is a list of SANs to include in the generated node transport TLS certificates.

certificate SecretRef

Certificate is a reference to a Kubernetes secret that contains the CA certificate and private key for generating node certificates. The referenced secret should contain the following:

  • ca.crt: The CA certificate in PEM format.

  • ca.key: The private key for the CA certificate in PEM format.

certificateAuthorities ConfigMapRef

CertificateAuthorities is a reference to a config map that contains one or more x509 certificates for trusted authorities in PEM format. The certificates need to be in a file called ca.crt.

selfSignedCertificates SelfSignedTransportCertificates

SelfSignedCertificates allows configuring the self-signed certificate generated by the operator.

UpdateStrategy

UpdateStrategy specifies how updates to the cluster should be performed.

Appears In:
Field Description

changeBudget ChangeBudget

ChangeBudget defines the constraints to consider when applying changes to the Elasticsearch cluster.

UpgradeOperation

UpgradeOperation provides an overview of the pending or in progress changes applied by the operator to update the Elasticsearch nodes in the cluster. This API is in technical preview and may be changed or removed in a future release.

Appears In:
Field Description

lastUpdatedTime Time

nodes UpgradedNode array

Nodes that must be restarted for upgrade.

UpgradedNode

UpgradedNode provides details about the status of nodes which are expected to be updated. This API is in technical preview and may be changed or removed in a future release.

Appears In:
Field Description

name string

Name of the Elasticsearch node that should be upgraded.

status string

Status states if the node is either in the process of being deleted for an upgrade, or blocked by a predicate or another condition stated in the message field.

message string

Optional message to explain why a node may not be immediately restarted for upgrade.

predicate string

Predicate is the name of the predicate currently preventing this node from being deleted for an upgrade.

UpscaleOperation

UpscaleOperation provides an overview of in progress changes applied by the operator to add Elasticsearch nodes to the cluster. This API is in technical preview and may be changed or removed in a future release.

Appears In:
Field Description

lastUpdatedTime Time

nodes NewNode array

Nodes expected to be added by the operator.

VolumeClaimDeletePolicy (string)

VolumeClaimDeletePolicy describes the delete policy for handling PersistentVolumeClaims that hold Elasticsearch data. Inspired by kubernetes/enhancements#2440

Appears In:

elasticsearch.k8s.elastic.co/v1beta1

Package v1beta1 contains API schema definitions for managing Elasticsearch resources.

Resource Types

ChangeBudget

ChangeBudget defines the constraints to consider when applying changes to the Elasticsearch cluster.

Appears In:
Field Description

maxUnavailable integer

MaxUnavailable is the maximum number of pods that can be unavailable (not ready) during the update due to circumstances under the control of the operator. Setting a negative value will disable this restriction. Defaults to 1 if not specified.

maxSurge integer

MaxSurge is the maximum number of new pods that can be created exceeding the original number of pods defined in the specification. MaxSurge is only taken into consideration when scaling up. Setting a negative value will disable the restriction. Defaults to unbounded if not specified.

Elasticsearch

Elasticsearch represents an Elasticsearch resource in a Kubernetes cluster.

Field Description

apiVersion string

elasticsearch.k8s.elastic.co/v1beta1

kind string

Elasticsearch

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ElasticsearchHealth (string)

ElasticsearchHealth is the health of the cluster as returned by the health API.

Appears In:

ElasticsearchOrchestrationPhase (string)

ElasticsearchOrchestrationPhase is the phase Elasticsearch is in from the controller point of view.

Appears In:

ElasticsearchSpec

ElasticsearchSpec holds the specification of an Elasticsearch cluster.

Appears In:
Field Description

version string

Version of Elasticsearch.

image string

Image is the Elasticsearch Docker image to deploy.

http HTTPConfig

HTTP holds HTTP layer settings for Elasticsearch.

nodeSets NodeSet array

NodeSets allow specifying groups of Elasticsearch nodes sharing the same configuration and Pod templates.

updateStrategy UpdateStrategy

UpdateStrategy specifies how updates to the cluster should be performed.

podDisruptionBudget PodDisruptionBudgetTemplate

PodDisruptionBudget provides access to the default pod disruption budget for the Elasticsearch cluster. The default budget selects all cluster pods and sets maxUnavailable to 1. To disable, set PodDisruptionBudget to the empty value ({} in YAML).

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Elasticsearch.

ElasticsearchStatus

ElasticsearchStatus defines the observed state of Elasticsearch

Appears In:
Field Description

NodeSet

NodeSet is the specification for a group of Elasticsearch nodes sharing the same configuration and a Pod template.

Appears In:
Field Description

name string

Name of this set of nodes. Becomes a part of the Elasticsearch node.name setting.

config Config

Config holds the Elasticsearch configuration.

count integer

Count of Elasticsearch nodes to deploy.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Pods belonging to this NodeSet.

volumeClaimTemplates PersistentVolumeClaim array

VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod in this NodeSet. Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate. Items defined here take precedence over any default claims added by the operator with the same name.

UpdateStrategy

UpdateStrategy specifies how updates to the cluster should be performed.

Appears In:
Field Description

changeBudget ChangeBudget

ChangeBudget defines the constraints to consider when applying changes to the Elasticsearch cluster.

enterprisesearch.k8s.elastic.co/v1

Package v1beta1 contains API schema definitions for managing Enterprise Search resources.

Resource Types

EnterpriseSearch

EnterpriseSearch is a Kubernetes CRD to represent Enterprise Search.

Field Description

apiVersion string

enterprisesearch.k8s.elastic.co/v1

kind string

EnterpriseSearch

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

EnterpriseSearchSpec

EnterpriseSearchSpec holds the specification of an Enterprise Search resource.

Appears In:
Field Description

version string

Version of Enterprise Search.

image string

Image is the Enterprise Search Docker image to deploy.

count integer

Count of Enterprise Search instances to deploy.

config Config

Config holds the Enterprise Search configuration.

configRef ConfigSource

ConfigRef contains a reference to an existing Kubernetes Secret holding the Enterprise Search configuration. Configuration settings are merged and have precedence over settings specified in config.

http HTTPConfig

HTTP holds the HTTP layer configuration for Enterprise Search resource.

elasticsearchRef ObjectSelector

ElasticsearchRef is a reference to the Elasticsearch cluster running in the same Kubernetes cluster.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Enterprise Search pods.

revisionHistoryLimit integer

RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying Deployment.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace. Can only be used if ECK is enforcing RBAC on references.

enterprisesearch.k8s.elastic.co/v1beta1

Package v1beta1 contains API schema definitions for managing Enterprise Search resources.

Resource Types

EnterpriseSearch

EnterpriseSearch is a Kubernetes CRD to represent Enterprise Search.

Field Description

apiVersion string

enterprisesearch.k8s.elastic.co/v1beta1

kind string

EnterpriseSearch

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

EnterpriseSearchSpec

EnterpriseSearchSpec holds the specification of an Enterprise Search resource.

Appears In:
Field Description

version string

Version of Enterprise Search.

image string

Image is the Enterprise Search Docker image to deploy.

count integer

Count of Enterprise Search instances to deploy.

config Config

Config holds the Enterprise Search configuration.

configRef ConfigSource

ConfigRef contains a reference to an existing Kubernetes Secret holding the Enterprise Search configuration. Configuration settings are merged and have precedence over settings specified in config.

http HTTPConfig

HTTP holds the HTTP layer configuration for Enterprise Search resource.

elasticsearchRef ObjectSelector

ElasticsearchRef is a reference to the Elasticsearch cluster running in the same Kubernetes cluster.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Enterprise Search pods.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace. Can only be used if ECK is enforcing RBAC on references.

kibana.k8s.elastic.co/v1

Package v1 contains API schema definitions for managing Kibana resources.

Resource Types

Kibana

Kibana represents a Kibana resource in a Kubernetes cluster.

Field Description

apiVersion string

kibana.k8s.elastic.co/v1

kind string

Kibana

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec KibanaSpec

KibanaSpec

KibanaSpec holds the specification of a Kibana instance.

Appears In:
Field Description

version string

Version of Kibana.

image string

Image is the Kibana Docker image to deploy.

count integer

Count of Kibana instances to deploy.

elasticsearchRef ObjectSelector

ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.

enterpriseSearchRef ObjectSelector

EnterpriseSearchRef is a reference to an EnterpriseSearch running in the same Kubernetes cluster. Kibana provides the default Enterprise Search UI starting version 7.14.

config Config

Config holds the Kibana configuration. See: https://www.elastic.co/guide/en/kibana/current/settings.html

http HTTPConfig

HTTP holds the HTTP layer configuration for Kibana.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Kibana pods

revisionHistoryLimit integer

RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying Deployment.

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Kibana.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace. Can only be used if ECK is enforcing RBAC on references.

monitoring Monitoring

Monitoring enables you to collect and ship log and monitoring data of this Kibana. See https://www.elastic.co/guide/en/kibana/current/xpack-monitoring.html. Metricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different Elasticsearch monitoring clusters running in the same Kubernetes cluster.

kibana.k8s.elastic.co/v1beta1

Package v1beta1 contains API schema definitions for managing Kibana resources.

Resource Types

Kibana

Kibana represents a Kibana resource in a Kubernetes cluster.

Field Description

apiVersion string

kibana.k8s.elastic.co/v1beta1

kind string

Kibana

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec KibanaSpec

KibanaSpec

KibanaSpec holds the specification of a Kibana instance.

Appears In:
Field Description

version string

Version of Kibana.

image string

Image is the Kibana Docker image to deploy.

count integer

Count of Kibana instances to deploy.

elasticsearchRef ObjectSelector

ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.

config Config

Config holds the Kibana configuration. See: https://www.elastic.co/guide/en/kibana/current/settings.html

http HTTPConfig

HTTP holds the HTTP layer configuration for Kibana.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Kibana pods

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Kibana.

logstash.k8s.elastic.co/v1alpha1

Package v1alpha1 contains API Schema definitions for the logstash v1alpha1 API group

Resource Types

ElasticsearchCluster

ElasticsearchCluster is a named reference to an Elasticsearch cluster which can be used in a Logstash pipeline.

Appears In:
Field Description

ObjectSelector ObjectSelector

clusterName string

ClusterName is an alias for the cluster to be used to refer to the Elasticsearch cluster in Logstash configuration files, and will be used to identify "named clusters" in Logstash

Logstash

Logstash is the Schema for the logstashes API

Field Description

apiVersion string

logstash.k8s.elastic.co/v1alpha1

kind string

Logstash

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

LogstashHealth (string)

Appears In:

LogstashService

Appears In:
Field Description

name string

service ServiceTemplate

Service defines the template for the associated Kubernetes Service object.

TLS defines options for configuring TLS for HTTP.

LogstashSpec

LogstashSpec defines the desired state of Logstash

Appears In:
Field Description

version string

Version of the Logstash.

count integer

image string

Image is the Logstash Docker image to deploy. Version and Type have to match the Logstash in the image.

elasticsearchRefs ElasticsearchCluster array

ElasticsearchRefs are references to Elasticsearch clusters running in the same Kubernetes cluster.

config Config

Config holds the Logstash configuration. At most one of [Config, ConfigRef] can be specified.

configRef ConfigSource

ConfigRef contains a reference to an existing Kubernetes Secret holding the Logstash configuration. Logstash settings must be specified as yaml, under a single "logstash.yml" entry. At most one of [Config, ConfigRef] can be specified.

pipelines Config array

Pipelines holds the Logstash Pipelines. At most one of [Pipelines, PipelinesRef] can be specified.

pipelinesRef ConfigSource

PipelinesRef contains a reference to an existing Kubernetes Secret holding the Logstash Pipelines. Logstash pipelines must be specified as yaml, under a single "pipelines.yml" entry. At most one of [Pipelines, PipelinesRef] can be specified.

services LogstashService array

Services contains details of services that Logstash should expose - similar to the HTTP layer configuration for the rest of the stack, but also applicable for more use cases than the metrics API, as logstash may need to be opened up for other services: Beats, TCP, UDP, etc, inputs.

monitoring Monitoring

Monitoring enables you to collect and ship log and monitoring data of this Logstash. Metricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different Elasticsearch monitoring clusters running in the same Kubernetes cluster.

podTemplate PodTemplateSpec

PodTemplate provides customisation options for the Logstash pods.

revisionHistoryLimit integer

RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying StatefulSet.

secureSettings SecretSource array

SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Logstash. Secrets data can be then referenced in the Logstash config using the Secret’s keys or as specified in Entries field of each SecureSetting.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to Elasticsearch resource in a different namespace. Can only be used if ECK is enforcing RBAC on references.

updateStrategy StatefulSetUpdateStrategy

UpdateStrategy is a StatefulSetUpdateStrategy. The default type is "RollingUpdate".

volumeClaimTemplates PersistentVolumeClaim array

VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod. Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate. Items defined here take precedence over any default claims added by the operator with the same name.

LogstashStatus

LogstashStatus defines the observed state of Logstash

Appears In:
Field Description

version string

Version of the stack resource currently running. During version upgrades, multiple versions may run in parallel: this value specifies the lowest version currently running.

expectedNodes integer

availableNodes integer

observedGeneration integer

ObservedGeneration is the most recent generation observed for this Logstash instance. It corresponds to the metadata generation, which is updated on mutation by the API Server. If the generation observed in status diverges from the generation in metadata, the Logstash controller has not yet processed the changes contained in the Logstash specification.

selector string

maps.k8s.elastic.co/v1alpha1

Package v1alpha1 contains API schema definitions for managing Elastic Maps Server resources.

ElasticMapsServer

ElasticMapsServer represents an Elastic Map Server resource in a Kubernetes cluster.

Appears In:
Field Description

apiVersion string

maps.k8s.elastic.co/v1alpha1

kind string

ElasticMapsServer

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec MapsSpec

ElasticMapsServerList

ElasticMapsServerList contains a list of ElasticMapsServer

Field Description

apiVersion string

maps.k8s.elastic.co/v1alpha1

kind string

ElasticMapsServerList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items ElasticMapsServer array

MapsSpec

MapsSpec holds the specification of an Elastic Maps Server instance.

Appears In:
Field Description

version string

Version of Elastic Maps Server.

image string

Image is the Elastic Maps Server Docker image to deploy.

count integer

Count of Elastic Maps Server instances to deploy.

elasticsearchRef ObjectSelector

ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.

config Config

configRef ConfigSource

ConfigRef contains a reference to an existing Kubernetes Secret holding the Elastic Maps Server configuration. Configuration settings are merged and have precedence over settings specified in config.

http HTTPConfig

HTTP holds the HTTP layer configuration for Elastic Maps Server.

podTemplate PodTemplateSpec

PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Elastic Maps Server pods

revisionHistoryLimit integer

RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying Deployment.

serviceAccountName string

ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace. Can only be used if ECK is enforcing RBAC on references.

stackconfigpolicy.k8s.elastic.co/v1alpha1

Package v1alpha1 contains API schema definitions for managing StackConfigPolicy resources.

Resource Types

ElasticsearchConfigPolicySpec

Appears In:
Field Description

clusterSettings Config

ClusterSettings holds the Elasticsearch cluster settings (/_cluster/settings)

snapshotRepositories Config

SnapshotRepositories holds the Snapshot Repositories settings (/_snapshot)

snapshotLifecyclePolicies Config

SnapshotLifecyclePolicies holds the Snapshot Lifecycle Policies settings (/_slm/policy)

securityRoleMappings Config

SecurityRoleMappings holds the Role Mappings settings (/_security/role_mapping)

indexLifecyclePolicies Config

IndexLifecyclePolicies holds the Index Lifecycle policies settings (/_ilm/policy)

ingestPipelines Config

IngestPipelines holds the Ingest Pipelines settings (/_ingest/pipeline)

indexTemplates IndexTemplates

IndexTemplates holds the Index and Component Templates settings

config Config

Config holds the settings that go into elasticsearch.yml.

secretMounts SecretMount array

SecretMounts are additional Secrets that need to be mounted into the Elasticsearch pods.

secureSettings SecretSource array

SecureSettings are additional Secrets that contain data to be configured to Elasticsearch’s keystore.

IndexTemplates

Field Description

componentTemplates Config

ComponentTemplates holds the Component Templates settings (/_component_template)

composableIndexTemplates Config

ComposableIndexTemplates holds the Index Templates settings (/_index_template)

KibanaConfigPolicySpec

Appears In:
Field Description

config Config

Config holds the settings that go into kibana.yml.

secureSettings SecretSource array

SecureSettings are additional Secrets that contain data to be configured to Kibana’s keystore.

SecretMount

SecretMount contains information about additional secrets to be mounted to the elasticsearch pods

Field Description

secretName string

SecretName denotes the name of the secret that needs to be mounted to the elasticsearch pod

mountPath string

MountPath denotes the path to which the secret should be mounted to inside the elasticsearch pod

StackConfigPolicy

StackConfigPolicy represents a StackConfigPolicy resource in a Kubernetes cluster.

Field Description

apiVersion string

stackconfigpolicy.k8s.elastic.co/v1alpha1

kind string

StackConfigPolicy

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

StackConfigPolicySpec

Appears In:
Field Description

resourceSelector LabelSelector

secureSettings SecretSource array

Deprecated: SecureSettings only applies to Elasticsearch and is deprecated. It must be set per application instead.