rancher-partner-charts/charts/dynatrace-oneagent-operator/templates/Common/deployment-webhook.yaml

126 lines
3.9 KiB
YAML

# 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: {}