apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    deprecated.daemonset.template.generation: "1"
  creationTimestamp: "2026-04-26T05:46:51Z"
  generation: 1
  name: keepalived
  namespace: openstack
  resourceVersion: "21328"
  uid: 03282298-6047-4ab6-8169-119d8766055e
spec:
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      application: keepalived
  template:
    metadata:
      creationTimestamp: null
      labels:
        application: keepalived
    spec:
      automountServiceAccountToken: true
      containers:
      - command:
        - keepalived
        - -f
        - /etc/keepalived/keepalived.conf
        - --dont-fork
        - --log-console
        - --log-detail
        - --dump-conf
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/keepalived:latest@sha256:b794c04706ec6914fc3635e23c9d6a95351dec4c0d320eb83ae5a781b791e30d
        imagePullPolicy: Always
        name: keepalived
        resources: {}
        securityContext:
          allowPrivilegeEscalation: true
          capabilities:
            add:
            - NET_ADMIN
            - NET_BROADCAST
            - NET_RAW
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /etc/keepalived
          mountPropagation: None
          name: keepalived-etc
          readOnly: true
      dnsPolicy: ClusterFirst
      hostNetwork: true
      initContainers:
      - env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: DEPENDENCY_POD_JSON
          value: '[{"requireSameNode": true, "labels": {"application": "neutron",
            "component": "neutron-ovs-agent"}}]'
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/kubernetes-entrypoint:edge
        imagePullPolicy: IfNotPresent
        name: init
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      - command:
        - /bin/wait-for-ip.sh
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/keepalived:latest@sha256:b794c04706ec6914fc3635e23c9d6a95351dec4c0d320eb83ae5a781b791e30d
        imagePullPolicy: Always
        name: wait-for-ip
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /bin/wait-for-ip.sh
          mountPropagation: None
          name: keepalived-bin
          readOnly: true
          subPath: wait-for-ip.sh
      nodeSelector:
        openstack-control-plane: enabled
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: keepalived
      serviceAccountName: keepalived
      terminationGracePeriodSeconds: 30
      volumes:
      - name: keepalived-etc
        secret:
          defaultMode: 420
          optional: false
          secretName: keepalived-etc
      - configMap:
          defaultMode: 493
          name: keepalived-bin
          optional: false
        name: keepalived-bin
  updateStrategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
    type: RollingUpdate
status:
  currentNumberScheduled: 1
  desiredNumberScheduled: 1
  numberAvailable: 1
  numberMisscheduled: 0
  numberReady: 1
  observedGeneration: 1
  updatedNumberScheduled: 1
