apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    deprecated.daemonset.template.generation: '1'
    meta.helm.sh/release-name: metallb
    meta.helm.sh/release-namespace: metallb-system
  creationTimestamp: '2026-09-19T17:01:27Z'
  generation: 1
  labels:
    app.kubernetes.io/component: speaker
    app.kubernetes.io/instance: metallb
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: metallb
    app.kubernetes.io/version: v0.16.1
    helm.sh/chart: metallb-0.16.1
  managedFields:
  - apiVersion: apps/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          f:meta.helm.sh/release-name: {}
          f:meta.helm.sh/release-namespace: {}
        f:labels:
          f:app.kubernetes.io/component: {}
          f:app.kubernetes.io/instance: {}
          f:app.kubernetes.io/managed-by: {}
          f:app.kubernetes.io/name: {}
          f:app.kubernetes.io/version: {}
          f:helm.sh/chart: {}
      f:spec:
        f:selector: {}
        f:template:
          f:metadata:
            f:labels:
              f:app.kubernetes.io/component: {}
              f:app.kubernetes.io/instance: {}
              f:app.kubernetes.io/name: {}
          f:spec:
            f:containers:
              k:{"name":"speaker"}:
                .: {}
                f:args: {}
                f:env:
                  k:{"name":"METALLB_HOST"}:
                    .: {}
                    f:name: {}
                    f:valueFrom:
                      f:fieldRef: {}
                  k:{"name":"METALLB_ML_BIND_ADDR"}:
                    .: {}
                    f:name: {}
                    f:valueFrom:
                      f:fieldRef: {}
                  k:{"name":"METALLB_ML_BIND_PORT"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"METALLB_ML_LABELS"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"METALLB_ML_SECRET_KEY_PATH"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"METALLB_NODE_NAME"}:
                    .: {}
                    f:name: {}
                    f:valueFrom:
                      f:fieldRef: {}
                  k:{"name":"METALLB_POD_NAME"}:
                    .: {}
                    f:name: {}
                    f:valueFrom:
                      f:fieldRef: {}
                f:image: {}
                f:livenessProbe:
                  f:failureThreshold: {}
                  f:httpGet:
                    f:host: {}
                    f:path: {}
                    f:port: {}
                  f:initialDelaySeconds: {}
                  f:periodSeconds: {}
                  f:successThreshold: {}
                  f:timeoutSeconds: {}
                f:name: {}
                f:ports:
                  k:{"containerPort":7946,"protocol":"TCP"}:
                    .: {}
                    f:containerPort: {}
                    f:name: {}
                    f:protocol: {}
                  k:{"containerPort":7946,"protocol":"UDP"}:
                    .: {}
                    f:containerPort: {}
                    f:name: {}
                    f:protocol: {}
                  k:{"containerPort":9120,"protocol":"TCP"}:
                    .: {}
                    f:containerPort: {}
                    f:name: {}
                f:readinessProbe:
                  f:failureThreshold: {}
                  f:httpGet:
                    f:host: {}
                    f:path: {}
                    f:port: {}
                  f:initialDelaySeconds: {}
                  f:periodSeconds: {}
                  f:successThreshold: {}
                  f:timeoutSeconds: {}
                f:securityContext:
                  f:allowPrivilegeEscalation: {}
                  f:capabilities:
                    f:add: {}
                    f:drop: {}
                  f:readOnlyRootFilesystem: {}
                f:volumeMounts:
                  k:{"mountPath":"/etc/metallb"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                  k:{"mountPath":"/etc/metallb/memberlist"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                    f:readOnly: {}
                  k:{"mountPath":"/etc/ml_secret_key"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
            f:hostNetwork: {}
            f:nodeSelector: {}
            f:serviceAccountName: {}
            f:terminationGracePeriodSeconds: {}
            f:tolerations: {}
            f:volumes:
              k:{"name":"memberlist"}:
                .: {}
                f:name: {}
                f:secret:
                  f:defaultMode: {}
                  f:secretName: {}
              k:{"name":"memberlist-config"}:
                .: {}
                f:configMap:
                  f:name: {}
                  f:optional: {}
                f:name: {}
              k:{"name":"metallb-excludel2"}:
                .: {}
                f:configMap:
                  f:defaultMode: {}
                  f:name: {}
                f:name: {}
        f:updateStrategy:
          f:type: {}
    manager: helm
    operation: Apply
    time: '2026-09-19T17:01:27Z'
  - apiVersion: apps/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:currentNumberScheduled: {}
        f:desiredNumberScheduled: {}
        f:numberAvailable: {}
        f:numberReady: {}
        f:observedGeneration: {}
        f:updatedNumberScheduled: {}
    manager: kube-controller-manager
    operation: Update
    subresource: status
    time: '2026-09-19T17:01:42Z'
  name: metallb-speaker
  namespace: metallb-system
  resourceVersion: '173859'
  uid: 410369ba-a383-4d22-a908-7d953610b1e3
spec:
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
  template:
    metadata:
      labels:
        app.kubernetes.io/component: speaker
        app.kubernetes.io/instance: metallb
        app.kubernetes.io/name: metallb
    spec:
      containers:
      - args:
        - --port=9120
        - --log-level=info
        env:
        - name: METALLB_NODE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: METALLB_HOST
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: METALLB_ML_BIND_ADDR
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: METALLB_ML_LABELS
          value: app.kubernetes.io/name=metallb,app.kubernetes.io/component=speaker
        - name: METALLB_ML_BIND_PORT
          value: '7946'
        - name: METALLB_ML_SECRET_KEY_PATH
          value: /etc/ml_secret_key
        - name: METALLB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        image: quay.io/metallb/speaker:v0.16.1
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            host: 127.0.0.1
            path: /healthz
            port: 17472
            scheme: HTTP
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        name: speaker
        ports:
        - containerPort: 9120
          name: metricshttps
          protocol: TCP
        - containerPort: 7946
          name: memberlist-tcp
          protocol: TCP
        - containerPort: 7946
          name: memberlist-udp
          protocol: UDP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            host: 127.0.0.1
            path: /readyz
            port: 17472
            scheme: HTTP
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources: {}
        securityContext:
          allowPrivilegeEscalation: false
          capabilities:
            add:
            - NET_RAW
            drop:
            - ALL
          readOnlyRootFilesystem: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /etc/metallb/memberlist
          name: memberlist-config
          readOnly: true
        - mountPath: /etc/ml_secret_key
          name: memberlist
        - mountPath: /etc/metallb
          name: metallb-excludel2
      dnsPolicy: ClusterFirst
      hostNetwork: true
      nodeSelector:
        kubernetes.io/os: linux
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: metallb-speaker
      serviceAccountName: metallb-speaker
      terminationGracePeriodSeconds: 0
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master
        operator: Exists
      - effect: NoSchedule
        key: node-role.kubernetes.io/control-plane
        operator: Exists
      volumes:
      - name: memberlist
        secret:
          defaultMode: 420
          secretName: metallb-memberlist
      - configMap:
          defaultMode: 256
          name: metallb-excludel2
        name: metallb-excludel2
      - configMap:
          defaultMode: 420
          name: metallb-memberlist-config
          optional: true
        name: memberlist-config
  updateStrategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
    type: RollingUpdate
status:
  currentNumberScheduled: 5
  desiredNumberScheduled: 5
  numberAvailable: 5
  numberMisscheduled: 0
  numberReady: 5
  observedGeneration: 1
  updatedNumberScheduled: 5
