---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app: fail2ban-prometheus-exporter
    app.kubernetes.io/instance: fail2ban-prometheus
    app.kubernetes.io/name: fail2ban-prometheus-exporter
  name: fail2ban-prometheus-exporter
  namespace: fail2ban-prometheus
spec:
  selector:
    matchLabels:
      app: fail2ban-prometheus-exporter
  template:
    metadata:
      labels:
        app: fail2ban-prometheus-exporter
        app.kubernetes.io/instance: fail2ban
        app.kubernetes.io/name: fail2ban-prometheus-exporter
    spec:
      containers:
      - env:
        - name: F2B_GEOIP_SERVICE
          value: fail2ban-geoip
        image: git.ar21.de/yolokube/fail2ban-prometheus-exporter:latest
        imagePullPolicy: IfNotPresent
        name: fail2ban-prometheus-exporter
        ports:
        - containerPort: 9191
          name: http-metrics
          protocol: TCP
        resources:
          limits:
            cpu: 1000m
            memory: 128Mi
          requests:
            cpu: 400m
            memory: 32Mi
        volumeMounts:
        - mountPath: /var/run/fail2ban/fail2ban.sock
          name: fail2ban
          readOnly: true
      serviceAccountName: fail2ban-prometheus-exporter-service-account
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master
        operator: Exists
      - effect: NoSchedule
        key: node-role.kubernetes.io/control-plane
        operator: Exists
      volumes:
      - hostPath:
          path: /var/run/fail2ban/fail2ban.sock
          type: ""
        name: fail2ban