aboutsummaryrefslogtreecommitdiffstats
path: root/kud/deployment_infra/helm/sdewan_cnf/templates/deployment.yaml
blob: 90c81380dc87c68cd7374ad27454728b1ea37930 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#/*
# * Copyright 2021 Intel Corporation, Inc
# *
# * 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: {{ .Values.metadata.name }}
  namespace: {{ .Values.metadata.namespace }}
  labels:
    sdewanPurpose: {{ .Values.metadata.labels }}
spec:
  progressDeadlineSeconds: {{ .Values.spec.progressDeadlineSeconds }}
  replicas: {{ .Values.spec.replicas }}
  selector:
    matchLabels:
      sdewanPurpose: {{ .Values.metadata.labels }}
  strategy:
    rollingUpdate:
      maxSurge: {{ .Values.strategy.maxSurge }}
      maxUnavailable: {{ .Values.strategy.maxUnavailable }}
    type: RollingUpdate
  template:
    metadata:
      annotations:
        k8s.plugin.opnfv.org/nfn-network: |-
          { "type": "ovn4nfv", "interface": [
          {{- range .Values.nfn }} {{- with . }}
            {
              "defaultGateway": "{{- .defaultGateway -}}",
              "interface": "{{- .interface -}}",
              "ipAddress": "{{- .ipAddress -}}",
              "name": "{{- .name -}}"
            } {{- .separate -}}
            {{- end }} {{- end }}
          ]}
        k8s.v1.cni.cncf.io/networks: '[{ "name": "ovn-networkobj"}]'
      labels:
        sdewanPurpose: {{ .Values.metadata.labels }}
    spec:
      containers:
      - command:
        - /usr/bin/sudo
        - /bin/sh
        - /tmp/sdewan/entrypoint.sh
        image: {{ .Values.containers.image }}
        imagePullPolicy: {{ .Values.containers.imagePullPolicy }}
        name: {{ .Values.containers.name }}
        readinessProbe:
          failureThreshold: 5
          httpGet:
            path: /
            port: 80
            scheme: HTTP
          initialDelaySeconds: 5
          periodSeconds: 5
          successThreshold: 1
          timeoutSeconds: 1
        securityContext:
          privileged: true
          procMount: Default
        volumeMounts:
        - mountPath: /tmp/sdewan
          name: sdewan-sh
          readOnly: true
        - mountPath: /tmp/podinfo
          name: podinfo
          readOnly: true
      nodeSelector:
        {{ .Values.labelName }}: "{{ .Values.labelValue }}"
      restartPolicy: {{ .Values.restartPolicy }}
      volumes:
      - configMap:
          defaultMode: 420
          name: sdewan-sh
        name: sdewan-sh
      - name: podinfo
        downwardAPI:
          items:
            - path: "annotations"
              fieldRef:
                fieldPath: metadata.annotations