Skip to content

Instantly share code, notes, and snippets.

@charith-elastic
Created December 31, 2019 15:56
Show Gist options
  • Save charith-elastic/024dae2e08e78927423b213b3f5a9946 to your computer and use it in GitHub Desktop.
Save charith-elastic/024dae2e08e78927423b213b3f5a9946 to your computer and use it in GitHub Desktop.

API Reference

apm.k8s.elastic.co/v1

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.

podTemplate PodTemplateSpec

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

secureSettings SecretSource

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for APM Server. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-apm-server.html#k8s-apm-secure-settings

apm.k8s.elastic.co/v1beta1

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

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for APM Server. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-apm-server.html#k8s-apm-secure-settings

common.k8s.elastic.co/v1

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

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

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

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.

common.k8s.elastic.co/v1beta1

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

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

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

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

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/v1

kind string

Elasticsearch

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

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. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-orchestration.html

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

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Elasticsearch. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-es-secure-settings.html

NodeSet

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. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-volume-claim-templates.html

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.

elasticsearch.k8s.elastic.co/v1beta1

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.

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. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-orchestration.html

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

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Elasticsearch. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-es-secure-settings.html

NodeSet

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. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-volume-claim-templates.html

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.

kibana.k8s.elastic.co/v1

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.

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

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Kibana. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-kibana.html#k8s-kibana-secure-settings

kibana.k8s.elastic.co/v1beta1

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

SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Kibana. See: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-kibana.html#k8s-kibana-secure-settings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment