464 lines
28 KiB
Plaintext
464 lines
28 KiB
Plaintext
---
|
|
# Source: elastic-operator/charts/eck-operator/charts/eck-operator-crds/templates/all-crds.yaml
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.19.0
|
|
helm.sh/resource-policy: keep
|
|
labels:
|
|
app.kubernetes.io/instance: 'elastic-operator'
|
|
app.kubernetes.io/managed-by: 'Helm'
|
|
app.kubernetes.io/name: 'eck-operator-crds'
|
|
app.kubernetes.io/version: '3.2.0'
|
|
helm.sh/chart: 'eck-operator-crds-3.2.0'
|
|
name: beats.beat.k8s.elastic.co
|
|
spec:
|
|
group: beat.k8s.elastic.co
|
|
names:
|
|
categories:
|
|
- elastic
|
|
kind: Beat
|
|
listKind: BeatList
|
|
plural: beats
|
|
shortNames:
|
|
- beat
|
|
singular: beat
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.health
|
|
name: health
|
|
type: string
|
|
- description: Available nodes
|
|
jsonPath: .status.availableNodes
|
|
name: available
|
|
type: integer
|
|
- description: Expected nodes
|
|
jsonPath: .status.expectedNodes
|
|
name: expected
|
|
type: integer
|
|
- description: Beat type
|
|
jsonPath: .spec.type
|
|
name: type
|
|
type: string
|
|
- description: Beat version
|
|
jsonPath: .status.version
|
|
name: version
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: age
|
|
type: date
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Beat is the Schema for the Beats API.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: BeatSpec defines the desired state of a Beat.
|
|
properties:
|
|
config:
|
|
description: Config holds the Beat configuration. At most one of [`Config`, `ConfigRef`] can be specified.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
configRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
secretName:
|
|
description: SecretName is the name of the secret.
|
|
type: string
|
|
type: object
|
|
daemonSet:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
podTemplate:
|
|
description: PodTemplateSpec describes the data a pod should have when created from a template
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
updateStrategy:
|
|
description: DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.
|
|
properties:
|
|
rollingUpdate:
|
|
description: Rolling update config params. Present only if type = "RollingUpdate".
|
|
properties:
|
|
maxSurge:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
The maximum number of nodes with an existing available DaemonSet pod that
|
|
can have an updated DaemonSet pod during during an update.
|
|
Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
|
|
This can not be 0 if MaxUnavailable is 0.
|
|
Absolute number is calculated from percentage by rounding up to a minimum of 1.
|
|
Default value is 0.
|
|
Example: when this is set to 30%, at most 30% of the total number of nodes
|
|
that should be running the daemon pod (i.e. status.desiredNumberScheduled)
|
|
can have their a new pod created before the old pod is marked as deleted.
|
|
The update starts by launching new pods on 30% of nodes. Once an updated
|
|
pod is available (Ready for at least minReadySeconds) the old DaemonSet pod
|
|
on that node is marked deleted. If the old pod becomes unavailable for any
|
|
reason (Ready transitions to false, is evicted, or is drained) an updated
|
|
pod is immediately created on that node without considering surge limits.
|
|
Allowing surge implies the possibility that the resources consumed by the
|
|
daemonset on any given node can double if the readiness check fails, and
|
|
so resource intensive daemonsets should take into account that they may
|
|
cause evictions during disruption.
|
|
x-kubernetes-int-or-string: true
|
|
maxUnavailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
The maximum number of DaemonSet pods that can be unavailable during the
|
|
update. Value can be an absolute number (ex: 5) or a percentage of total
|
|
number of DaemonSet pods at the start of the update (ex: 10%). Absolute
|
|
number is calculated from percentage by rounding up.
|
|
This cannot be 0 if MaxSurge is 0
|
|
Default value is 1.
|
|
Example: when this is set to 30%, at most 30% of the total number of nodes
|
|
that should be running the daemon pod (i.e. status.desiredNumberScheduled)
|
|
can have their pods stopped for an update at any given time. The update
|
|
starts by stopping at most 30% of those DaemonSet pods and then brings
|
|
up new DaemonSet pods in their place. Once the new pods are available,
|
|
it then proceeds onto other DaemonSet pods, thus ensuring that at least
|
|
70% of original number of DaemonSet pods are available at all times during
|
|
the update.
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type:
|
|
description: Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is RollingUpdate.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
deployment:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
podTemplate:
|
|
description: PodTemplateSpec describes the data a pod should have when created from a template
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
replicas:
|
|
format: int32
|
|
type: integer
|
|
strategy:
|
|
description: DeploymentStrategy describes how to replace existing pods with new ones.
|
|
properties:
|
|
rollingUpdate:
|
|
description: |-
|
|
Rolling update config params. Present only if DeploymentStrategyType =
|
|
RollingUpdate.
|
|
properties:
|
|
maxSurge:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
The maximum number of pods that can be scheduled above the desired number of
|
|
pods.
|
|
Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
|
|
This can not be 0 if MaxUnavailable is 0.
|
|
Absolute number is calculated from percentage by rounding up.
|
|
Defaults to 25%.
|
|
Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
|
|
the rolling update starts, such that the total number of old and new pods do not exceed
|
|
130% of desired pods. Once old pods have been killed,
|
|
new ReplicaSet can be scaled up further, ensuring that total number of pods running
|
|
at any time during the update is at most 130% of desired pods.
|
|
x-kubernetes-int-or-string: true
|
|
maxUnavailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
The maximum number of pods that can be unavailable during the update.
|
|
Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
|
|
Absolute number is calculated from percentage by rounding down.
|
|
This can not be 0 if MaxSurge is 0.
|
|
Defaults to 25%.
|
|
Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
|
|
immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
|
|
can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
|
|
that the total number of pods available at all times during the update is at
|
|
least 70% of desired pods.
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type:
|
|
description: Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
elasticsearchRef:
|
|
description: ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.
|
|
properties:
|
|
name:
|
|
description: Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the Kubernetes object. If empty, defaults to the current namespace.
|
|
type: string
|
|
secretName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
serviceName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type: object
|
|
image:
|
|
description: Image is the Beat Docker image to deploy. Version and Type have to match the Beat in the image.
|
|
type: string
|
|
kibanaRef:
|
|
description: |-
|
|
KibanaRef is a reference to a Kibana instance running in the same Kubernetes cluster.
|
|
It allows automatic setup of dashboards and visualizations.
|
|
properties:
|
|
name:
|
|
description: Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the Kubernetes object. If empty, defaults to the current namespace.
|
|
type: string
|
|
secretName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
serviceName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type: object
|
|
monitoring:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
logs:
|
|
description: Logs holds references to Elasticsearch clusters which receive log data from an associated resource.
|
|
properties:
|
|
elasticsearchRefs:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
name:
|
|
description: Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the Kubernetes object. If empty, defaults to the current namespace.
|
|
type: string
|
|
secretName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
serviceName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
metrics:
|
|
description: Metrics holds references to Elasticsearch clusters which receive monitoring data from this resource.
|
|
properties:
|
|
elasticsearchRefs:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
name:
|
|
description: Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the Kubernetes object. If empty, defaults to the current namespace.
|
|
type: string
|
|
secretName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
serviceName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: object
|
|
revisionHistoryLimit:
|
|
description: RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying DaemonSet or Deployment.
|
|
format: int32
|
|
type: integer
|
|
secureSettings:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: SecretSource defines a data source based on a Kubernetes Secret.
|
|
properties:
|
|
entries:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: KeyToPath defines how to map a key in a Secret object to a filesystem path.
|
|
properties:
|
|
key:
|
|
description: Key is the key contained in the secret.
|
|
type: string
|
|
path:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
type: array
|
|
secretName:
|
|
description: SecretName is the name of the secret.
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: array
|
|
serviceAccountName:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
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`.
|
|
maxLength: 20
|
|
pattern: '[a-zA-Z0-9-]+'
|
|
type: string
|
|
version:
|
|
description: Version of the Beat.
|
|
type: string
|
|
required:
|
|
- type
|
|
- version
|
|
type: object
|
|
status:
|
|
description: BeatStatus defines the observed state of a Beat.
|
|
properties:
|
|
availableNodes:
|
|
format: int32
|
|
type: integer
|
|
elasticsearchAssociationStatus:
|
|
description: AssociationStatus is the status of an association resource.
|
|
type: string
|
|
expectedNodes:
|
|
format: int32
|
|
type: integer
|
|
health:
|
|
type: string
|
|
kibanaAssociationStatus:
|
|
description: AssociationStatus is the status of an association resource.
|
|
type: string
|
|
monitoringAssociationStatus:
|
|
additionalProperties:
|
|
description: AssociationStatus is the status of an association resource.
|
|
type: string
|
|
description: |-
|
|
AssociationStatusMap is the map of association's namespaced name string to its AssociationStatus. For resources that
|
|
have a single Association of a given type (for ex. single ES reference), this map contains a single entry.
|
|
type: object
|
|
observedGeneration:
|
|
description: |-
|
|
ObservedGeneration represents the .metadata.generation that the status is based upon.
|
|
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 Beats
|
|
controller has not yet processed the changes contained in the Beats specification.
|
|
format: int64
|
|
type: integer
|
|
version:
|
|
description: |-
|
|
Version of the stack resource currently running. During version upgrades, multiple versions may run
|
|
in parallel: this value specifies the lowest version currently running.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|