
# Copyright 2020-present Open Networking Foundation
# SPDX-License-Identifier: Apache-2.0

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "dbuf.fullname" . }}
  labels:
    {{- include "dbuf.labels" . | nindent 4 }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      {{- include "dbuf.selectorLabels" . | nindent 6 }}
  template:
    metadata:
    {{- with .Values.podAnnotations }}
      annotations:
        {{- toYaml . | nindent 8 }}
    {{- end }}
      labels:
        {{- include "dbuf.selectorLabels" . | nindent 8 }}
    spec:
    {{- if hasKey .Values.image "pullSecrets" }}
      imagePullSecrets:
{{ toYaml .Values.image.pullSecrets | indent 8 }}
    {{- end }}
      securityContext:
        {{- toYaml .Values.podSecurityContext | nindent 8 }}
      containers:
        - name: {{ .Chart.Name }}
          securityContext:
            {{- toYaml .Values.securityContext | nindent 12 }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          command: [ "dbuf", {{ template "extraParams" .Values.extraParams }} ]
          resources:
            requests:
              intel.com/{{ .Values.sriovResourceName }}: '{{ .Values.sriovNICSize }}'
            limits:
              intel.com/{{ .Values.sriovResourceName }}: '{{ .Values.sriovNICSize }}'
          ports:
          - name: grpc
            containerPort: 10000
            protocol:  {{ .Values.service.grpc.protocol }}
          - name: exporter
            containerPort: 8080
            protocol: {{ .Values.service.stats.protocol }}
        # Push data plane address to ONOS via netcfgc
        # Add the static route for sr-iov interface
        - name: config
          image: curlimages/curl:7.75.0
          imagePullPolicy: IfNotPresent
          env:
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: ONOS_SERVER
              value: "{{ .Values.onos.server }}"
            - name: ONOS_PORT
              value: "{{ .Values.onos.port }}"
            - name: ONOS_USERNAME
              value: "{{ .Values.onos.username }}"
            - name: ONOS_PASSWORD
              value: "{{ .Values.onos.password }}"
            - name: GRPC_SERVICE_NAME
              value: {{ include "dbuf.fullname" . }}
            - name: GRPC_PORT
              value: "{{ .Values.service.grpc.port }}"
            - name: DP_INTERFACE
              value: "{{ .Values.dataplane.interface }}"
            - name: DP_PORT
              value: "{{ .Values.dataplane.port }}"
            - name: STATIC_ROUTES
              value: "{{ .Values.network.route }}"
          volumeMounts:
            - name: config-script
              mountPath: /tmp/config
              subPath: config
          command: ["sh", "-c", "/tmp/config"]
          securityContext:
            runAsUser: 0
            capabilities:
              add: ["NET_ADMIN"]
      {{- with .Values.nodeSelector }}
      nodeSelector:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.affinity }}
      affinity:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.tolerations }}
      tolerations:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      volumes:
        - name: config-script
          configMap:
            name: {{ include "dbuf.fullname" . }}
            defaultMode: 0755
