# Copyright 2019 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. {{- $platformIsSet := printf "%s" (required "Platform needs to be set to kubernetes or openshift" (include "dynatrace-oneagent-operator.platformSet" .))}} apiVersion: apps/v1 kind: Deployment metadata: name: dynatrace-oneagent-webhook namespace: {{ .Release.Namespace }} labels: dynatrace.com/operator: oneagent spec: replicas: 1 revisionHistoryLimit: 1 selector: matchLabels: internal.oneagent.dynatrace.com/component: webhook internal.oneagent.dynatrace.com/app: webhook strategy: type: Recreate template: metadata: labels: dynatrace.com/operator: oneagent internal.oneagent.dynatrace.com/component: webhook internal.oneagent.dynatrace.com/app: webhook spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: beta.kubernetes.io/arch operator: In values: - amd64 - arm64 - key: beta.kubernetes.io/os operator: In values: - linux - matchExpressions: - key: kubernetes.io/arch operator: In values: - amd64 - arm64 - key: kubernetes.io/os operator: In values: - linux containers: - name: webhook args: - webhook-server image: {{ include "dynatrace-oneagent-operator.image" . }} imagePullPolicy: Always env: - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name readinessProbe: httpGet: path: /healthz port: server-port scheme: HTTPS initialDelaySeconds: 15 periodSeconds: 10 ports: - name: server-port containerPort: 8443 resources: requests: cpu: 10m memory: 64Mi limits: cpu: 100m memory: 256Mi volumeMounts: - name: certs-volume mountPath: /mnt/webhook-certs - name: bootstrapper args: - webhook-bootstrapper image: {{ include "dynatrace-oneagent-operator.image" . }} imagePullPolicy: Always env: - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name resources: requests: cpu: 10m memory: 64Mi limits: cpu: 100m memory: 256Mi volumeMounts: - name: certs-volume mountPath: /mnt/webhook-certs serviceAccountName: dynatrace-oneagent-webhook volumes: - name: certs-volume emptyDir: {}