apiVersion: batch/v1
kind: CronJob
metadata:
  annotations:
    meta.helm.sh/release-name: heat
    meta.helm.sh/release-namespace: openstack
    openstackhelm.openstack.org/release_uuid: ""
  creationTimestamp: "2026-02-28T00:14:04Z"
  generation: 1
  labels:
    app.kubernetes.io/managed-by: Helm
  name: heat-engine-cleaner
  namespace: openstack
  resourceVersion: "35849"
  uid: bca2e7b5-1f10-4f76-843a-10523f0f7696
spec:
  concurrencyPolicy: Forbid
  failedJobsHistoryLimit: 1
  jobTemplate:
    metadata:
      creationTimestamp: null
      labels:
        application: heat
        component: engine-cleaner
        release_group: heat
    spec:
      template:
        metadata:
          annotations:
            configmap-bin-hash: 628162dda4db1a76da1eabedff6e45eb79db18f62852963456b9b0967f146607
            configmap-etc-hash: 34d42b05b115002d38da73a44668a1100c85d60d11690fd18630f3c95aa85985
            openstackhelm.openstack.org/release_uuid: ""
          creationTimestamp: null
          labels:
            application: heat
            component: engine-cleaner
            release_group: heat
        spec:
          containers:
          - command:
            - /tmp/heat-engine-cleaner.sh
            image: harbor.atmosphere.dev/ghcr.io/vexxhost/heat:main@sha256:3be2b3d1ab07714491f915307416d288783e484669a4b58a8fe3b7412b97044c
            imagePullPolicy: IfNotPresent
            name: heat-engine-cleaner
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              readOnlyRootFilesystem: true
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /tmp
              name: pod-tmp
            - mountPath: /tmp/heat-engine-cleaner.sh
              name: heat-bin
              readOnly: true
              subPath: heat-engine-cleaner.sh
            - mountPath: /etc/heat
              name: etcheat
            - mountPath: /etc/heat/heat.conf
              name: heat-etc
              readOnly: true
              subPath: heat.conf
          dnsPolicy: ClusterFirst
          initContainers:
          - command:
            - kubernetes-entrypoint
            env:
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: INTERFACE_NAME
              value: eth0
            - name: PATH
              value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
            - name: DEPENDENCY_SERVICE
              value: openstack:percona-xtradb-haproxy,openstack:rabbitmq-heat,openstack:keystone-api
            - name: DEPENDENCY_JOBS
              value: heat-db-sync,heat-ks-user,heat-domain-ks-user,heat-ks-endpoints
            - name: DEPENDENCY_DAEMONSET
            - name: DEPENDENCY_CONTAINER
            - name: DEPENDENCY_POD_JSON
            - name: DEPENDENCY_CUSTOM_RESOURCE
            image: harbor.atmosphere.dev/ghcr.io/vexxhost/kubernetes-entrypoint:edge
            imagePullPolicy: IfNotPresent
            name: init
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              readOnlyRootFilesystem: true
              runAsUser: 65534
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          nodeSelector:
            openstack-control-plane: enabled
          restartPolicy: OnFailure
          schedulerName: default-scheduler
          securityContext:
            runAsUser: 42424
          serviceAccount: heat-engine-cleaner
          serviceAccountName: heat-engine-cleaner
          terminationGracePeriodSeconds: 30
          volumes:
          - emptyDir: {}
            name: pod-tmp
          - emptyDir: {}
            name: etcheat
          - name: heat-etc
            secret:
              defaultMode: 292
              secretName: heat-etc
          - configMap:
              defaultMode: 365
              name: heat-bin
            name: heat-bin
  schedule: '*/5 * * * *'
  startingDeadlineSeconds: 600
  successfulJobsHistoryLimit: 3
  suspend: false
status:
  lastScheduleTime: "2026-02-28T00:55:00Z"
  lastSuccessfulTime: "2026-02-28T00:55:11Z"
