---
apiVersion: v1
kind: Pod
metadata:
  annotations:
    k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.130.0.37/23","fd02:0:0:3::25/64"],"mac_address":"0a:58:0a:82:00:25","gateway_ips":["10.130.0.1","fd02:0:0:3::1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.130.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.130.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.130.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.130.0.1"},{"dest":"fd02::/48","nextHop":"fd02:0:0:3::1"},{"dest":"fd03::/112","nextHop":"fd02:0:0:3::1"},{"dest":"fd69::5/128","nextHop":"fd02:0:0:3::1"},{"dest":"fd98::/64","nextHop":"fd02:0:0:3::1"}],"role":"primary"}}'
    k8s.v1.cni.cncf.io/network-status: |-
      [{
          "name": "ovn-kubernetes",
          "interface": "eth0",
          "ips": [
              "10.130.0.37",
              "fd02:0:0:3::25"
          ],
          "mac": "0a:58:0a:82:00:25",
          "default": true,
          "dns": {}
      }]
    openshift.io/required-scc: restricted-v2
    openshift.io/scc: restricted-v2
    seccomp.security.alpha.kubernetes.io/pod: runtime/default
  creationTimestamp: "2025-10-27T12:27:52Z"
  generateName: downloads-76cfc5c478-
  labels:
    app: console
    component: downloads
    pod-template-hash: 76cfc5c478
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          f:k8s.ovn.org/pod-networks: {}
    manager: cnvqe-070.lab.eng.tlv2.redhat.com
    operation: Update
    subresource: status
    time: "2025-10-27T12:27:52Z"
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:openshift.io/required-scc: {}
          f:target.workload.openshift.io/management: {}
        f:generateName: {}
        f:labels:
          .: {}
          f:app: {}
          f:component: {}
          f:pod-template-hash: {}
        f:ownerReferences:
          .: {}
          k:{"uid":"ec8f6ce5-e7c9-487c-ae2d-3d2e54c16335"}: {}
      f:spec:
        f:affinity:
          .: {}
          f:podAntiAffinity:
            .: {}
            f:requiredDuringSchedulingIgnoredDuringExecution: {}
        f:containers:
          k:{"name":"download-server"}:
            .: {}
            f:args: {}
            f:command: {}
            f:image: {}
            f:imagePullPolicy: {}
            f:livenessProbe:
              .: {}
              f:failureThreshold: {}
              f:httpGet:
                .: {}
                f:path: {}
                f:port: {}
                f:scheme: {}
              f:periodSeconds: {}
              f:successThreshold: {}
              f:timeoutSeconds: {}
            f:name: {}
            f:ports:
              .: {}
              k:{"containerPort":8080,"protocol":"TCP"}:
                .: {}
                f:containerPort: {}
                f:name: {}
                f:protocol: {}
            f:readinessProbe:
              .: {}
              f:failureThreshold: {}
              f:httpGet:
                .: {}
                f:path: {}
                f:port: {}
                f:scheme: {}
              f:periodSeconds: {}
              f:successThreshold: {}
              f:timeoutSeconds: {}
            f:resources:
              .: {}
              f:requests:
                .: {}
                f:cpu: {}
                f:memory: {}
            f:securityContext:
              .: {}
              f:allowPrivilegeEscalation: {}
              f:capabilities:
                .: {}
                f:drop: {}
              f:readOnlyRootFilesystem: {}
            f:terminationMessagePath: {}
            f:terminationMessagePolicy: {}
        f:dnsPolicy: {}
        f:enableServiceLinks: {}
        f:nodeSelector: {}
        f:priorityClassName: {}
        f:restartPolicy: {}
        f:schedulerName: {}
        f:securityContext:
          .: {}
          f:runAsNonRoot: {}
          f:seccompProfile:
            .: {}
            f:type: {}
        f:terminationGracePeriodSeconds: {}
        f:tolerations: {}
    manager: kube-controller-manager
    operation: Update
    time: "2025-10-27T12:27:52Z"
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          f:k8s.v1.cni.cncf.io/network-status: {}
    manager: multus-daemon
    operation: Update
    subresource: status
    time: "2025-10-27T12:27:56Z"
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:conditions:
          k:{"type":"ContainersReady"}:
            .: {}
            f:lastProbeTime: {}
            f:lastTransitionTime: {}
            f:status: {}
            f:type: {}
          k:{"type":"Initialized"}:
            .: {}
            f:lastProbeTime: {}
            f:lastTransitionTime: {}
            f:status: {}
            f:type: {}
          k:{"type":"PodReadyToStartContainers"}:
            .: {}
            f:lastProbeTime: {}
            f:lastTransitionTime: {}
            f:status: {}
            f:type: {}
          k:{"type":"Ready"}:
            .: {}
            f:lastProbeTime: {}
            f:lastTransitionTime: {}
            f:status: {}
            f:type: {}
        f:containerStatuses: {}
        f:hostIP: {}
        f:hostIPs: {}
        f:phase: {}
        f:podIP: {}
        f:podIPs:
          .: {}
          k:{"ip":"10.130.0.37"}:
            .: {}
            f:ip: {}
          k:{"ip":"fd02:0:0:3::25"}:
            .: {}
            f:ip: {}
        f:startTime: {}
    manager: kubelet
    operation: Update
    subresource: status
    time: "2025-10-27T12:28:08Z"
  name: downloads-76cfc5c478-kz4c9
  namespace: openshift-console
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicaSet
    name: downloads-76cfc5c478
    uid: ec8f6ce5-e7c9-487c-ae2d-3d2e54c16335
  resourceVersion: "45522"
  uid: 7ee8c644-dd8f-4f01-83a2-b93c1d61f247
spec:
  affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - key: component
            operator: In
            values:
            - downloads
        topologyKey: kubernetes.io/hostname
  containers:
  - args:
    - -c
    - "cat <<EOF >>/tmp/serve.py\nimport errno, http.server, os, re, signal, socket,
      sys, tarfile, tempfile, threading, time, zipfile\n\nsignal.signal(signal.SIGTERM,
      lambda signum, frame: sys.exit(0))\n\ndef write_index(path, message):\n  with
      open(path, 'wb') as f:\n    f.write('\\n'.join([\n      '<!doctype html>',\n
      \     '<html lang=\"en\">',\n      '<head>',\n      '  <meta charset=\"utf-8\">',\n
      \     '</head>',\n      '<body>',\n      '  {}'.format(message),\n      '</body>',\n
      \     '</html>',\n      '',\n    ]).encode('utf-8'))\n\n# Launch multiple listeners
      as threads\nclass Thread(threading.Thread):\n  def __init__(self, i, socket):\n
      \   threading.Thread.__init__(self)\n    self.i = i\n    self.socket = socket\n
      \   self.daemon = True\n    self.start()\n\n  def run(self):\n    server = http.server.SimpleHTTPRequestHandler\n
      \   server.server_version = \"OpenShift Downloads Server\"\n    server.sys_version
      = \"\"\n    httpd = http.server.HTTPServer(addr, server, False)\n\n    # Prevent
      the HTTP server from re-binding every handler.\n    # https://stackoverflow.com/questions/46210672/\n
      \   httpd.socket = self.socket\n    httpd.server_bind = self.server_close =
      lambda self: None\n\n    httpd.serve_forever()\n\ntemp_dir = tempfile.mkdtemp()\nprint('serving
      from {}'.format(temp_dir))\nos.chdir(temp_dir)\nfor arch in ['amd64', 'arm64',
      'ppc64le', 's390x']:\n  os.mkdir(arch)\ncontent = ['<a href=\"oc-license\">license</a>']\nos.symlink('/usr/share/openshift/LICENSE',
      'oc-license')\n\nfor arch, operating_system, path in [\n    ('amd64', 'linux',
      '/usr/share/openshift/linux_amd64/oc'),\n    ('amd64', 'mac', '/usr/share/openshift/mac/oc'),\n
      \   ('amd64', 'windows', '/usr/share/openshift/windows/oc.exe'),\n    ('arm64',
      'linux', '/usr/share/openshift/linux_arm64/oc'),\n    ('arm64', 'mac', '/usr/share/openshift/mac_arm64/oc'),\n
      \   ('ppc64le', 'linux', '/usr/share/openshift/linux_ppc64le/oc'),\n    ('s390x',
      'linux', '/usr/share/openshift/linux_s390x/oc'),\n    ]:\n  basename = os.path.basename(path)\n
      \ target_path = os.path.join(arch, operating_system, basename)\n  os.mkdir(os.path.join(arch,
      operating_system))\n  os.symlink(path, target_path)\n  base_root, _ = os.path.splitext(basename)\n
      \ archive_path_root = os.path.join(arch, operating_system, base_root)\n  with
      tarfile.open('{}.tar'.format(archive_path_root), 'w') as tar:\n    tar.add(path,
      basename)\n  with zipfile.ZipFile('{}.zip'.format(archive_path_root), 'w') as
      zip:\n    zip.write(path, basename)\n  content.append(\n    '<a href=\"{0}\">oc
      ({1} {2})</a> (<a href=\"{3}.tar\">tar</a> <a href=\"{3}.zip\">zip</a>)'.format(\n
      \     target_path, arch, operating_system, archive_path_root\n    )\n  )\n\nfor
      root, directories, filenames in os.walk(temp_dir):\n  root_link = os.path.relpath(temp_dir,
      os.path.join(root, 'child')).replace(os.path.sep, '/')\n  for directory in directories:\n
      \   write_index(\n      path=os.path.join(root, directory, 'index.html'),\n
      \     message='<p>Directory listings are disabled.  See <a href=\"{}\">here</a>
      for available content.</p>'.format(root_link),\n    )\n\nwrite_index(\n  path=os.path.join(temp_dir,
      'index.html'),\n  message='\\n'.join(\n    ['<ul>'] +\n    ['  <li>{}</li>'.format(entry)
      for entry in content] +\n    ['</ul>']\n  ),\n)\n\n# Create socket\n# IPv6 should
      handle IPv4 passively so long as it is not bound to a\n# specific address or
      set to IPv6_ONLY\n# https://stackoverflow.com/questions/25817848/python-3-does-http-server-support-ipv6\ntry:\n
      \ addr = ('::', 8080)\n  sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)\nexcept
      socket.error as err:\n  # errno.EAFNOSUPPORT is \"socket.error: [Errno 97] Address
      family not supported by protocol\"\n  # When IPv6 is disabled, socket will bind
      using IPv4.\n  if err.errno == errno.EAFNOSUPPORT:\n    addr = ('', 8080)\n
      \   sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n  else:\n    raise
      \   \nsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)\nsock.bind(addr)\nsock.listen(5)\n\n[Thread(i,
      socket=sock) for i in range(100)]\ntime.sleep(9e9)\nEOF\nexec python3 /tmp/serve.py\n"
    command:
    - /bin/sh
    image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:62d95d6217b7e6a431d433ca7c27b8e58483b442679b1123e67b8215db6d08ca
    imagePullPolicy: IfNotPresent
    livenessProbe:
      failureThreshold: 3
      httpGet:
        path: /
        port: 8080
        scheme: HTTP
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
    name: download-server
    ports:
    - containerPort: 8080
      name: http
      protocol: TCP
    readinessProbe:
      failureThreshold: 3
      httpGet:
        path: /
        port: 8080
        scheme: HTTP
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
    resources:
      requests:
        cpu: 10m
        memory: 50Mi
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL
      readOnlyRootFilesystem: false
      runAsUser: 1000700000
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: FallbackToLogsOnError
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-sl4vz
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  imagePullSecrets:
  - name: default-dockercfg-nwzfp
  nodeName: cnvqe-070.lab.eng.tlv2.redhat.com
  nodeSelector:
    kubernetes.io/os: linux
    node-role.kubernetes.io/master: ""
  preemptionPolicy: PreemptLowerPriority
  priority: 2000000000
  priorityClassName: system-cluster-critical
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext:
    fsGroup: 1000700000
    runAsNonRoot: true
    seLinuxOptions:
      level: s0:c26,c25
    seccompProfile:
      type: RuntimeDefault
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 0
  tolerations:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
    operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 120
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoSchedule
    key: node.kubernetes.io/memory-pressure
    operator: Exists
  volumes:
  - name: kube-api-access-sl4vz
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          expirationSeconds: 3607
          path: token
      - configMap:
          items:
          - key: ca.crt
            path: ca.crt
          name: kube-root-ca.crt
      - downwardAPI:
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
            path: namespace
      - configMap:
          items:
          - key: service-ca.crt
            path: service-ca.crt
          name: openshift-service-ca.crt
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2025-10-27T12:27:57Z"
    status: "True"
    type: PodReadyToStartContainers
  - lastProbeTime: null
    lastTransitionTime: "2025-10-27T12:27:52Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2025-10-27T12:28:08Z"
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2025-10-27T12:28:08Z"
    status: "True"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2025-10-27T12:27:52Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: cri-o://935a42b84c7599ce22f86f16349d67026c9f676dd8ef7385a7df072fbd60d504
    image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:62d95d6217b7e6a431d433ca7c27b8e58483b442679b1123e67b8215db6d08ca
    imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:62d95d6217b7e6a431d433ca7c27b8e58483b442679b1123e67b8215db6d08ca
    lastState: {}
    name: download-server
    ready: true
    restartCount: 0
    started: true
    state:
      running:
        startedAt: "2025-10-27T12:27:57Z"
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-sl4vz
      readOnly: true
      recursiveReadOnly: Disabled
  hostIP: 10.46.248.41
  hostIPs:
  - ip: 10.46.248.41
  - ip: 2620:52:0:2ef8::29
  phase: Running
  podIP: 10.130.0.37
  podIPs:
  - ip: 10.130.0.37
  - ip: fd02:0:0:3::25
  qosClass: Burstable
  startTime: "2025-10-27T12:27:52Z"
