apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2026-04-23T16:38:19Z"
  generateName: rabbitmq-keystone-server-
  labels:
    app.kubernetes.io/component: rabbitmq
    app.kubernetes.io/name: rabbitmq-keystone
    app.kubernetes.io/part-of: rabbitmq
    apps.kubernetes.io/pod-index: "0"
    controller-revision-hash: rabbitmq-keystone-server-58779b6844
    statefulset.kubernetes.io/pod-name: rabbitmq-keystone-server-0
  name: rabbitmq-keystone-server-0
  namespace: openstack
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: StatefulSet
    name: rabbitmq-keystone-server
    uid: ca46b74c-fa89-4c79-a518-2a1525d6832c
  resourceVersion: "4303"
  uid: 10059581-3c9e-407c-bcd7-60a037ebdd86
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: openstack-control-plane
            operator: In
            values:
            - enabled
  automountServiceAccountToken: true
  containers:
  - env:
    - name: MY_POD_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
    - name: MY_POD_NAMESPACE
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.namespace
    - name: K8S_SERVICE_NAME
      value: rabbitmq-keystone-nodes
    - name: RABBITMQ_ENABLED_PLUGINS_FILE
      value: /operator/enabled_plugins
    - name: RABBITMQ_USE_LONGNAME
      value: "true"
    - name: RABBITMQ_NODENAME
      value: rabbit@$(MY_POD_NAME).$(K8S_SERVICE_NAME).$(MY_POD_NAMESPACE)
    - name: K8S_HOSTNAME_SUFFIX
      value: .$(K8S_SERVICE_NAME).$(MY_POD_NAMESPACE)
    image: harbor.atmosphere.dev/docker.io/library/rabbitmq:4.1.4-management
    imagePullPolicy: IfNotPresent
    lifecycle:
      preStop:
        exec:
          command:
          - /bin/bash
          - -c
          - if [ ! -z "$(cat /etc/pod-info/skipPreStopChecks)" ]; then exit 0; fi;
            rabbitmq-upgrade await_online_quorum_plus_one -t 15 && rabbitmq-upgrade
            await_online_synchronized_mirror -t 15 || true && rabbitmq-upgrade drain
            -t 15
    name: rabbitmq
    ports:
    - containerPort: 4369
      name: epmd
      protocol: TCP
    - containerPort: 5672
      name: amqp
      protocol: TCP
    - containerPort: 15672
      name: management
      protocol: TCP
    - containerPort: 15692
      name: prometheus
      protocol: TCP
    readinessProbe:
      failureThreshold: 3
      initialDelaySeconds: 10
      periodSeconds: 10
      successThreshold: 1
      tcpSocket:
        port: amqp
      timeoutSeconds: 5
    resources:
      requests:
        cpu: 500m
        memory: 1Gi
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/lib/rabbitmq/
      name: rabbitmq-erlang-cookie
    - mountPath: /var/lib/rabbitmq/mnesia/
      name: persistence
    - mountPath: /operator
      name: rabbitmq-plugins
    - mountPath: /etc/rabbitmq/conf.d/10-operatorDefaults.conf
      name: rabbitmq-confd
      subPath: operatorDefaults.conf
    - mountPath: /etc/rabbitmq/conf.d/90-userDefinedConfiguration.conf
      name: rabbitmq-confd
      subPath: userDefinedConfiguration.conf
    - mountPath: /etc/pod-info/
      name: pod-info
    - mountPath: /etc/rabbitmq/conf.d/11-default_user.conf
      name: rabbitmq-confd
      subPath: default_user.conf
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-8ggzw
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  hostname: rabbitmq-keystone-server-0
  initContainers:
  - command:
    - sh
    - -c
    - cp /tmp/erlang-cookie-secret/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie
      && chmod 600 /var/lib/rabbitmq/.erlang.cookie ; cp /tmp/rabbitmq-plugins/enabled_plugins
      /operator/enabled_plugins ; echo '[default]' > /var/lib/rabbitmq/.rabbitmqadmin.conf
      && sed -e 's/default_user/username/' -e 's/default_pass/password/' /tmp/default_user.conf
      >> /var/lib/rabbitmq/.rabbitmqadmin.conf && chmod 600 /var/lib/rabbitmq/.rabbitmqadmin.conf
      ; sleep 0
    image: harbor.atmosphere.dev/docker.io/library/rabbitmq:4.1.4-management
    imagePullPolicy: IfNotPresent
    name: setup-container
    resources:
      limits:
        cpu: 20m
        memory: 64Mi
      requests:
        cpu: 20m
        memory: 64Mi
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /tmp/rabbitmq-plugins/
      name: plugins-conf
    - mountPath: /var/lib/rabbitmq/
      name: rabbitmq-erlang-cookie
    - mountPath: /tmp/erlang-cookie-secret/
      name: erlang-cookie-secret
    - mountPath: /operator
      name: rabbitmq-plugins
    - mountPath: /var/lib/rabbitmq/mnesia/
      name: persistence
    - mountPath: /tmp/default_user.conf
      name: rabbitmq-confd
      subPath: default_user.conf
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-8ggzw
      readOnly: true
  nodeName: instance
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext:
    fsGroup: 0
    runAsUser: 999
  serviceAccount: rabbitmq-keystone-server
  serviceAccountName: rabbitmq-keystone-server
  subdomain: rabbitmq-keystone-nodes
  terminationGracePeriodSeconds: 15
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  topologySpreadConstraints:
  - labelSelector:
      matchLabels:
        app.kubernetes.io/name: rabbitmq-keystone
    maxSkew: 1
    topologyKey: topology.kubernetes.io/zone
    whenUnsatisfiable: ScheduleAnyway
  volumes:
  - name: persistence
    persistentVolumeClaim:
      claimName: persistence-rabbitmq-keystone-server-0
  - configMap:
      defaultMode: 420
      name: rabbitmq-keystone-plugins-conf
    name: plugins-conf
  - name: rabbitmq-confd
    projected:
      defaultMode: 420
      sources:
      - configMap:
          items:
          - key: operatorDefaults.conf
            path: operatorDefaults.conf
          - key: userDefinedConfiguration.conf
            path: userDefinedConfiguration.conf
          name: rabbitmq-keystone-server-conf
      - secret:
          items:
          - key: default_user.conf
            path: default_user.conf
          name: rabbitmq-keystone-default-user
  - emptyDir: {}
    name: rabbitmq-erlang-cookie
  - name: erlang-cookie-secret
    secret:
      defaultMode: 420
      secretName: rabbitmq-keystone-erlang-cookie
  - emptyDir: {}
    name: rabbitmq-plugins
  - downwardAPI:
      defaultMode: 420
      items:
      - fieldRef:
          apiVersion: v1
          fieldPath: metadata.labels['skipPreStopChecks']
        path: skipPreStopChecks
    name: pod-info
  - name: kube-api-access-8ggzw
    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
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2026-04-23T16:38:32Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2026-04-23T16:38:45Z"
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2026-04-23T16:38:45Z"
    status: "True"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2026-04-23T16:38:24Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: containerd://d248de6854a2f5f8ab661d1aefb1815772649370b330e08999ed9012e5af8b82
    image: harbor.atmosphere.dev/docker.io/library/rabbitmq:4.1.4-management
    imageID: harbor.atmosphere.dev/docker.io/library/rabbitmq@sha256:294b01e1796a8acede4619f32a1c394fae1f8021e57986ea01aad38dc2a4f502
    lastState: {}
    name: rabbitmq
    ready: true
    restartCount: 0
    started: true
    state:
      running:
        startedAt: "2026-04-23T16:38:32Z"
  hostIP: 199.19.213.116
  initContainerStatuses:
  - containerID: containerd://8e4260f9993e1d215d20f089dc1acac5cba8a1827ee09d37117d59b405457e06
    image: harbor.atmosphere.dev/docker.io/library/rabbitmq:4.1.4-management
    imageID: harbor.atmosphere.dev/docker.io/library/rabbitmq@sha256:294b01e1796a8acede4619f32a1c394fae1f8021e57986ea01aad38dc2a4f502
    lastState: {}
    name: setup-container
    ready: true
    restartCount: 0
    started: false
    state:
      terminated:
        containerID: containerd://8e4260f9993e1d215d20f089dc1acac5cba8a1827ee09d37117d59b405457e06
        exitCode: 0
        finishedAt: "2026-04-23T16:38:31Z"
        reason: Completed
        startedAt: "2026-04-23T16:38:30Z"
  phase: Running
  podIP: 10.0.0.254
  podIPs:
  - ip: 10.0.0.254
  qosClass: Burstable
  startTime: "2026-04-23T16:38:24Z"
