apiVersion: apps/v1
kind: StatefulSet
metadata:
  creationTimestamp: "2026-04-06T12:16:37Z"
  generation: 1
  name: openstack-galera
  namespace: openstack
  ownerReferences:
  - apiVersion: mariadb.openstack.org/v1beta1
    blockOwnerDeletion: true
    controller: true
    kind: Galera
    name: openstack
    uid: 0c117e68-450f-467c-ae3b-e6e9139cc656
  resourceVersion: "43578"
  uid: 19008caf-3a93-41c2-b023-fdaf2e69d8d1
spec:
  persistentVolumeClaimRetentionPolicy:
    whenDeleted: Retain
    whenScaled: Retain
  podManagementPolicy: Parallel
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: galera
      cr: galera-openstack
      galera/name: openstack
      galera/namespace: openstack
      galera/uid: 0c117e68-450f-467c-ae3b-e6e9139cc656
      owner: mariadb-operator
      service: openstack-galera
  serviceName: openstack-galera
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: galera
        cr: galera-openstack
        galera/name: openstack
        galera/namespace: openstack
        galera/uid: 0c117e68-450f-467c-ae3b-e6e9139cc656
        owner: mariadb-operator
        service: openstack-galera
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: service
                  operator: In
                  values:
                  - openstack-galera
              topologyKey: kubernetes.io/hostname
            weight: 100
      containers:
      - command:
        - /usr/bin/dumb-init
        - --
        - /usr/local/bin/kolla_start
        env:
        - name: CR_CONFIG_HASH
          value: n75h94h68fh68bh96hb8h64h54ch76hb8h5bh5bdhbdh64ch5b9hf8h568h57bh77h5fbhbdhd6h7dhf4h59fh544h77h5bbh5bhb7h568h549q
        - name: KOLLA_CONFIG_STRATEGY
          value: COPY_ALWAYS
        image: 38.102.83.94:5001/podified-master-centos10/openstack-mariadb:watcher_latest
        imagePullPolicy: IfNotPresent
        lifecycle:
          preStop:
            exec:
              command:
              - /bin/bash
              - /var/lib/operator-scripts/mysql_shutdown.sh
        livenessProbe:
          exec:
            command:
            - /bin/bash
            - /var/lib/operator-scripts/mysql_probe.sh
            - liveness
          failureThreshold: 3
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        name: galera
        ports:
        - containerPort: 3306
          name: mysql
          protocol: TCP
        - containerPort: 4567
          name: galera
          protocol: TCP
        readinessProbe:
          exec:
            command:
            - /bin/bash
            - /var/lib/operator-scripts/mysql_probe.sh
            - readiness
          failureThreshold: 3
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources: {}
        startupProbe:
          exec:
            command:
            - /bin/bash
            - /var/lib/operator-scripts/mysql_probe.sh
            - startup
            - "240"
          failureThreshold: 1
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 250
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /var/lib/mysql
          name: mysql-db
          subPath: mysql
        - mountPath: /var/lib/config-data/default
          name: config-data-default
          readOnly: true
        - mountPath: /var/lib/config-data/generated
          name: config-data-generated
        - mountPath: /var/lib/operator-scripts
          name: operator-scripts
          readOnly: true
        - mountPath: /var/lib/kolla/config_files
          name: kolla-config
          readOnly: true
        - mountPath: /var/lib/config-data/tls/certs/galera.crt
          name: galera-tls-certs
          readOnly: true
          subPath: tls.crt
        - mountPath: /var/lib/config-data/tls/private/galera.key
          name: galera-tls-certs
          readOnly: true
          subPath: tls.key
        - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
          name: combined-ca-bundle
          readOnly: true
          subPath: tls-ca-bundle.pem
      dnsPolicy: ClusterFirst
      initContainers:
      - command:
        - bash
        - /var/lib/operator-scripts/mysql_bootstrap.sh
        env:
        - name: KOLLA_BOOTSTRAP
          value: "True"
        - name: KOLLA_CONFIG_STRATEGY
          value: COPY_ALWAYS
        image: 38.102.83.94:5001/podified-master-centos10/openstack-mariadb:watcher_latest
        imagePullPolicy: IfNotPresent
        name: mysql-bootstrap
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /var/lib/mysql
          name: mysql-db
          subPath: mysql
        - mountPath: /var/lib/config-data/default
          name: config-data-default
          readOnly: true
        - mountPath: /var/lib/config-data/generated
          name: config-data-generated
        - mountPath: /var/lib/operator-scripts
          name: operator-scripts
          readOnly: true
        - mountPath: /var/lib/kolla/config_files
          name: kolla-config
          readOnly: true
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: galera-openstack
      serviceAccountName: galera-openstack
      terminationGracePeriodSeconds: 30
      volumes:
      - configMap:
          defaultMode: 420
          items:
          - key: config.json
            path: config.json
          name: openstack-config-data
        name: kolla-config
      - emptyDir: {}
        name: config-data-generated
      - configMap:
          defaultMode: 420
          items:
          - key: galera.cnf.in
            path: galera.cnf.in
          - key: galera_custom.cnf.in
            path: galera_custom.cnf.in
          - key: galera_tls.cnf.in
            path: galera_tls.cnf.in
          name: openstack-config-data
        name: config-data-default
      - configMap:
          defaultMode: 420
          items:
          - key: mysql_bootstrap.sh
            path: mysql_bootstrap.sh
          - key: mysql_probe.sh
            path: mysql_probe.sh
          - key: mysql_shutdown.sh
            path: mysql_shutdown.sh
          - key: detect_last_commit.sh
            path: detect_last_commit.sh
          - key: detect_gcomm_and_start.sh
            path: detect_gcomm_and_start.sh
          - key: mysql_wsrep_notify.sh
            path: mysql_wsrep_notify.sh
          - key: mysql_root_auth.sh
            path: mysql_root_auth.sh
          name: openstack-scripts
        name: operator-scripts
      - name: galera-tls-certs
        secret:
          defaultMode: 256
          secretName: cert-galera-openstack-svc
      - name: combined-ca-bundle
        secret:
          defaultMode: 292
          secretName: combined-ca-bundle
  updateStrategy:
    rollingUpdate:
      partition: 0
    type: RollingUpdate
  volumeClaimTemplates:
  - apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      creationTimestamp: null
      labels:
        app: galera
        cr: galera-openstack
        galera/name: openstack
        galera/namespace: openstack
        galera/uid: 0c117e68-450f-467c-ae3b-e6e9139cc656
        owner: mariadb-operator
        service: openstack-galera
      name: mysql-db
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10G
      storageClassName: local-storage
      volumeMode: Filesystem
    status:
      phase: Pending
status:
  availableReplicas: 1
  collisionCount: 0
  currentReplicas: 1
  currentRevision: openstack-galera-576d776d65
  observedGeneration: 1
  readyReplicas: 1
  replicas: 1
  updateRevision: openstack-galera-576d776d65
  updatedReplicas: 1
