apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: kube-multus-ds
  namespace: kube-system
spec:
  template:
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: node-role.kubernetes.io/edge
                operator: DoesNotExist
              - key: multus.cluster.local/schedulable
                operator: NotIn
                values:
                - "false"
      initContainers:
      - name: install-multus-binary
        image: ghcr.io/k8snetworkplumbingwg/multus-cni:v4.0.2-thick
      - name: install-cni
        image: ghcr.io/siderolabs/install-cni:v1.7.0
        command:
        - /install-cni.sh
        securityContext:
          privileged: true
        volumeMounts:
        - mountPath: /host/opt/cni/bin
          mountPropagation: Bidirectional
          name: cnibin
      containers:
      - name: kube-multus
        image: ghcr.io/k8snetworkplumbingwg/multus-cni:v4.0.2-thick
        volumeMounts:
        - mountPath: /var/run/cilium
          name: cilium-run
          mountPropagation: Bidirectional
      volumes:
      - name: host-run-netns
        hostPath:
          path: /var/run/netns/
      - name: cilium-run
        hostPath:
          path: /var/run/cilium
