apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    deprecated.daemonset.template.generation: "1"
  creationTimestamp: "2026-04-02T13:54:16Z"
  generation: 1
  labels:
    app: kubernetes-nmstate
    component: kubernetes-nmstate-handler
  name: nmstate-handler
  namespace: openshift-nmstate
  ownerReferences:
  - apiVersion: nmstate.io/v1
    blockOwnerDeletion: true
    controller: true
    kind: NMState
    name: nmstate
    uid: 210b2bef-7bdf-4bce-b8f4-ec7da2e5942a
  resourceVersion: "34383"
  uid: fd39f35f-d33a-44f1-8560-279e532afdb3
spec:
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      name: nmstate-handler
  template:
    metadata:
      annotations:
        description: kubernetes-nmstate-handler configures and presents node networking,
          reconciling declerative NNCP and reports with NNS and NNCE
      creationTimestamp: null
      labels:
        app: kubernetes-nmstate
        component: kubernetes-nmstate-handler
        name: nmstate-handler
    spec:
      affinity: {}
      containers:
      - args:
        - --zap-time-encoding=iso8601
        command:
        - manager
        env:
        - name: WATCH_NAMESPACE
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: COMPONENT
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['app.kubernetes.io/component']
        - name: PART_OF
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['app.kubernetes.io/part-of']
        - name: VERSION
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['app.kubernetes.io/version']
        - name: MANAGED_BY
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['app.kubernetes.io/managed-by']
        - name: OPERATOR_NAME
          value: nmstate
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: ENABLE_PROFILER
          value: "False"
        - name: PROFILER_PORT
          value: "6060"
        - name: NMSTATE_INSTANCE_NODE_LOCK_FILE
          value: /var/k8s_nmstate/handler_lock
        image: registry.redhat.io/openshift4/ose-kubernetes-nmstate-handler-rhel9@sha256:b1744b2b84d6e23d83f465f450d2621a86bfec595d64373438b2e7ce5331e82e
        imagePullPolicy: Always
        name: nmstate-handler
        readinessProbe:
          exec:
            command:
            - cat
            - /tmp/healthy
          failureThreshold: 3
          initialDelaySeconds: 5
          periodSeconds: 5
          successThreshold: 1
          timeoutSeconds: 1
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /run/dbus/system_bus_socket
          name: dbus-socket
        - mountPath: /var/k8s_nmstate
          name: nmstate-lock
        - mountPath: /run/openvswitch
          name: ovs-socket
      dnsPolicy: Default
      hostNetwork: true
      nodeSelector:
        kubernetes.io/arch: amd64
        kubernetes.io/os: linux
      priorityClassName: system-node-critical
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: nmstate-handler
      serviceAccountName: nmstate-handler
      terminationGracePeriodSeconds: 30
      tolerations:
      - operator: Exists
      volumes:
      - hostPath:
          path: /run/dbus/system_bus_socket
          type: Socket
        name: dbus-socket
      - hostPath:
          path: /var/k8s_nmstate
          type: ""
        name: nmstate-lock
      - hostPath:
          path: /run/openvswitch
          type: ""
        name: ovs-socket
  updateStrategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 10%
    type: RollingUpdate
status:
  currentNumberScheduled: 1
  desiredNumberScheduled: 1
  numberAvailable: 1
  numberMisscheduled: 0
  numberReady: 1
  observedGeneration: 1
  updatedNumberScheduled: 1
