apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    deprecated.daemonset.template.generation: "1"
  creationTimestamp: "2024-12-11T23:21:38Z"
  generation: 1
  labels:
    app: submariner-gateway
    component: gateway
  managedFields:
  - apiVersion: apps/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:deprecated.daemonset.template.generation: {}
        f:labels:
          .: {}
          f:app: {}
          f:component: {}
        f:ownerReferences:
          .: {}
          k:{"uid":"664b97f0-21e4-4b46-b2f6-2dd3a747b13f"}: {}
      f:spec:
        f:revisionHistoryLimit: {}
        f:selector: {}
        f:template:
          f:metadata:
            f:labels:
              .: {}
              f:app: {}
          f:spec:
            f:affinity:
              .: {}
              f:podAntiAffinity:
                .: {}
                f:requiredDuringSchedulingIgnoredDuringExecution: {}
            f:containers:
              k:{"name":"submariner-gateway"}:
                .: {}
                f:env:
                  .: {}
                  k:{"name":"AIR_GAPPED_DEPLOYMENT"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"BROKER_K8S_APISERVER"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"BROKER_K8S_APISERVERTOKEN"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"BROKER_K8S_CA"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"BROKER_K8S_INSECURE"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"BROKER_K8S_REMOTENAMESPACE"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"BROKER_K8S_SECRET"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"CE_IPSEC_DEBUG"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"CE_IPSEC_FORCEENCAPS"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"CE_IPSEC_NATTPORT"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"CE_IPSEC_PREFERREDSERVER"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"CE_IPSEC_PSK"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"CE_IPSEC_PSKSECRET"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"NODE_NAME"}:
                    .: {}
                    f:name: {}
                    f:valueFrom:
                      .: {}
                      f:fieldRef: {}
                  k:{"name":"POD_NAME"}:
                    .: {}
                    f:name: {}
                    f:valueFrom:
                      .: {}
                      f:fieldRef: {}
                  k:{"name":"SUBMARINER_BROKER"}:
                    .: {}
                    f:name: {}
                  k:{"name":"SUBMARINER_CABLEDRIVER"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_CLUSTERCIDR"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_CLUSTERID"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_COLORCODES"}:
                    .: {}
                    f:name: {}
                  k:{"name":"SUBMARINER_DEBUG"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_GLOBALCIDR"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_HALT_ON_CERT_ERROR"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_HEALTHCHECKENABLED"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_HEALTHCHECKINTERVAL"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_HEALTHCHECKMAXPACKETLOSSCOUNT"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_METRICSPORT"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_NAMESPACE"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_NATENABLED"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"SUBMARINER_SERVICECIDR"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                f:image: {}
                f:imagePullPolicy: {}
                f:name: {}
                f:ports:
                  .: {}
                  k:{"containerPort":4490,"protocol":"UDP"}:
                    .: {}
                    f:containerPort: {}
                    f:hostPort: {}
                    f:name: {}
                    f:protocol: {}
                  k:{"containerPort":4500,"protocol":"UDP"}:
                    .: {}
                    f:containerPort: {}
                    f:hostPort: {}
                    f:name: {}
                    f:protocol: {}
                f:resources: {}
                f:securityContext:
                  .: {}
                  f:allowPrivilegeEscalation: {}
                  f:capabilities:
                    .: {}
                    f:add: {}
                    f:drop: {}
                  f:privileged: {}
                  f:readOnlyRootFilesystem: {}
                  f:runAsNonRoot: {}
                f:terminationMessagePath: {}
                f:terminationMessagePolicy: {}
                f:volumeMounts:
                  .: {}
                  k:{"mountPath":"/etc/ipsec.d"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                  k:{"mountPath":"/lib/modules"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                    f:readOnly: {}
                  k:{"mountPath":"/run/secrets/submariner.io/submariner-broker-secret"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                    f:readOnly: {}
                  k:{"mountPath":"/var/lib/ipsec/nss"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                  k:{"mountPath":"/var/run/secrets/submariner.io/submariner-ipsec-psk"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                    f:readOnly: {}
            f:dnsPolicy: {}
            f:hostNetwork: {}
            f:nodeSelector: {}
            f:restartPolicy: {}
            f:schedulerName: {}
            f:securityContext: {}
            f:serviceAccount: {}
            f:serviceAccountName: {}
            f:terminationGracePeriodSeconds: {}
            f:tolerations: {}
            f:volumes:
              .: {}
              k:{"name":"brokersecret"}:
                .: {}
                f:name: {}
                f:secret:
                  .: {}
                  f:defaultMode: {}
                  f:secretName: {}
              k:{"name":"ipsecd"}:
                .: {}
                f:emptyDir: {}
                f:name: {}
              k:{"name":"ipsecnss"}:
                .: {}
                f:emptyDir: {}
                f:name: {}
              k:{"name":"libmodules"}:
                .: {}
                f:hostPath:
                  .: {}
                  f:path: {}
                  f:type: {}
                f:name: {}
              k:{"name":"psksecret"}:
                .: {}
                f:name: {}
                f:secret:
                  .: {}
                  f:defaultMode: {}
                  f:secretName: {}
        f:updateStrategy:
          f:rollingUpdate:
            .: {}
            f:maxSurge: {}
            f:maxUnavailable: {}
          f:type: {}
    manager: submariner-operator
    operation: Update
    time: "2024-12-11T23:21:38Z"
  - 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: "2025-02-14T13:33:26Z"
  name: submariner-gateway
  namespace: submariner-operator
  ownerReferences:
  - apiVersion: submariner.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Submariner
    name: submariner
    uid: 664b97f0-21e4-4b46-b2f6-2dd3a747b13f
  resourceVersion: "80074417"
  uid: 68ee5a7e-60d3-4169-a40a-04195df2f9e6
spec:
  revisionHistoryLimit: 5
  selector:
    matchLabels:
      app: submariner-gateway
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: submariner-gateway
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchLabels:
                app: submariner-gateway
            topologyKey: kubernetes.io/hostname
      containers:
      - env:
        - name: SUBMARINER_NAMESPACE
          value: submariner-operator
        - name: SUBMARINER_CLUSTERCIDR
          value: 10.254.0.0/16
        - name: SUBMARINER_SERVICECIDR
          value: 172.30.0.0/16
        - name: SUBMARINER_GLOBALCIDR
          value: 242.1.0.0/16
        - name: SUBMARINER_CLUSTERID
          value: rdr-blue-site-svl-2
        - name: SUBMARINER_COLORCODES
        - name: SUBMARINER_DEBUG
          value: "false"
        - name: SUBMARINER_NATENABLED
          value: "true"
        - name: AIR_GAPPED_DEPLOYMENT
          value: "false"
        - name: SUBMARINER_BROKER
        - name: SUBMARINER_CABLEDRIVER
          value: libreswan
        - name: BROKER_K8S_APISERVER
          value: ##redacted-api-server##
        - name: BROKER_K8S_APISERVERTOKEN
          value: ##redacted-token##
        - name: BROKER_K8S_REMOTENAMESPACE
          value: submariner-k8s-broker
        - name: BROKER_K8S_CA
          value: ##redacted-ca##
        - name: BROKER_K8S_INSECURE
          value: "false"
        - name: BROKER_K8S_SECRET
          value: submariner-broker-secret
        - name: CE_IPSEC_PSK
          value: ##redacted-ipsec-psk##
        - name: CE_IPSEC_PSKSECRET
          value: submariner-ipsec-psk
        - name: CE_IPSEC_DEBUG
          value: "false"
        - name: SUBMARINER_HEALTHCHECKENABLED
          value: "true"
        - name: SUBMARINER_HEALTHCHECKINTERVAL
          value: "1"
        - name: SUBMARINER_HEALTHCHECKMAXPACKETLOSSCOUNT
          value: "5"
        - name: SUBMARINER_METRICSPORT
          value: "32780"
        - name: SUBMARINER_HALT_ON_CERT_ERROR
          value: "false"
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: CE_IPSEC_NATTPORT
          value: "4500"
        - name: CE_IPSEC_PREFERREDSERVER
          value: "false"
        - name: CE_IPSEC_FORCEENCAPS
          value: "false"
        image: quay.io/submariner/submariner-gateway:0.19.0
        imagePullPolicy: IfNotPresent
        name: submariner-gateway
        ports:
        - containerPort: 4500
          hostPort: 4500
          name: cable-encaps
          protocol: UDP
        - containerPort: 4490
          hostPort: 4490
          name: natt-discovery
          protocol: UDP
        resources: {}
        securityContext:
          allowPrivilegeEscalation: true
          capabilities:
            add:
            - net_admin
            drop:
            - all
          privileged: true
          readOnlyRootFilesystem: false
          runAsNonRoot: false
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /etc/ipsec.d
          name: ipsecd
        - mountPath: /var/lib/ipsec/nss
          name: ipsecnss
        - mountPath: /lib/modules
          name: libmodules
          readOnly: true
        - mountPath: /run/secrets/submariner.io/submariner-broker-secret
          name: brokersecret
          readOnly: true
        - mountPath: /var/run/secrets/submariner.io/submariner-ipsec-psk
          name: psksecret
          readOnly: true
      dnsPolicy: ClusterFirstWithHostNet
      hostNetwork: true
      nodeSelector:
        submariner.io/gateway: "true"
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: submariner-gateway
      serviceAccountName: submariner-gateway
      terminationGracePeriodSeconds: 1
      tolerations:
      - operator: Exists
      volumes:
      - emptyDir: {}
        name: ipsecd
      - emptyDir: {}
        name: ipsecnss
      - hostPath:
          path: /lib/modules
          type: DirectoryOrCreate
        name: libmodules
      - name: brokersecret
        secret:
          defaultMode: 420
          secretName: submariner-broker-secret
      - name: psksecret
        secret:
          defaultMode: 420
          secretName: submariner-ipsec-psk
  updateStrategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
    type: RollingUpdate
status:
  currentNumberScheduled: 1
  desiredNumberScheduled: 1
  numberAvailable: 1
  numberMisscheduled: 0
  numberReady: 1
  observedGeneration: 1
  updatedNumberScheduled: 1
