apiVersion: v1
kind: Pod
metadata:
  annotations:
    checksum/config: c2fb208ca5690c195da871d9703d59e4ef9bb8c24438bba6e148e7e334781c7f
  creationTimestamp: "2026-04-08T10:56:11Z"
  generateName: loki-
  labels:
    app.kubernetes.io/component: single-binary
    app.kubernetes.io/instance: loki
    app.kubernetes.io/name: loki
    app.kubernetes.io/part-of: memberlist
    apps.kubernetes.io/pod-index: "0"
    controller-revision-hash: loki-b56489b49
    statefulset.kubernetes.io/pod-name: loki-0
  name: loki-0
  namespace: monitoring
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: StatefulSet
    name: loki
    uid: 3d50749f-f79e-4d90-8d67-b063c1599f34
  resourceVersion: "5294"
  uid: 6b8b571e-9869-44b9-a58c-ca7f58a54d64
spec:
  affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchLabels:
            app.kubernetes.io/component: single-binary
        topologyKey: kubernetes.io/hostname
  automountServiceAccountToken: true
  containers:
  - args:
    - -config.file=/etc/loki/config/config.yaml
    - -target=all
    image: harbor.atmosphere.dev/docker.io/grafana/loki:3.0.0
    imagePullPolicy: IfNotPresent
    name: loki
    ports:
    - containerPort: 3100
      name: http-metrics
      protocol: TCP
    - containerPort: 9095
      name: grpc
      protocol: TCP
    - containerPort: 7946
      name: http-memberlist
      protocol: TCP
    readinessProbe:
      failureThreshold: 3
      httpGet:
        path: /ready
        port: http-metrics
        scheme: HTTP
      initialDelaySeconds: 30
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
    resources: {}
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL
      readOnlyRootFilesystem: true
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /tmp
      name: tmp
    - mountPath: /etc/loki/config
      name: config
    - mountPath: /etc/loki/runtime-config
      name: runtime-config
    - mountPath: /var/loki
      name: storage
    - mountPath: /var/loki/rulestorage/fake
      name: rules
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-5k84f
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  hostname: loki-0
  nodeName: instance
  nodeSelector:
    openstack-control-plane: enabled
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext:
    fsGroup: 10001
    runAsGroup: 10001
    runAsNonRoot: true
    runAsUser: 10001
  serviceAccount: loki
  serviceAccountName: loki
  subdomain: loki-headless
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - name: storage
    persistentVolumeClaim:
      claimName: storage-loki-0
  - emptyDir: {}
    name: tmp
  - configMap:
      defaultMode: 420
      items:
      - key: config.yaml
        path: config.yaml
      name: loki
    name: config
  - configMap:
      defaultMode: 420
      name: loki-runtime
    name: runtime-config
  - configMap:
      defaultMode: 420
      name: loki-alerting-rules
    name: rules
  - name: kube-api-access-5k84f
    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-08T10:56:18Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2026-04-08T10:56:18Z"
    message: 'containers with unready status: [loki]'
    reason: ContainersNotReady
    status: "False"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2026-04-08T10:56:18Z"
    message: 'containers with unready status: [loki]'
    reason: ContainersNotReady
    status: "False"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2026-04-08T10:56:18Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: containerd://86362bb9dfd21060127b5a41d6e6ada3ccb6e326c3204a271287cdcc134ef6ff
    image: harbor.atmosphere.dev/docker.io/grafana/loki:3.0.0
    imageID: harbor.atmosphere.dev/docker.io/grafana/loki@sha256:757b5fadf816a1396f1fea598152947421fa49cb8b2db1ddd2a6e30fae003253
    lastState: {}
    name: loki
    ready: false
    restartCount: 0
    started: true
    state:
      running:
        startedAt: "2026-04-08T10:56:30Z"
  hostIP: 199.19.213.137
  phase: Running
  podIP: 10.0.0.138
  podIPs:
  - ip: 10.0.0.138
  qosClass: BestEffort
  startTime: "2026-04-08T10:56:18Z"
