# Copyright (c) 2017 Intel Corporation
#
# 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:
    app: cmk-reconcile-ds-all
# Needed for k8s < 1.7
#  annotations:
#    "scheduler.alpha.kubernetes.io/tolerations": '[{"key":"cmk", "value":"true"}]'
  name: cmk-reconcile-ds-all
  namespace: cmk-namespace
spec:
  selector:
    matchLabels:
      app: cmk-reconcile-ds-all
  template:
    metadata:
      labels:
        app: cmk-reconcile-ds-all
    spec:
      serviceAccountName: cmk-serviceaccount
# Needed for k8s >= 1.7
#      tolerations:
#      - operator: "Exists"
      containers:
      - args:
        - "/cmk/cmk.py isolate --pool=infra /cmk/cmk.py -- reconcile --interval=$CMK_RECONCILE_SLEEP_TIME --publish"
        command:
        - "/bin/bash"
        - "-c"
        env:
        - name: CMK_RECONCILE_SLEEP_TIME
          # Change this to modify the sleep interval between consecutive
          # cmk reconcile runs. The value is specified in seconds.
          value: '60'
        - name: CMK_PROC_FS
          value: "/host/proc"
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        image: cmk:v1.5.1
        name: cmk-reconcile
        volumeMounts:
        - mountPath: "/host/proc"
          name: host-proc
          readOnly: true
        - mountPath: "/etc/cmk"
          name: cmk-conf-dir
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          capabilities:
            drop:
            - all
      volumes:
      - hostPath:
          path: "/proc"
        name: host-proc
      - hostPath:
          # Change this to modify the CMK config dir in the host file system.
          path: "/etc/cmk"
        name: cmk-conf-dir
