369 lines
17 KiB
YAML
369 lines
17 KiB
YAML
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||
|
kind: CustomResourceDefinition
|
||
|
metadata:
|
||
|
name: oneagents.dynatrace.com
|
||
|
spec:
|
||
|
additionalPrinterColumns:
|
||
|
- JSONPath: .spec.apiUrl
|
||
|
name: ApiUrl
|
||
|
type: string
|
||
|
- JSONPath: .spec.tokens
|
||
|
name: Tokens
|
||
|
type: string
|
||
|
- JSONPath: .status.version
|
||
|
name: Version
|
||
|
type: string
|
||
|
- JSONPath: .status.phase
|
||
|
name: Phase
|
||
|
type: string
|
||
|
- JSONPath: .metadata.creationTimestamp
|
||
|
name: Age
|
||
|
type: date
|
||
|
group: dynatrace.com
|
||
|
names:
|
||
|
categories:
|
||
|
- dynatrace
|
||
|
kind: OneAgent
|
||
|
listKind: OneAgentList
|
||
|
plural: oneagents
|
||
|
singular: oneagent
|
||
|
scope: Namespaced
|
||
|
subresources:
|
||
|
status: {}
|
||
|
validation:
|
||
|
openAPIV3Schema:
|
||
|
description: OneAgent configures the Dynatrace OneAgent for full-stack monitoring
|
||
|
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: OneAgentSpec defines the desired state of OneAgent
|
||
|
properties:
|
||
|
apiUrl:
|
||
|
description: Location of the Dynatrace API to connect to, including
|
||
|
your specific environment ID
|
||
|
type: string
|
||
|
args:
|
||
|
description: 'Optional: Arguments to the OneAgent installer'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
disableAgentUpdate:
|
||
|
description: Disable automatic restarts of OneAgent pods in case a new
|
||
|
version is available
|
||
|
type: boolean
|
||
|
dnsPolicy:
|
||
|
description: 'Optional: Sets DNS Policy for the OneAgent pods'
|
||
|
type: string
|
||
|
enableIstio:
|
||
|
description: If enabled, Istio on the cluster will be configured automatically
|
||
|
to allow access to the Dynatrace environment
|
||
|
type: boolean
|
||
|
env:
|
||
|
description: 'Optional: List of environment variables to set for the
|
||
|
installer'
|
||
|
items:
|
||
|
description: EnvVar represents an environment variable present in
|
||
|
a Container.
|
||
|
properties:
|
||
|
name:
|
||
|
description: Name of the environment variable. Must be a C_IDENTIFIER.
|
||
|
type: string
|
||
|
value:
|
||
|
description: 'Variable references $(VAR_NAME) are expanded using
|
||
|
the previous defined environment variables in the container
|
||
|
and any service environment variables. If a variable cannot
|
||
|
be resolved, the reference in the input string will be unchanged.
|
||
|
The $(VAR_NAME) syntax can be escaped with a double $$, ie:
|
||
|
$$(VAR_NAME). Escaped references will never be expanded, regardless
|
||
|
of whether the variable exists or not. Defaults to "".'
|
||
|
type: string
|
||
|
valueFrom:
|
||
|
description: Source for the environment variable's value. Cannot
|
||
|
be used if value is not empty.
|
||
|
properties:
|
||
|
configMapKeyRef:
|
||
|
description: Selects a key of a ConfigMap.
|
||
|
properties:
|
||
|
key:
|
||
|
description: The key to select.
|
||
|
type: string
|
||
|
name:
|
||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||
|
type: string
|
||
|
optional:
|
||
|
description: Specify whether the ConfigMap or its key
|
||
|
must be defined
|
||
|
type: boolean
|
||
|
required:
|
||
|
- key
|
||
|
type: object
|
||
|
fieldRef:
|
||
|
description: 'Selects a field of the pod: supports metadata.name,
|
||
|
metadata.namespace, metadata.labels, metadata.annotations,
|
||
|
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP,
|
||
|
status.podIPs.'
|
||
|
properties:
|
||
|
apiVersion:
|
||
|
description: Version of the schema the FieldPath is written
|
||
|
in terms of, defaults to "v1".
|
||
|
type: string
|
||
|
fieldPath:
|
||
|
description: Path of the field to select in the specified
|
||
|
API version.
|
||
|
type: string
|
||
|
required:
|
||
|
- fieldPath
|
||
|
type: object
|
||
|
resourceFieldRef:
|
||
|
description: 'Selects a resource of the container: only resources
|
||
|
limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage,
|
||
|
requests.cpu, requests.memory and requests.ephemeral-storage)
|
||
|
are currently supported.'
|
||
|
properties:
|
||
|
containerName:
|
||
|
description: 'Container name: required for volumes, optional
|
||
|
for env vars'
|
||
|
type: string
|
||
|
divisor:
|
||
|
description: Specifies the output format of the exposed
|
||
|
resources, defaults to "1"
|
||
|
type: string
|
||
|
resource:
|
||
|
description: 'Required: resource to select'
|
||
|
type: string
|
||
|
required:
|
||
|
- resource
|
||
|
type: object
|
||
|
secretKeyRef:
|
||
|
description: Selects a key of a secret in the pod's namespace
|
||
|
properties:
|
||
|
key:
|
||
|
description: The key of the secret to select from. Must
|
||
|
be a valid secret key.
|
||
|
type: string
|
||
|
name:
|
||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||
|
type: string
|
||
|
optional:
|
||
|
description: Specify whether the Secret or its key must
|
||
|
be defined
|
||
|
type: boolean
|
||
|
required:
|
||
|
- key
|
||
|
type: object
|
||
|
type: object
|
||
|
required:
|
||
|
- name
|
||
|
type: object
|
||
|
type: array
|
||
|
image:
|
||
|
description: 'Optional: the Dynatrace installer container image Defaults
|
||
|
to docker.io/dynatrace/oneagent:latest for Kubernetes and to registry.connect.redhat.com/dynatrace/oneagent
|
||
|
for OpenShift'
|
||
|
type: string
|
||
|
labels:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: 'Optional: Adds additional labels for the OneAgent pods'
|
||
|
type: object
|
||
|
networkZone:
|
||
|
description: 'Optional: Adds the OneAgent to the given NetworkZone'
|
||
|
type: string
|
||
|
nodeSelector:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: Node selector to control the selection of nodes (optional)
|
||
|
type: object
|
||
|
priorityClassName:
|
||
|
description: 'Optional: If specified, indicates the pod''s priority.
|
||
|
Name must be defined by creating a PriorityClass object with that
|
||
|
name. If not specified the setting will be removed from the DaemonSet.'
|
||
|
type: string
|
||
|
proxy:
|
||
|
description: 'Optional: Set custom proxy settings either directly or
|
||
|
from a secret with the field ''proxy'''
|
||
|
properties:
|
||
|
value:
|
||
|
type: string
|
||
|
valueFrom:
|
||
|
type: string
|
||
|
type: object
|
||
|
resources:
|
||
|
description: 'Optional: define resources requests and limits for single
|
||
|
pods'
|
||
|
properties:
|
||
|
limits:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: 'Limits describes the maximum amount of compute resources
|
||
|
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
|
||
|
type: object
|
||
|
requests:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: 'Requests describes the minimum amount of compute resources
|
||
|
required. If Requests is omitted for a container, it defaults
|
||
|
to Limits if that is explicitly specified, otherwise to an implementation-defined
|
||
|
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
|
||
|
type: object
|
||
|
type: object
|
||
|
serviceAccountName:
|
||
|
description: 'Optional: set custom Service Account Name used with OneAgent
|
||
|
pods'
|
||
|
type: string
|
||
|
skipCertCheck:
|
||
|
description: Disable certificate validation checks for installer download
|
||
|
and API communication
|
||
|
type: boolean
|
||
|
tokens:
|
||
|
description: Credentials for the OneAgent to connect back to Dynatrace.
|
||
|
type: string
|
||
|
tolerations:
|
||
|
description: 'Optional: set tolerations for the OneAgent pods'
|
||
|
items:
|
||
|
description: The pod this Toleration is attached to tolerates any
|
||
|
taint that matches the triple <key,value,effect> using the matching
|
||
|
operator <operator>.
|
||
|
properties:
|
||
|
effect:
|
||
|
description: Effect indicates the taint effect to match. Empty
|
||
|
means match all taint effects. When specified, allowed values
|
||
|
are NoSchedule, PreferNoSchedule and NoExecute.
|
||
|
type: string
|
||
|
key:
|
||
|
description: Key is the taint key that the toleration applies
|
||
|
to. Empty means match all taint keys. If the key is empty, operator
|
||
|
must be Exists; this combination means to match all values and
|
||
|
all keys.
|
||
|
type: string
|
||
|
operator:
|
||
|
description: Operator represents a key's relationship to the value.
|
||
|
Valid operators are Exists and Equal. Defaults to Equal. Exists
|
||
|
is equivalent to wildcard for value, so that a pod can tolerate
|
||
|
all taints of a particular category.
|
||
|
type: string
|
||
|
tolerationSeconds:
|
||
|
description: TolerationSeconds represents the period of time the
|
||
|
toleration (which must be of effect NoExecute, otherwise this
|
||
|
field is ignored) tolerates the taint. By default, it is not
|
||
|
set, which means tolerate the taint forever (do not evict).
|
||
|
Zero and negative values will be treated as 0 (evict immediately)
|
||
|
by the system.
|
||
|
format: int64
|
||
|
type: integer
|
||
|
value:
|
||
|
description: Value is the taint value the toleration matches to.
|
||
|
If the operator is Exists, the value should be empty, otherwise
|
||
|
just a regular string.
|
||
|
type: string
|
||
|
type: object
|
||
|
type: array
|
||
|
trustedCAs:
|
||
|
description: 'Optional: Adds custom RootCAs from a configmap'
|
||
|
type: string
|
||
|
waitReadySeconds:
|
||
|
description: 'Optional: Defines the time to wait until OneAgent pod
|
||
|
is ready after update - default 300 sec'
|
||
|
minimum: 0
|
||
|
type: integer
|
||
|
required:
|
||
|
- apiUrl
|
||
|
type: object
|
||
|
status:
|
||
|
description: OneAgentStatus defines the observed state of OneAgent
|
||
|
properties:
|
||
|
conditions:
|
||
|
description: Conditions includes status about the current state of the
|
||
|
instance
|
||
|
items:
|
||
|
description: "Condition represents an observation of an object's state.
|
||
|
Conditions are an extension mechanism intended to be used when the
|
||
|
details of an observation are not a priori known or would not apply
|
||
|
to all instances of a given Kind. \n Conditions should be added
|
||
|
to explicitly convey properties that users and components care about
|
||
|
rather than requiring those properties to be inferred from other
|
||
|
observations. Once defined, the meaning of a Condition can not be
|
||
|
changed arbitrarily - it becomes part of the API, and has the same
|
||
|
backwards- and forwards-compatibility concerns of any other part
|
||
|
of the API."
|
||
|
properties:
|
||
|
lastTransitionTime:
|
||
|
format: date-time
|
||
|
type: string
|
||
|
message:
|
||
|
type: string
|
||
|
reason:
|
||
|
description: ConditionReason is intended to be a one-word, CamelCase
|
||
|
representation of the category of cause of the current status.
|
||
|
It is intended to be used in concise output, such as one-line
|
||
|
kubectl get output, and in summarizing occurrences of causes.
|
||
|
type: string
|
||
|
status:
|
||
|
type: string
|
||
|
type:
|
||
|
description: "ConditionType is the type of the condition and is
|
||
|
typically a CamelCased word or short phrase. \n Condition types
|
||
|
should indicate state in the \"abnormal-true\" polarity. For
|
||
|
example, if the condition indicates when a policy is invalid,
|
||
|
the \"is valid\" case is probably the norm, so the condition
|
||
|
should be called \"Invalid\"."
|
||
|
type: string
|
||
|
required:
|
||
|
- status
|
||
|
- type
|
||
|
type: object
|
||
|
type: array
|
||
|
instances:
|
||
|
additionalProperties:
|
||
|
properties:
|
||
|
ipAddress:
|
||
|
type: string
|
||
|
podName:
|
||
|
type: string
|
||
|
version:
|
||
|
type: string
|
||
|
type: object
|
||
|
type: object
|
||
|
lastAPITokenProbeTimestamp:
|
||
|
description: LastAPITokenProbeTimestamp tracks when the last request
|
||
|
for the API token validity was sent
|
||
|
format: date-time
|
||
|
type: string
|
||
|
lastPaaSTokenProbeTimestamp:
|
||
|
description: LastPaaSTokenProbeTimestamp tracks when the last request
|
||
|
for the PaaS token validity was sent
|
||
|
format: date-time
|
||
|
type: string
|
||
|
phase:
|
||
|
description: Defines the current state (Running, Updating, Error, ...)
|
||
|
type: string
|
||
|
updatedTimestamp:
|
||
|
description: UpdatedTimestamp indicates when the instance was last updated
|
||
|
format: date-time
|
||
|
type: string
|
||
|
version:
|
||
|
description: Dynatrace version being used.
|
||
|
type: string
|
||
|
type: object
|
||
|
required:
|
||
|
- spec
|
||
|
type: object
|
||
|
version: v1alpha1
|
||
|
versions:
|
||
|
- name: v1alpha1
|
||
|
served: true
|
||
|
storage: true
|