parent
8c64224670
commit
b3a8490ff9
Binary file not shown.
|
@ -0,0 +1,25 @@
|
||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*.orig
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
tests/
|
|
@ -0,0 +1,23 @@
|
||||||
|
annotations:
|
||||||
|
catalog.cattle.io/certified: partner
|
||||||
|
catalog.cattle.io/display-name: Dynatrace Operator
|
||||||
|
catalog.cattle.io/kube-version: '>=1.21.0-0'
|
||||||
|
catalog.cattle.io/release-name: dynatrace-operator
|
||||||
|
apiVersion: v2
|
||||||
|
appVersion: 0.8.2
|
||||||
|
description: The Dynatrace Operator Helm chart for Kubernetes and OpenShift
|
||||||
|
home: https://www.dynatrace.com/
|
||||||
|
icon: https://assets.dynatrace.com/global/resources/Signet_Logo_RGB_CP_512x512px.png
|
||||||
|
kubeVersion: '>=1.21.0-0'
|
||||||
|
maintainers:
|
||||||
|
- email: marcell.sevcsik@dynatrace.com
|
||||||
|
name: 0sewa0
|
||||||
|
- email: christoph.muellner@dynatrace.com
|
||||||
|
name: chrismuellner
|
||||||
|
- email: lukas.hinterreiter@dynatrace.com
|
||||||
|
name: luhi-DT
|
||||||
|
name: dynatrace-operator
|
||||||
|
sources:
|
||||||
|
- https://github.com/Dynatrace/dynatrace-operator
|
||||||
|
type: application
|
||||||
|
version: 0.8.2
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Dynatrace Operator Helm Chart
|
||||||
|
|
||||||
|
The Dynatrace Operator supports rollout and lifecycle of various Dynatrace components in Kubernetes and OpenShift.
|
||||||
|
|
||||||
|
This Helm Chart requires Helm 3.
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
Migration instructions can be found in the [official help page](https://www.dynatrace.com/support/help/shortlink/k8s-dto-helm#migrate).
|
||||||
|
|
||||||
|
Install the Dynatrace Operator via Helm by running the following commands.
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
> For instructions on how to install the dynatrace-operator on Openshift, head to the
|
||||||
|
> [official help page](https://www.dynatrace.com/support/help/shortlink/k8s-helm)
|
||||||
|
|
||||||
|
Add `dynatrace` helm repository:
|
||||||
|
```
|
||||||
|
helm repo add dynatrace https://raw.githubusercontent.com/Dynatrace/dynatrace-operator/master/config/helm/repos/stable
|
||||||
|
```
|
||||||
|
|
||||||
|
Install `dynatrace-operator` helm chart and create the corresponding `dynatrace` namespace:
|
||||||
|
```console
|
||||||
|
helm install dynatrace-operator dynatrace/dynatrace-operator -n dynatrace --create-namespace --atomic
|
||||||
|
```
|
||||||
|
|
||||||
|
## Uninstall chart
|
||||||
|
> Full instructions can be found in the [official help page](https://www.dynatrace.com/support/help/shortlink/k8s-helm#uninstall-dynatrace-operator)
|
||||||
|
|
||||||
|
Uninstall the Dynatrace Operator by running the following command:
|
||||||
|
```console
|
||||||
|
helm uninstall dynatrace-operator -n dynatrace
|
||||||
|
```
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Dynatrace Operator
|
||||||
|
|
||||||
|
The Dynatrace Operator supports rollout and lifecycle of various Dynatrace components in Kubernetes and OpenShift.
|
||||||
|
|
||||||
|
As of launch, the Dynatrace Operator can be used to deploy a containerized ActiveGate for Kubernetes API monitoring. New capabilities will be added to the Dynatrace Operator over time including metric routing, and API monitoring for AWS, Azure, GCP, and vSphere.
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 9.7 KiB |
|
@ -0,0 +1,166 @@
|
||||||
|
categories:
|
||||||
|
- APM
|
||||||
|
- Monitoring
|
||||||
|
questions:
|
||||||
|
|
||||||
|
#################### Global Configuration ####################
|
||||||
|
- variable: installCRD
|
||||||
|
label: "Install Custom Resource Definitions"
|
||||||
|
description: "Installs the Custom Resource Definitions for the Dynakube. This is recommended if you haven't installed it manually yet. Default: true"
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
group: "Global Configuration"
|
||||||
|
|
||||||
|
- variable: image
|
||||||
|
label: "Set a custom image for operator components"
|
||||||
|
description: "Set a custom image for operator. Defaults to docker.io/dynatrace/dynatrace-operator"
|
||||||
|
default: ""
|
||||||
|
type: string
|
||||||
|
group: "Global Configuration"
|
||||||
|
|
||||||
|
- variable: customPullSecret
|
||||||
|
label: "Set a custom pull secret for operator image"
|
||||||
|
description: "Set a custom pull secret for the operator image"
|
||||||
|
default: ""
|
||||||
|
type: string
|
||||||
|
group: "Global Configuration"
|
||||||
|
|
||||||
|
#################### Operator Deployment Configuration ####################
|
||||||
|
- variable: operator.nodeSelector
|
||||||
|
label: "Assign the Dynatrace Operator's pod to certain nodes"
|
||||||
|
description: "Defines a NodeSelector to customize to which nodes the Dynatrace Operator can be deployed on - Please edit as Yaml for the best experience - see https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector"
|
||||||
|
default: ""
|
||||||
|
type: string
|
||||||
|
group: "Operator Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: operator.tolerations
|
||||||
|
label: "Custom tolerations for the Dynatrace Operator's pod"
|
||||||
|
description: "Defines custom tolerations to the Dynatrace Operator - Please edit as Yaml for the best experience - see https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/"
|
||||||
|
default: ""
|
||||||
|
type: string
|
||||||
|
group: "Operator Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: operator.apparmor
|
||||||
|
label: "Enable AppArmor for the Dynatrace Operator's pod"
|
||||||
|
description: "Adds AppArmor security annotations to the Dynatrace Operator's pod. Default: false"
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
group: "Operator Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: operator.requests.cpu
|
||||||
|
label: "CPU resource requests settings for Dynatrace Operator's pods"
|
||||||
|
description: "The minimum amount of CPU resources that the Dynatrace Operator's pods should request. Affects scheduling. Default: 50m"
|
||||||
|
default: "50m"
|
||||||
|
type: string
|
||||||
|
group: "Operator Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: operator.requests.memory
|
||||||
|
label: "Memory resource requests settings for Dynatrace Operator's pods"
|
||||||
|
description: "The minimum amount of memory that the Dynatrace Operator's pods should request. Affects scheduling. Default: 64Mi"
|
||||||
|
default: "64Mi"
|
||||||
|
type: string
|
||||||
|
group: "Operator Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: operator.limits.cpu
|
||||||
|
label: "CPU resource limits settings for Dynatrace Operator's pods"
|
||||||
|
description: "The maximum amount of CPU resources that the Dynatrace Operator's pods can use. Default: 100m"
|
||||||
|
default: "100m"
|
||||||
|
type: string
|
||||||
|
group: "Operator Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: operator.limits.memory
|
||||||
|
label: "Memory resource limits settings for Dynatrace Operator's pods"
|
||||||
|
description: "The maximum amount of memory that the Dynatrace Operator's pods can use. Pod restarted if exceeded. Default: 128Mi"
|
||||||
|
default: "128Mi"
|
||||||
|
type: string
|
||||||
|
group: "Operator Deployment Configuration"
|
||||||
|
|
||||||
|
|
||||||
|
#################### Webhook Deployment Configuration ####################
|
||||||
|
|
||||||
|
- variable: webhook.apparmor
|
||||||
|
label: "Enable AppArmor for the Dynatrace Webhook's pod"
|
||||||
|
description: "Adds AppArmor security annotations to the Dynatrace Webhook's pod. Default: false"
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
group: "Webhook Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: webhook.highAvailability
|
||||||
|
label: "Enable high availability for the Dynatrace Webhook's pod"
|
||||||
|
description: "Adds topologySpreadConstraints and increases the replicas to 2 for the Dynatrace Webhook's pod. Default: false"
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
group: "Webhook Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: webhook.hostNetwork
|
||||||
|
label: "Enable hostNetwork for the Dynatrace Webhook's pod"
|
||||||
|
description: "Enables hostNetwork for the Dynatrace Webhook's pod. Default: false"
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
group: "Webhook Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: webhook.requests.cpu
|
||||||
|
label: "CPU resource requests settings for Dynatrace Webhook's pods"
|
||||||
|
description: "The minimum amount of CPU resources that the Dynatrace Webhook's pods should request. Affects scheduling. Default: 300m"
|
||||||
|
default: "300m"
|
||||||
|
type: string
|
||||||
|
group: "Webhook Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: webhook.requests.memory
|
||||||
|
label: "Memory resource requests settings for Dynatrace Webhook's pods"
|
||||||
|
description: "The minimum amount of memory that the Dynatrace Webhook's pods should request. Affects scheduling. Default: 128Mi"
|
||||||
|
default: "128Mi"
|
||||||
|
type: string
|
||||||
|
group: "Webhook Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: webhook.limits.cpu
|
||||||
|
label: "CPU resource limits settings for Dynatrace Webhook's pods"
|
||||||
|
description: "The maximum amount of CPU resources that the Dynatrace Webhook's pods can use. Default: 300m"
|
||||||
|
default: "300m"
|
||||||
|
type: string
|
||||||
|
group: "Webhook Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: webhook.limits.memory
|
||||||
|
label: "Memory resource limits settings for Dynatrace Webhook's pods"
|
||||||
|
description: "The maximum amount of memory that the Dynatrace Webhook's pods can use. Pod restarted if exceeded. Default: 128Mi"
|
||||||
|
default: "128Mi"
|
||||||
|
type: string
|
||||||
|
group: "Webhook Deployment Configuration"
|
||||||
|
|
||||||
|
|
||||||
|
#################### CSI Driver Deployment Configuration ####################
|
||||||
|
|
||||||
|
- variable: csidriver.enabled
|
||||||
|
label: "Deploy the Dynatrace CSI Driver"
|
||||||
|
description: "Deploys the Dynatrace CSI Driver via a DaemonSet to enable Cloud Native FullStack. Default: false"
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
group: "CSI Driver Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: csidriver.requests.cpu
|
||||||
|
label: "CPU resource requests settings for Dynatrace CSI Driver's pods"
|
||||||
|
description: "The minimum amount of CPU resources that the Dynatrace CSI Driver's pods should request. Affects scheduling. Default: 300m"
|
||||||
|
default: "300m"
|
||||||
|
type: string
|
||||||
|
group: "CSI Driver Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: csidriver.requests.memory
|
||||||
|
label: "Memory resource requests settings for Dynatrace CSI Driver's pods"
|
||||||
|
description: "The minimum amount of memory that the Dynatrace CSI Driver's pods should request. Affects scheduling. Default: 100Mi"
|
||||||
|
default: "100Mi"
|
||||||
|
type: string
|
||||||
|
group: "CSI Driver Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: csidriver.limits.cpu
|
||||||
|
label: "CPU resource limits settings for Dynatrace CSI Driver's pods"
|
||||||
|
description: "The maximum amount of CPU resources that the Dynatrace CSI Driver's pods can use. Default: 300m"
|
||||||
|
default: "300m"
|
||||||
|
type: string
|
||||||
|
group: "CSI Driver Deployment Configuration"
|
||||||
|
|
||||||
|
- variable: csidriver.limits.memory
|
||||||
|
label: "Memory resource limits settings for Dynatrace CSI Driver's pods"
|
||||||
|
description: "The maximum amount of memory that the Dynatrace CSI Driver's pods can use. Pod restarted if exceeded. Default: 100Mi"
|
||||||
|
default: "100Mi"
|
||||||
|
type: string
|
||||||
|
group: "CSI Driver Deployment Configuration"
|
|
@ -0,0 +1,35 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if eq (default false .Values.olm) true}}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-activegate
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.activegateLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- security.openshift.io
|
||||||
|
resourceNames:
|
||||||
|
- host
|
||||||
|
- privileged
|
||||||
|
resources:
|
||||||
|
- securitycontextconstraints
|
||||||
|
verbs:
|
||||||
|
- use
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,32 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if eq (default false .Values.olm) true}}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-activegate
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.activegateLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: dynatrace-activegate
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: ClusterRole
|
||||||
|
name: dynatrace-activegate
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,23 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-activegate
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.activegateLabels" . | nindent 4 }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,4 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if and .Values.installCRD (eq (include "dynatrace-operator.partial" .) "false") }}
|
||||||
|
{{ .Files.Get "generated/dynatrace-operator-crd.yaml" }}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,65 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.needCSI" .) "true" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- namespaces
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- storage.k8s.io
|
||||||
|
resources:
|
||||||
|
- csinodes
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- nodes
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.needCSI" .) "true" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: ClusterRole
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,27 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.needCSI" .) "true" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: CSIDriver
|
||||||
|
metadata:
|
||||||
|
name: csi.oneagent.dynatrace.com
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
attachRequired: false
|
||||||
|
podInfoOnMount: true
|
||||||
|
volumeLifecycleModes:
|
||||||
|
- Ephemeral
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,243 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.needCSI" .) "true" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 4 }}
|
||||||
|
{{- if .Values.csidriver.labels }}
|
||||||
|
{{- toYaml .Values.csidriver.labels | nindent 4 }}
|
||||||
|
{{- end}}
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
spec:
|
||||||
|
revisionHistoryLimit: 10
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "dynatrace-operator.csiSelectorLabels" . | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kubectl.kubernetes.io/default-logs-container: driver
|
||||||
|
cluster-autoscaler.kubernetes.io/enable-ds-eviction: "false"
|
||||||
|
{{- if and (eq (default false .Values.apparmor) true) (ne .Values.platform "openshift") }}
|
||||||
|
container.apparmor.security.beta.kubernetes.io/driver: runtime/default
|
||||||
|
container.apparmor.security.beta.kubernetes.io/registrar: runtime/default
|
||||||
|
container.apparmor.security.beta.kubernetes.io/liveness-probe: runtime/default
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.csidriver.annotations }}
|
||||||
|
{{- toYaml .Values.csidriver.annotations | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 8 }}
|
||||||
|
{{- include "dynatrace-operator.csiSelectorLabels" . | nindent 8 }}
|
||||||
|
{{- if .Values.csidriver.labels }}
|
||||||
|
{{- toYaml .Values.csidriver.labels | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
# Used to receive/execute gRPC requests (NodePublishVolume/NodeUnpublishVolume) from kubelet to mount/unmount volumes for a pod
|
||||||
|
# - Needs access to the csi socket, needs to read/write to it, needs root permissions to do so.
|
||||||
|
# - Needs access to the filesystem of pods on the node, and mount stuff to it,needs to read/write to it, needs root permissions to do so
|
||||||
|
# - Needs access to a dedicated folder on the node to persist data, needs to read/write to it.
|
||||||
|
- name: driver
|
||||||
|
image: {{- include "dynatrace-operator.image" . | nindent 12 }}
|
||||||
|
imagePullPolicy: Always
|
||||||
|
args:
|
||||||
|
- csi-driver
|
||||||
|
- --endpoint=unix://csi/csi.sock
|
||||||
|
- --node-id=$(KUBE_NODE_NAME)
|
||||||
|
- --health-probe-bind-address=:10080
|
||||||
|
env:
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: KUBE_NODE_NAME
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: spec.nodeName
|
||||||
|
livenessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
httpGet:
|
||||||
|
path: /livez
|
||||||
|
port: livez
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
ports:
|
||||||
|
- containerPort: 10080
|
||||||
|
name: livez
|
||||||
|
protocol: TCP
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: {{ default "300m" ((.Values.csidriver).limits).cpu }}
|
||||||
|
memory: {{ default "100Mi" ((.Values.csidriver).limits).memory }}
|
||||||
|
requests:
|
||||||
|
cpu: {{ default "300m" ((.Values.csidriver).requests).cpu }}
|
||||||
|
memory: {{ default "100Mi" ((.Values.csidriver).requests).memory }}
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
privileged: true # Needed for mountPropagation
|
||||||
|
allowPrivilegeEscalation: true # Needed for privileged
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: false
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
seLinuxOptions:
|
||||||
|
level: s0
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /csi
|
||||||
|
name: plugin-dir
|
||||||
|
- mountPath: /var/lib/kubelet/pods
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
name: mountpoint-dir
|
||||||
|
- mountPath: /data
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
name: dynatrace-oneagent-data-dir
|
||||||
|
- mountPath: /tmp
|
||||||
|
name: tmp-dir
|
||||||
|
# Used to make a gRPC request (GetPluginInfo()) to the driver to get driver name and driver contain
|
||||||
|
# - Needs access to the csi socket, needs to read/write to it, needs root permissions to do so.
|
||||||
|
# Used for registering the driver with kubelet
|
||||||
|
# - Needs access to the registration socket, needs to read/write to it, needs root permissions to do so.
|
||||||
|
- name: registrar
|
||||||
|
image: {{- include "dynatrace-operator.image" . | nindent 12 }}
|
||||||
|
imagePullPolicy: Always
|
||||||
|
args:
|
||||||
|
- --csi-address=/csi/csi.sock
|
||||||
|
- --kubelet-registration-path=/var/lib/kubelet/plugins/csi.oneagent.dynatrace.com/csi.sock
|
||||||
|
command:
|
||||||
|
- csi-node-driver-registrar
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- csi-node-driver-registrar
|
||||||
|
- --kubelet-registration-path=/var/lib/kubelet/plugins/csi.oneagent.dynatrace.com/csi.sock
|
||||||
|
- --mode=kubelet-registration-probe
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 15
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 100Mi
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 20Mi
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: false
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /csi
|
||||||
|
name: plugin-dir
|
||||||
|
- mountPath: /registration
|
||||||
|
name: registration-dir
|
||||||
|
- mountPath: /var/lib/kubelet/plugins/csi.oneagent.dynatrace.com
|
||||||
|
name: lockfile-dir
|
||||||
|
# Used to make a gRPC request (Probe()) to the driver to check if its running
|
||||||
|
# - Needs access to the csi socket, needs to read/write to it, needs root permissions to do so.
|
||||||
|
- name: liveness-probe
|
||||||
|
image: {{- include "dynatrace-operator.image" . | nindent 12 }}
|
||||||
|
imagePullPolicy: Always
|
||||||
|
args:
|
||||||
|
- --csi-address=/csi/csi.sock
|
||||||
|
- --health-port=9898
|
||||||
|
command:
|
||||||
|
- livenessprobe
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 100Mi
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 20Mi
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
privileged: false
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: false
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /csi
|
||||||
|
name: plugin-dir
|
||||||
|
dnsPolicy: ClusterFirst
|
||||||
|
restartPolicy: Always
|
||||||
|
schedulerName: default-scheduler
|
||||||
|
securityContext: {}
|
||||||
|
serviceAccountName: dynatrace-oneagent-csi-driver
|
||||||
|
terminationGracePeriodSeconds: 30
|
||||||
|
priorityClassName: dynatrace-high-priority
|
||||||
|
volumes:
|
||||||
|
# This volume is where the registrar registers the plugin with kubelet
|
||||||
|
- hostPath:
|
||||||
|
path: /var/lib/kubelet/plugins_registry/
|
||||||
|
type: Directory
|
||||||
|
name: registration-dir
|
||||||
|
# This volume is where the socket for kubelet->driver communication is done
|
||||||
|
- name: plugin-dir
|
||||||
|
hostPath:
|
||||||
|
path: /var/lib/kubelet/plugins/csi.oneagent.dynatrace.com
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
# This volume is where the driver mounts volumes
|
||||||
|
- hostPath:
|
||||||
|
path: /var/lib/kubelet/pods
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
name: mountpoint-dir
|
||||||
|
# This volume is where the driver persists data on the node
|
||||||
|
- hostPath:
|
||||||
|
path: /var/lib/kubelet/plugins/csi.oneagent.dynatrace.com/data
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
name: dynatrace-oneagent-data-dir
|
||||||
|
# Used by the registrar to create its lockfile
|
||||||
|
- name: lockfile-dir
|
||||||
|
emptyDir: {}
|
||||||
|
# A volume for the driver to write temporary files to
|
||||||
|
- name: tmp-dir
|
||||||
|
emptyDir: {}
|
||||||
|
{{- if .Values.customPullSecret }}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: {{ .Values.customPullSecret }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.csidriver.nodeSelector }}
|
||||||
|
nodeSelector: {{- toYaml .Values.csidriver.nodeSelector | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.csidriver.tolerations }}
|
||||||
|
tolerations: {{- toYaml .Values.csidriver.tolerations | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
updateStrategy:
|
||||||
|
rollingUpdate:
|
||||||
|
maxUnavailable: 1
|
||||||
|
type: RollingUpdate
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.needCSI" .) "true" }}
|
||||||
|
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
kind: PriorityClass
|
||||||
|
apiVersion: scheduling.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-high-priority
|
||||||
|
value: {{ default 1000000 (int (.Values.csidriver).priorityClassValue) }}
|
||||||
|
globalDefault: false
|
||||||
|
description: "This priority class is used for Dynatrace Components in order to make sure they are not evicted in favor of other pods"
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,70 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.needCSI" .) "true" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
kind: Role
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- endpoints
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- watch
|
||||||
|
- list
|
||||||
|
- delete
|
||||||
|
- update
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- coordination.k8s.io
|
||||||
|
resources:
|
||||||
|
- leases
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- watch
|
||||||
|
- list
|
||||||
|
- delete
|
||||||
|
- update
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- dynatrace.com
|
||||||
|
resources:
|
||||||
|
- dynakubes
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.needCSI" .) "true" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
kind: RoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: Role
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,23 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.needCSI" .) "true" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 4 }}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,96 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-kubernetes-monitoring
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.activegateLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- nodes
|
||||||
|
- pods
|
||||||
|
- namespaces
|
||||||
|
- replicationcontrollers
|
||||||
|
- events
|
||||||
|
- resourcequotas
|
||||||
|
- pods/proxy
|
||||||
|
- nodes/proxy
|
||||||
|
- services
|
||||||
|
{{- if default false (.Values.additionalPermissions).pvcMonitoring}}
|
||||||
|
- nodes/metrics
|
||||||
|
{{- end }}
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- batch
|
||||||
|
resources:
|
||||||
|
- jobs
|
||||||
|
- cronjobs
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
- replicasets
|
||||||
|
- statefulsets
|
||||||
|
- daemonsets
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- apps.openshift.io
|
||||||
|
resources:
|
||||||
|
- deploymentconfigs
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- config.openshift.io
|
||||||
|
resources:
|
||||||
|
- clusterversions
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- nonResourceURLs:
|
||||||
|
- /metrics
|
||||||
|
- /version
|
||||||
|
- /readyz
|
||||||
|
- /livez
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
{{- if eq (default false .Values.olm) true}}
|
||||||
|
- apiGroups:
|
||||||
|
- security.openshift.io
|
||||||
|
resourceNames:
|
||||||
|
- host
|
||||||
|
- privileged
|
||||||
|
resources:
|
||||||
|
- securitycontextconstraints
|
||||||
|
verbs:
|
||||||
|
- use
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-kubernetes-monitoring
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.activegateLabels" . | nindent 4 }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: dynatrace-kubernetes-monitoring
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: dynatrace-kubernetes-monitoring
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,23 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-kubernetes-monitoring
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.activegateLabels" . | nindent 4 }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,32 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if (eq (include "dynatrace-operator.openshiftOrOlm" .) "true") }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-dynakube-oneagent-privileged
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.oneagentLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- security.openshift.io
|
||||||
|
resourceNames:
|
||||||
|
- host
|
||||||
|
- privileged
|
||||||
|
resources:
|
||||||
|
- securitycontextconstraints
|
||||||
|
verbs:
|
||||||
|
- use
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,32 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if (eq (include "dynatrace-operator.openshiftOrOlm" .) "true") }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-dynakube-oneagent-unprivileged
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.oneagentLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- security.openshift.io
|
||||||
|
resourceNames:
|
||||||
|
- host
|
||||||
|
- privileged
|
||||||
|
resources:
|
||||||
|
- securitycontextconstraints
|
||||||
|
verbs:
|
||||||
|
- use
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if (eq (include "dynatrace-operator.openshiftOrOlm" .) "true") }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-dynakube-oneagent-privileged
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.oneagentLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: "dynatrace-dynakube-oneagent-privileged"
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: "dynatrace-dynakube-oneagent-privileged"
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if (eq (include "dynatrace-operator.openshiftOrOlm" .) "true") }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-dynakube-oneagent-unprivileged
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.oneagentLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: dynatrace-dynakube-oneagent-unprivileged
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: dynatrace-dynakube-oneagent-unprivileged
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-dynakube-oneagent-privileged
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.oneagentLabels" . | nindent 4 }}
|
||||||
|
automountServiceAccountToken: false
|
||||||
|
{{- if eq .Values.platform "openshift"}}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: redhat-connect
|
||||||
|
- name: redhat-connect-sso
|
||||||
|
{{- end }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-dynakube-oneagent-unprivileged
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.oneagentLabels" . | nindent 4 }}
|
||||||
|
automountServiceAccountToken: false
|
||||||
|
{{- if eq .Values.platform "openshift"}}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: redhat-connect
|
||||||
|
- name: redhat-connect-sso
|
||||||
|
{{- end }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,103 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- nodes
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- namespaces
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
resourceNames:
|
||||||
|
- dynatrace-dynakube-config
|
||||||
|
- dynatrace-data-ingest-endpoint
|
||||||
|
- dynatrace-activegate-internal-proxy
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- admissionregistration.k8s.io
|
||||||
|
resources:
|
||||||
|
- mutatingwebhookconfigurations
|
||||||
|
resourceNames:
|
||||||
|
- dynatrace-webhook
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- admissionregistration.k8s.io
|
||||||
|
resources:
|
||||||
|
- validatingwebhookconfigurations
|
||||||
|
resourceNames:
|
||||||
|
- dynatrace-webhook
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
resourceNames:
|
||||||
|
- dynakubes.dynatrace.com
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
{{- if eq (default false .Values.olm) true}}
|
||||||
|
- apiGroups:
|
||||||
|
- security.openshift.io
|
||||||
|
resourceNames:
|
||||||
|
- host
|
||||||
|
- privileged
|
||||||
|
resources:
|
||||||
|
- securitycontextconstraints
|
||||||
|
verbs:
|
||||||
|
- use
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: ClusterRole
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,139 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
{{- if .Values.operator.labels }}
|
||||||
|
{{- toYaml .Values.operator.labels | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
revisionHistoryLimit: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "dynatrace-operator.operatorSelectorLabels" . | nindent 6 }}
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
{{- if or (.Values.operator).apparmor .Values.operator.annotations}}
|
||||||
|
annotations:
|
||||||
|
{{- if (.Values.operator).apparmor}}
|
||||||
|
container.apparmor.security.beta.kubernetes.io/{{ .Release.Name }}: runtime/default
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.operator.annotations }}
|
||||||
|
{{- toYaml .Values.operator.annotations | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 8 }}
|
||||||
|
{{- include "dynatrace-operator.operatorSelectorLabels" . | nindent 8 }}
|
||||||
|
{{- if .Values.operator.labels }}
|
||||||
|
{{- toYaml .Values.operator.labels | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: {{ .Release.Name }}
|
||||||
|
args:
|
||||||
|
- operator
|
||||||
|
# Replace this with the built image name
|
||||||
|
image: {{- include "dynatrace-operator.image" . | nindent 12 }}
|
||||||
|
imagePullPolicy: Always
|
||||||
|
env:
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: POD_NAME
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.name
|
||||||
|
ports:
|
||||||
|
- containerPort: 10080
|
||||||
|
name: server-port
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: {{ default "50m" ((.Values.operator).requests).cpu }}
|
||||||
|
memory: {{ default "64Mi" ((.Values.operator).requests).memory }}
|
||||||
|
ephemeral-storage: "10Mi"
|
||||||
|
limits:
|
||||||
|
cpu: {{ default "100m" ((.Values.operator).limits).cpu }}
|
||||||
|
memory: {{ default "128Mi" ((.Values.operator).limits).memory }}
|
||||||
|
ephemeral-storage: "10Mi"
|
||||||
|
volumeMounts:
|
||||||
|
- name: tmp-cert-dir
|
||||||
|
mountPath: /tmp/dynatrace-operator
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /livez
|
||||||
|
port: server-port
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: 15
|
||||||
|
periodSeconds: 10
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /livez
|
||||||
|
port: server-port
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: 15
|
||||||
|
periodSeconds: 10
|
||||||
|
securityContext:
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
privileged: false
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1001
|
||||||
|
runAsGroup: 1001
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
affinity:
|
||||||
|
nodeAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
{{- if ne .Values.platform "gke-autopilot"}}
|
||||||
|
- key: kubernetes.io/arch
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
{{- end }}
|
||||||
|
- key: kubernetes.io/os
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- linux
|
||||||
|
volumes:
|
||||||
|
- emptyDir: { }
|
||||||
|
name: tmp-cert-dir
|
||||||
|
serviceAccountName: {{ .Release.Name }}
|
||||||
|
{{- if .Values.customPullSecret }}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: {{ .Values.customPullSecret }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.operator.nodeSelector }}
|
||||||
|
nodeSelector: {{- toYaml .Values.operator.nodeSelector | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.operator.tolerations }}
|
||||||
|
tolerations: {{- toYaml .Values.operator.tolerations | nindent 8 }}
|
||||||
|
{{- end -}}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,159 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- dynatrace.com
|
||||||
|
resources:
|
||||||
|
- dynakubes
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- dynatrace.com
|
||||||
|
resources:
|
||||||
|
- dynakubes/finalizers
|
||||||
|
- dynakubes/status
|
||||||
|
verbs:
|
||||||
|
- update
|
||||||
|
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- statefulsets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- daemonsets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- replicasets
|
||||||
|
- deployments
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments/finalizers
|
||||||
|
verbs:
|
||||||
|
- update
|
||||||
|
|
||||||
|
- apiGroups:
|
||||||
|
- "" # "" indicates the core API group
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- "" # "" indicates the core API group
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- delete
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- "" # "" indicates the core API group
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- services
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
|
||||||
|
- apiGroups:
|
||||||
|
- monitoring.coreos.com
|
||||||
|
resources:
|
||||||
|
- servicemonitors
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- create
|
||||||
|
|
||||||
|
- apiGroups:
|
||||||
|
- networking.istio.io
|
||||||
|
resources:
|
||||||
|
- serviceentries
|
||||||
|
- virtualservices
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
|
|
||||||
|
- apiGroups:
|
||||||
|
- coordination.k8s.io
|
||||||
|
resources:
|
||||||
|
- leases
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
- create
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
roleRef:
|
||||||
|
kind: Role
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
|
||||||
|
{{ if eq .Values.platform "openshift" }}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: redhat-connect
|
||||||
|
- name: redhat-connect-sso
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,97 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- namespaces
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
resourceNames:
|
||||||
|
- dynatrace-dynakube-config
|
||||||
|
- dynatrace-data-ingest-endpoint
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
# data-ingest workload owner lookup
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- replicationcontrollers
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- replicasets
|
||||||
|
- statefulsets
|
||||||
|
- daemonsets
|
||||||
|
- deployments
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- batch
|
||||||
|
resources:
|
||||||
|
- jobs
|
||||||
|
- cronjobs
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- apps.openshift.io
|
||||||
|
resources:
|
||||||
|
- deploymentconfigs
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
{{- if eq (default false .Values.olm) true}}
|
||||||
|
- apiGroups:
|
||||||
|
- security.openshift.io
|
||||||
|
resourceNames:
|
||||||
|
- host
|
||||||
|
- privileged
|
||||||
|
resources:
|
||||||
|
- securitycontextconstraints
|
||||||
|
verbs:
|
||||||
|
- use
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: ClusterRole
|
||||||
|
name: dynatrace-webhook
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,150 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
{{- if .Values.webhook.labels }}
|
||||||
|
{{- toYaml .Values.webhook.labels | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ (default false (.Values.webhook).highAvailability) | ternary 2 1 }}
|
||||||
|
revisionHistoryLimit: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "dynatrace-operator.webhookSelectorLabels" . | nindent 6 }}
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kubectl.kubernetes.io/default-container: webhook
|
||||||
|
{{- if (.Values.webhook).apparmor}}
|
||||||
|
container.apparmor.security.beta.kubernetes.io/webhook: runtime/default
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.webhook.annotations}}
|
||||||
|
{{- toYaml .Values.webhook.annotations | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 8 }}
|
||||||
|
{{- include "dynatrace-operator.webhookSelectorLabels" . | nindent 8 }}
|
||||||
|
{{- if .Values.webhook.labels }}
|
||||||
|
{{- toYaml .Values.webhook.labels | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if (.Values.webhook).highAvailability }}
|
||||||
|
topologySpreadConstraints:
|
||||||
|
- maxSkew: 1
|
||||||
|
topologyKey: "topology.kubernetes.io/zone"
|
||||||
|
whenUnsatisfiable: ScheduleAnyway
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/component: webhook
|
||||||
|
app.kubernetes.io/name: dynatrace-operator
|
||||||
|
- maxSkew: 1
|
||||||
|
topologyKey: "kubernetes.io/hostname"
|
||||||
|
whenUnsatisfiable: DoNotSchedule
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/component: webhook
|
||||||
|
app.kubernetes.io/name: dynatrace-operator
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- emptyDir: {}
|
||||||
|
name: certs-dir
|
||||||
|
affinity:
|
||||||
|
nodeAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
{{- if ne .Values.platform "gke-autopilot"}}
|
||||||
|
- key: kubernetes.io/arch
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
{{- end }}
|
||||||
|
- key: kubernetes.io/os
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- linux
|
||||||
|
containers:
|
||||||
|
- name: webhook
|
||||||
|
args:
|
||||||
|
- webhook-server
|
||||||
|
# OLM mounts the certificates here, so we reuse it for simplicity
|
||||||
|
- --certs-dir=/tmp/k8s-webhook-server/serving-certs/
|
||||||
|
image: {{- include "dynatrace-operator.image" . | nindent 12 }}
|
||||||
|
imagePullPolicy: Always
|
||||||
|
env:
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: POD_NAME
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.name
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /livez
|
||||||
|
port: server-port
|
||||||
|
scheme: HTTPS
|
||||||
|
ports:
|
||||||
|
- name: server-port
|
||||||
|
containerPort: 8443
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: {{ default "300m" ((.Values.webhook).requests).cpu }}
|
||||||
|
memory: {{ default "128Mi" ((.Values.webhook).requests).memory }}
|
||||||
|
ephemeral-storage: "10Mi"
|
||||||
|
limits:
|
||||||
|
cpu: {{ default "300m" ((.Values.webhook).limits).cpu }}
|
||||||
|
memory: {{ default "128Mi" ((.Values.webhook).limits).memory }}
|
||||||
|
ephemeral-storage: "10Mi"
|
||||||
|
volumeMounts:
|
||||||
|
- name: certs-dir
|
||||||
|
mountPath: /tmp/k8s-webhook-server/serving-certs/
|
||||||
|
securityContext:
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
privileged: false
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1001
|
||||||
|
runAsGroup: 1001
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
serviceAccountName: dynatrace-webhook
|
||||||
|
{{- if (.Values.webhook).hostNetwork }}
|
||||||
|
hostNetwork: true
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.customPullSecret }}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: {{ .Values.customPullSecret }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.webhook.nodeSelector }}
|
||||||
|
nodeSelector: {{- toYaml .Values.webhook.nodeSelector | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.webhook.tolerations }}
|
||||||
|
tolerations: {{- toYaml .Values.webhook.tolerations | nindent 8 }}
|
||||||
|
{{- end -}}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,61 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: admissionregistration.k8s.io/v1
|
||||||
|
kind: MutatingWebhookConfiguration
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
webhooks:
|
||||||
|
- name: webhook.pod.dynatrace.com
|
||||||
|
reinvocationPolicy: IfNeeded
|
||||||
|
failurePolicy: Ignore
|
||||||
|
timeoutSeconds: 2
|
||||||
|
rules:
|
||||||
|
- apiGroups: [ "" ]
|
||||||
|
apiVersions: [ "v1" ]
|
||||||
|
operations: [ "CREATE" ]
|
||||||
|
resources: [ "pods" ]
|
||||||
|
scope: Namespaced
|
||||||
|
namespaceSelector:
|
||||||
|
matchExpressions:
|
||||||
|
- key: dynakube.internal.dynatrace.com/instance
|
||||||
|
operator: Exists
|
||||||
|
clientConfig:
|
||||||
|
service:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /inject
|
||||||
|
admissionReviewVersions: [ "v1beta1", "v1" ]
|
||||||
|
sideEffects: None
|
||||||
|
- name: webhook.ns.dynatrace.com
|
||||||
|
reinvocationPolicy: IfNeeded
|
||||||
|
failurePolicy: Ignore
|
||||||
|
timeoutSeconds: 2
|
||||||
|
rules:
|
||||||
|
- apiGroups: [ "" ]
|
||||||
|
apiVersions: [ "v1" ]
|
||||||
|
operations: [ "CREATE", "UPDATE"]
|
||||||
|
resources: [ "namespaces" ]
|
||||||
|
scope: Cluster
|
||||||
|
clientConfig:
|
||||||
|
service:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /label-ns
|
||||||
|
admissionReviewVersions: [ "v1beta1", "v1" ]
|
||||||
|
sideEffects: None
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if and (.Values.webhook).highAvailability (eq (include "dynatrace-operator.partial" .) "false") }}
|
||||||
|
apiVersion: policy/v1
|
||||||
|
kind: PodDisruptionBudget
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
spec:
|
||||||
|
minAvailable: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/component: webhook
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,74 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- services
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- dynatrace.com
|
||||||
|
resources:
|
||||||
|
- dynakubes
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- coordination.k8s.io
|
||||||
|
resources:
|
||||||
|
- leases
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- daemonsets
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: Role
|
||||||
|
name: dynatrace-webhook
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
ports:
|
||||||
|
- port: 443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: server-port
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
{{- if eq .Values.platform "openshift" }}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: redhat-connect
|
||||||
|
- name: redhat-connect-sso
|
||||||
|
{{- end }}
|
||||||
|
{{ end }}
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{ if eq (include "dynatrace-operator.partial" .) "false" }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: admissionregistration.k8s.io/v1
|
||||||
|
kind: ValidatingWebhookConfiguration
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.webhookLabels" . | nindent 4 }}
|
||||||
|
webhooks:
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
- v1beta1
|
||||||
|
- v1alpha1
|
||||||
|
clientConfig:
|
||||||
|
service:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /validate
|
||||||
|
rules:
|
||||||
|
- operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
apiGroups:
|
||||||
|
- dynatrace.com
|
||||||
|
apiVersions:
|
||||||
|
- v1beta1
|
||||||
|
resources:
|
||||||
|
- dynakubes
|
||||||
|
name: webhook.dynatrace.com
|
||||||
|
timeoutSeconds: 2
|
||||||
|
sideEffects: None
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,10 @@
|
||||||
|
Thank you for installing {{ .Chart.Name }}.
|
||||||
|
|
||||||
|
Your release is named {{ .Release.Name }}.
|
||||||
|
|
||||||
|
To find more information about the Dynatrace Operator, try:
|
||||||
|
https://github.com/Dynatrace/dynatrace-operator
|
||||||
|
|
||||||
|
To verify the current state of the deployments, try:
|
||||||
|
$ kubectl get pods -n {{ .Release.Namespace }}
|
||||||
|
$ kubectl logs -f deployment/{{ .Release.Name }} -n {{ .Release.Namespace }}
|
|
@ -0,0 +1,52 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if and (eq .Values.platform "openshift") ((.Values.securityContextConstraints).enabled) (eq (include "dynatrace-operator.partial" .) "false")}}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: security.openshift.io/v1
|
||||||
|
kind: SecurityContextConstraints
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-activegate
|
||||||
|
allowPrivilegedContainer: false
|
||||||
|
fsGroup:
|
||||||
|
type: RunAsAny
|
||||||
|
priority: 1
|
||||||
|
{{- if (.Values.activeGate).readOnlyFs }}
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
{{ else }}
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
{{ end }}
|
||||||
|
requiredDropCapabilities:
|
||||||
|
- ALL
|
||||||
|
runAsUser:
|
||||||
|
type: MustRunAsNonRoot
|
||||||
|
seLinuxContext:
|
||||||
|
type: RunAsAny
|
||||||
|
seccompProfiles:
|
||||||
|
- "*"
|
||||||
|
supplementalGroups:
|
||||||
|
type: RunAsAny
|
||||||
|
users:
|
||||||
|
- system:serviceaccount:{{ .Release.Namespace }}:dynatrace-activegate
|
||||||
|
- system:serviceaccount:{{ .Release.Namespace }}:dynatrace-kubernetes-monitoring
|
||||||
|
volumes:
|
||||||
|
- "*"
|
||||||
|
|
||||||
|
allowHostDirVolumePlugin: false
|
||||||
|
allowHostIPC: false
|
||||||
|
allowHostNetwork: false
|
||||||
|
allowHostPID: false
|
||||||
|
allowHostPorts: false
|
||||||
|
allowedFlexVolumes: null
|
||||||
|
defaultAddCapabilities: []
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,49 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if and (eq .Values.platform "openshift") ((.Values.securityContextConstraints).enabled) (eq (include "dynatrace-operator.needCSI" .) "true") }}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: security.openshift.io/v1
|
||||||
|
kind: SecurityContextConstraints
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-oneagent-csi-driver
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.csiLabels" . | nindent 4 }}
|
||||||
|
allowHostDirVolumePlugin: true
|
||||||
|
allowHostIPC: true
|
||||||
|
allowHostNetwork: true
|
||||||
|
allowHostPID: true
|
||||||
|
allowHostPorts: true
|
||||||
|
allowPrivilegedContainer: true
|
||||||
|
allowedCapabilities:
|
||||||
|
- "*"
|
||||||
|
allowedFlexVolumes: null
|
||||||
|
defaultAddCapabilities: null
|
||||||
|
fsGroup:
|
||||||
|
type: RunAsAny
|
||||||
|
priority: 1
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
requiredDropCapabilities: null
|
||||||
|
runAsUser:
|
||||||
|
type: RunAsAny
|
||||||
|
seLinuxContext:
|
||||||
|
type: RunAsAny
|
||||||
|
seccompProfiles:
|
||||||
|
- "*"
|
||||||
|
supplementalGroups:
|
||||||
|
type: RunAsAny
|
||||||
|
users:
|
||||||
|
- system:serviceaccount:dynatrace:dynatrace-oneagent-csi-driver
|
||||||
|
volumes:
|
||||||
|
- "*"
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,66 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if and (eq .Values.platform "openshift") ((.Values.securityContextConstraints).enabled) (eq (include "dynatrace-operator.partial" .) "false")}}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: security.openshift.io/v1
|
||||||
|
kind: SecurityContextConstraints
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/description: "dynatrace-dynakube-oneagent-privileged allows access to all privileged and host features and the ability to run as any user, any group, any fsGroup, and with any SELinux context."
|
||||||
|
name: dynatrace-dynakube-oneagent-privileged
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.oneagentLabels" . | nindent 4 }}
|
||||||
|
allowHostDirVolumePlugin: true
|
||||||
|
allowHostIPC: false
|
||||||
|
allowHostNetwork: true
|
||||||
|
allowHostPID: true
|
||||||
|
allowHostPorts: true
|
||||||
|
allowPrivilegedContainer: true
|
||||||
|
allowedCapabilities:
|
||||||
|
- CHOWN
|
||||||
|
- DAC_OVERRIDE
|
||||||
|
- DAC_READ_SEARCH
|
||||||
|
- FOWNER
|
||||||
|
- FSETID
|
||||||
|
- KILL
|
||||||
|
- NET_ADMIN
|
||||||
|
- NET_RAW
|
||||||
|
- SETFCAP
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
- SYS_ADMIN
|
||||||
|
- SYS_CHROOT
|
||||||
|
- SYS_PTRACE
|
||||||
|
- SYS_RESOURCE
|
||||||
|
allowedFlexVolumes: null
|
||||||
|
defaultAddCapabilities: []
|
||||||
|
fsGroup:
|
||||||
|
type: RunAsAny
|
||||||
|
priority: 1
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
requiredDropCapabilities:
|
||||||
|
- ALL
|
||||||
|
runAsUser:
|
||||||
|
type: RunAsAny
|
||||||
|
seLinuxContext:
|
||||||
|
type: RunAsAny
|
||||||
|
seccompProfiles:
|
||||||
|
- "*"
|
||||||
|
supplementalGroups:
|
||||||
|
type: RunAsAny
|
||||||
|
users:
|
||||||
|
- system:serviceaccount:{{ .Release.Namespace }}:dynatrace-dynakube-oneagent-privileged
|
||||||
|
volumes:
|
||||||
|
- "*"
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,66 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if and (eq .Values.platform "openshift") ((.Values.securityContextConstraints).enabled) (eq (include "dynatrace-operator.partial" .) "false")}}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: security.openshift.io/v1
|
||||||
|
kind: SecurityContextConstraints
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/description: "dynatrace-dynakube-oneagent-unprivileged allows access to all privileged and host features and the ability to run as any user, any group, any fsGroup, and with any SELinux context. This is a copy of privileged scc."
|
||||||
|
name: dynatrace-dynakube-oneagent-unprivileged
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.oneagentLabels" . | nindent 4 }}
|
||||||
|
allowHostDirVolumePlugin: true
|
||||||
|
allowHostIPC: false
|
||||||
|
allowHostNetwork: true
|
||||||
|
allowHostPID: true
|
||||||
|
allowHostPorts: true
|
||||||
|
allowPrivilegedContainer: false
|
||||||
|
allowedCapabilities:
|
||||||
|
- CHOWN
|
||||||
|
- DAC_OVERRIDE
|
||||||
|
- DAC_READ_SEARCH
|
||||||
|
- FOWNER
|
||||||
|
- FSETID
|
||||||
|
- KILL
|
||||||
|
- NET_ADMIN
|
||||||
|
- NET_RAW
|
||||||
|
- SETFCAP
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
- SYS_ADMIN
|
||||||
|
- SYS_CHROOT
|
||||||
|
- SYS_PTRACE
|
||||||
|
- SYS_RESOURCE
|
||||||
|
allowedFlexVolumes: null
|
||||||
|
defaultAddCapabilities: []
|
||||||
|
fsGroup:
|
||||||
|
type: RunAsAny
|
||||||
|
priority: 1
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
requiredDropCapabilities:
|
||||||
|
- ALL
|
||||||
|
runAsUser:
|
||||||
|
type: RunAsAny
|
||||||
|
seLinuxContext:
|
||||||
|
type: RunAsAny
|
||||||
|
seccompProfiles:
|
||||||
|
- "*"
|
||||||
|
supplementalGroups:
|
||||||
|
type: RunAsAny
|
||||||
|
users:
|
||||||
|
- system:serviceaccount:{{ .Release.Namespace }}:dynatrace-dynakube-oneagent-unprivileged
|
||||||
|
volumes:
|
||||||
|
- "*"
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,49 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if and (eq .Values.platform "openshift") ((.Values.securityContextConstraints).enabled) (eq (include "dynatrace-operator.partial" .) "false")}}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: security.openshift.io/v1
|
||||||
|
kind: SecurityContextConstraints
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
allowPrivilegedContainer: false
|
||||||
|
fsGroup:
|
||||||
|
type: RunAsAny
|
||||||
|
priority: 1
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
requiredDropCapabilities:
|
||||||
|
- ALL
|
||||||
|
runAsUser:
|
||||||
|
type: MustRunAsNonRoot
|
||||||
|
seLinuxContext:
|
||||||
|
type: RunAsAny
|
||||||
|
seccompProfiles:
|
||||||
|
- "*"
|
||||||
|
supplementalGroups:
|
||||||
|
type: RunAsAny
|
||||||
|
users:
|
||||||
|
- system:serviceaccount:{{ .Release.Namespace }}:{{ .Release.Name }}
|
||||||
|
volumes:
|
||||||
|
- "*"
|
||||||
|
|
||||||
|
allowHostDirVolumePlugin: false
|
||||||
|
allowHostIPC: false
|
||||||
|
allowHostNetwork: false
|
||||||
|
allowHostPID: false
|
||||||
|
allowHostPorts: false
|
||||||
|
allowedFlexVolumes: null
|
||||||
|
defaultAddCapabilities: []
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,49 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if and (eq .Values.platform "openshift") ((.Values.securityContextConstraints).enabled) (eq (include "dynatrace-operator.partial" .) "false")}}
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: security.openshift.io/v1
|
||||||
|
kind: SecurityContextConstraints
|
||||||
|
metadata:
|
||||||
|
name: dynatrace-webhook
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
allowPrivilegedContainer: false
|
||||||
|
fsGroup:
|
||||||
|
type: RunAsAny
|
||||||
|
priority: 1
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
requiredDropCapabilities:
|
||||||
|
- ALL
|
||||||
|
runAsUser:
|
||||||
|
type: MustRunAsNonRoot
|
||||||
|
seLinuxContext:
|
||||||
|
type: RunAsAny
|
||||||
|
seccompProfiles:
|
||||||
|
- "*"
|
||||||
|
supplementalGroups:
|
||||||
|
type: RunAsAny
|
||||||
|
users:
|
||||||
|
- system:serviceaccount:{{ .Release.Namespace }}:dynatrace-webhook
|
||||||
|
volumes:
|
||||||
|
- "*"
|
||||||
|
|
||||||
|
allowHostDirVolumePlugin: false
|
||||||
|
allowHostIPC: false
|
||||||
|
allowHostNetwork: true
|
||||||
|
allowHostPID: false
|
||||||
|
allowHostPorts: false
|
||||||
|
allowedFlexVolumes: null
|
||||||
|
defaultAddCapabilities: []
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,171 @@
|
||||||
|
// Copyright 2020 Dynatrace LLC
|
||||||
|
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.futureSelectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ .Release.Name }}
|
||||||
|
{{- if not (.Values).manifests }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.commonLabels" -}}
|
||||||
|
{{ include "dynatrace-operator.futureSelectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if not (.Values).manifests }}
|
||||||
|
helm.sh/chart: {{ include "dynatrace-operator.chart" . }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Operator labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.operatorLabels" -}}
|
||||||
|
{{ include "dynatrace-operator.commonLabels" . }}
|
||||||
|
app.kubernetes.io/component: operator
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Operator selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.operatorSelectorLabels" -}}
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Webhook labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.webhookLabels" -}}
|
||||||
|
{{ include "dynatrace-operator.commonLabels" . }}
|
||||||
|
app.kubernetes.io/component: webhook
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Webhook selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.webhookSelectorLabels" -}}
|
||||||
|
internal.dynatrace.com/component: webhook
|
||||||
|
internal.dynatrace.com/app: webhook
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
CSI labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.csiLabels" -}}
|
||||||
|
{{ include "dynatrace-operator.commonLabels" . }}
|
||||||
|
app.kubernetes.io/component: csi-driver
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
CSI selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.csiSelectorLabels" -}}
|
||||||
|
internal.oneagent.dynatrace.com/app: csi-driver
|
||||||
|
internal.oneagent.dynatrace.com/component: csi-driver
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
ActiveGate labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.activegateLabels" -}}
|
||||||
|
{{ include "dynatrace-operator.commonLabels" . }}
|
||||||
|
app.kubernetes.io/component: activegate
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
OneAgent labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.oneagentLabels" -}}
|
||||||
|
{{ include "dynatrace-operator.commonLabels" . }}
|
||||||
|
app.kubernetes.io/component: oneagent
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Check if default image is used
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.image" -}}
|
||||||
|
{{- if .Values.image -}}
|
||||||
|
{{- printf "%s" .Values.image -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- if eq .Values.platform "google-marketplace" -}}
|
||||||
|
{{- printf "%s:%s" "gcr.io/dynatrace-marketplace-prod/dynatrace-operator" "{{ .Chart.AppVersion }}" }}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s:v%s" "docker.io/dynatrace/dynatrace-operator" .Chart.AppVersion }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Check if we need the csi driver.
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.needCSI" -}}
|
||||||
|
{{- if or (.Values.csidriver.enabled) (eq (include "dynatrace-operator.partial" .) "csi") -}}
|
||||||
|
{{- printf "true" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Check if we are generating only a part of the yamls
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.partial" -}}
|
||||||
|
{{- if (default false .Values.partial) -}}
|
||||||
|
{{- printf "%s" .Values.partial -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "false" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Check if platform is set
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.platformSet" -}}
|
||||||
|
{{- if or (eq .Values.platform "kubernetes") (eq .Values.platform "openshift") (eq .Values.platform "google-marketplace") (eq .Values.platform "gke-autopilot") -}}
|
||||||
|
{{ default "set" }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Exclude Kubernetes manifest not running on OLM
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.openshiftOrOlm" -}}
|
||||||
|
{{- if and (or (eq .Values.platform "openshift") (.Values.olm)) (eq (include "dynatrace-operator.partial" .) "false") -}}
|
||||||
|
{{ default "true" }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Check if the platform is set
|
||||||
|
*/}}
|
||||||
|
{{- define "dynatrace-operator.platformRequired" -}}
|
||||||
|
{{- $platformIsSet := printf "%s" (required "Platform needs to be set to kubernetes, openshift, google-marketplace, or gke-autopilot" (include "dynatrace-operator.platformSet" .))}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,99 @@
|
||||||
|
{{- include "dynatrace-operator.platformRequired" . }}
|
||||||
|
{{- if eq .Values.platform "google-marketplace" }}
|
||||||
|
# Copyright 2020 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
apiVersion: app.k8s.io/v1beta1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "dynatrace-operator.operatorLabels" . | nindent 4 }}
|
||||||
|
annotations:
|
||||||
|
kubernetes-engine.cloud.google.com/icon: data:image/png;base64,{{ .Files.Get "logo.png" | b64enc }}
|
||||||
|
marketplace.cloud.google.com/deploy-info: '{"partner_id": "dynatrace-marketplace-prod", "product_id": "dynatrace-operator", "partner_name": "Dynatrace LLC"}'
|
||||||
|
spec:
|
||||||
|
descriptor:
|
||||||
|
type: "Dynatrace Operator"
|
||||||
|
version: "0.8.1"
|
||||||
|
maintainers:
|
||||||
|
- name: Dynatrace LLC
|
||||||
|
url: https://www.dynatrace.com/
|
||||||
|
keywords:
|
||||||
|
- "dynatrace"
|
||||||
|
- "operator"
|
||||||
|
- "activegate"
|
||||||
|
- "k8s"
|
||||||
|
- "monitoring"
|
||||||
|
- "apm"
|
||||||
|
description: |
|
||||||
|
# Dynatrace Operator
|
||||||
|
|
||||||
|
The Dynatrace Operator supports rollout and lifecycle management of various Dynatrace components in Kubernetes and OpenShift.
|
||||||
|
|
||||||
|
* OneAgent
|
||||||
|
* `classicFullStack` rolls out a OneAgent pod per node to monitor pods on it and the node itself
|
||||||
|
* `applicationMonitoring` is a webhook based injection mechanism for automatic app-only injection
|
||||||
|
* CSI Driver can be enabled to cache OneAgent downloads per node
|
||||||
|
* `hostMonitoring` is only monitoring the hosts (i.e. nodes) in the cluster without app-only injection
|
||||||
|
* `cloudNativeFullStack` is a combination of `applicationMonitoring` with CSI driver and `hostMonitoring`
|
||||||
|
* ActiveGate
|
||||||
|
* `routing` routes OneAgent traffic through the ActiveGate
|
||||||
|
* `kubernetes-monitoring` allows monitoring of the Kubernetes API
|
||||||
|
* `metrics-ingest` routes enriched metrics through ActiveGate
|
||||||
|
|
||||||
|
For more information please have a look at [our DynaKube Custom Resource examples](config/samples) and
|
||||||
|
our [official help page](https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-container-platforms/kubernetes/).
|
||||||
|
links:
|
||||||
|
- description: Dynatrace Website
|
||||||
|
url: https://www.dynatrace.com/
|
||||||
|
- description: Operator Deploy Guide
|
||||||
|
url: ToDo
|
||||||
|
- description: Kubernetes Monitoring Info
|
||||||
|
url: https://www.dynatrace.com/technologies/kubernetes-monitoring
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: "{{ .Release.Name }}"
|
||||||
|
componentKinds:
|
||||||
|
- group: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
- group: v1
|
||||||
|
kind: Pod
|
||||||
|
- group: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
- group: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
- group: v1
|
||||||
|
kind: Secret
|
||||||
|
- group: batch/v1
|
||||||
|
kind: Job
|
||||||
|
- group: v1
|
||||||
|
kind: Service
|
||||||
|
- group: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
- group: admissionregistration.k8s.io/v1
|
||||||
|
kind: ValidatingWebhookConfiguration
|
||||||
|
- group: admissionregistration.k8s.io/v1
|
||||||
|
kind: MutatingWebhookConfiguration
|
||||||
|
- group: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
- group: storage.k8s.io/v1
|
||||||
|
kind: CSIDriver
|
||||||
|
- group: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
- group: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
- group: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
- group: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,77 @@
|
||||||
|
# Copyright 2021 Dynatrace LLC
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# may be set to "kubernetes", "openshift", or "gke-autopilot"
|
||||||
|
platform: "kubernetes"
|
||||||
|
|
||||||
|
image: ""
|
||||||
|
customPullSecret: ""
|
||||||
|
installCRD: false
|
||||||
|
|
||||||
|
operator:
|
||||||
|
nodeSelector: {}
|
||||||
|
tolerations: []
|
||||||
|
labels: []
|
||||||
|
annotations: []
|
||||||
|
apparmor: false
|
||||||
|
requests:
|
||||||
|
cpu: 50m
|
||||||
|
memory: 64Mi
|
||||||
|
limits:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 128Mi
|
||||||
|
|
||||||
|
webhook:
|
||||||
|
hostNetwork: false
|
||||||
|
nodeSelector: {}
|
||||||
|
tolerations: []
|
||||||
|
labels: []
|
||||||
|
annotations: []
|
||||||
|
apparmor: false
|
||||||
|
requests:
|
||||||
|
cpu: 300m
|
||||||
|
memory: 128Mi
|
||||||
|
limits:
|
||||||
|
cpu: 300m
|
||||||
|
memory: 128Mi
|
||||||
|
highAvailability: true
|
||||||
|
|
||||||
|
csidriver:
|
||||||
|
enabled: false
|
||||||
|
nodeSelector: {}
|
||||||
|
priorityClassValue: "1000000"
|
||||||
|
tolerations:
|
||||||
|
- effect: NoSchedule
|
||||||
|
key: node-role.kubernetes.io/master
|
||||||
|
operator: Exists
|
||||||
|
- effect: NoSchedule
|
||||||
|
key: node-role.kubernetes.io/control-plane
|
||||||
|
operator: Exists
|
||||||
|
- effect: NoSchedule
|
||||||
|
key: ToBeDeletedByClusterAutoscaler
|
||||||
|
operator: Exists
|
||||||
|
labels: []
|
||||||
|
annotations: []
|
||||||
|
requests:
|
||||||
|
cpu: 300m
|
||||||
|
memory: 100Mi
|
||||||
|
limits:
|
||||||
|
cpu: 300m
|
||||||
|
memory: 100Mi
|
||||||
|
|
||||||
|
securityContextConstraints:
|
||||||
|
enabled: true # Only applicable for Openshift
|
||||||
|
|
||||||
|
additionalPermissions:
|
||||||
|
pvcMonitoring: false
|
|
@ -1135,6 +1135,33 @@ entries:
|
||||||
- assets/dynatrace/dynatrace-oneagent-operator-0.8.000.tgz
|
- assets/dynatrace/dynatrace-oneagent-operator-0.8.000.tgz
|
||||||
version: 0.8.000
|
version: 0.8.000
|
||||||
dynatrace-operator:
|
dynatrace-operator:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/certified: partner
|
||||||
|
catalog.cattle.io/display-name: Dynatrace Operator
|
||||||
|
catalog.cattle.io/kube-version: '>=1.21.0-0'
|
||||||
|
catalog.cattle.io/release-name: dynatrace-operator
|
||||||
|
apiVersion: v2
|
||||||
|
appVersion: 0.8.2
|
||||||
|
created: "2022-08-30T12:34:53.716323-04:00"
|
||||||
|
description: The Dynatrace Operator Helm chart for Kubernetes and OpenShift
|
||||||
|
digest: f00dff617c06508dd3d18b3503ce65c6a241081566be53b2b4449b9e08f765c8
|
||||||
|
home: https://www.dynatrace.com/
|
||||||
|
icon: https://assets.dynatrace.com/global/resources/Signet_Logo_RGB_CP_512x512px.png
|
||||||
|
kubeVersion: '>=1.21.0-0'
|
||||||
|
maintainers:
|
||||||
|
- email: marcell.sevcsik@dynatrace.com
|
||||||
|
name: 0sewa0
|
||||||
|
- email: christoph.muellner@dynatrace.com
|
||||||
|
name: chrismuellner
|
||||||
|
- email: lukas.hinterreiter@dynatrace.com
|
||||||
|
name: luhi-DT
|
||||||
|
name: dynatrace-operator
|
||||||
|
sources:
|
||||||
|
- https://github.com/Dynatrace/dynatrace-operator
|
||||||
|
type: application
|
||||||
|
urls:
|
||||||
|
- assets/dynatrace/dynatrace-operator-0.8.2.tgz
|
||||||
|
version: 0.8.2
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/certified: partner
|
catalog.cattle.io/certified: partner
|
||||||
catalog.cattle.io/display-name: Dynatrace Operator
|
catalog.cattle.io/display-name: Dynatrace Operator
|
||||||
|
|
Loading…
Reference in New Issue