--- apiVersion: template.openshift.io/v1 kind: Template labels: app.openshift.io/runtime: mariadb template: mariadb-persistent-template message: |- The following service(s) have been created in your project: ${DATABASE_SERVICE_NAME}. Username: ${MYSQL_USER} Password: ${MYSQL_PASSWORD} Database Name: ${MYSQL_DATABASE} Connection URL: mysql://${DATABASE_SERVICE_NAME}:3306/ For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mariadb-container/blob/master/10.3/root/usr/share/container-scripts/mysql/README.md. metadata: annotations: description: |- MariaDB database service, with persistent storage. For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mariadb-container/blob/master/10.3/root/usr/share/container-scripts/mysql/README.md. NOTE: Scaling to more than one replica is not supported. You must have persistent volumes available in your cluster to use this template. iconClass: icon-mariadb openshift.io/display-name: MariaDB openshift.io/documentation-url: https://github.com/sclorg/mariadb-container/blob/master/10.3/root/usr/share/container-scripts/mysql/README.md openshift.io/long-description: This template provides a standalone MariaDB server with a database created. The database is stored on persistent storage. The database name, username, and password are chosen via parameters when provisioning this service. openshift.io/provider-display-name: Red Hat, Inc. openshift.io/support-url: https://access.redhat.com samples.operator.openshift.io/version: 4.18.25 tags: database,mariadb creationTimestamp: "2025-10-11T10:37:44Z" labels: samples.operator.openshift.io/managed: "true" managedFields: - apiVersion: template.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:labels: .: {} f:app.openshift.io/runtime: {} f:template: {} f:message: {} f:metadata: f:annotations: .: {} f:description: {} f:iconClass: {} f:openshift.io/display-name: {} f:openshift.io/documentation-url: {} f:openshift.io/long-description: {} f:openshift.io/provider-display-name: {} f:openshift.io/support-url: {} f:samples.operator.openshift.io/version: {} f:tags: {} f:labels: .: {} f:samples.operator.openshift.io/managed: {} f:objects: {} f:parameters: {} manager: cluster-samples-operator operation: Update time: "2025-10-11T10:37:44Z" name: mariadb-persistent namespace: openshift resourceVersion: "17408" uid: cdcefe29-4187-41eb-9a04-2db50125b887 objects: - apiVersion: v1 kind: Secret metadata: annotations: template.openshift.io/expose-database_name: '{.data[''database-name'']}' template.openshift.io/expose-password: '{.data[''database-password'']}' template.openshift.io/expose-root_password: '{.data[''database-root-password'']}' template.openshift.io/expose-username: '{.data[''database-user'']}' name: ${DATABASE_SERVICE_NAME} stringData: database-name: ${MYSQL_DATABASE} database-password: ${MYSQL_PASSWORD} database-root-password: ${MYSQL_ROOT_PASSWORD} database-user: ${MYSQL_USER} - apiVersion: v1 kind: Service metadata: annotations: template.openshift.io/expose-uri: mysql://{.spec.clusterIP}:{.spec.ports[?(.name=="mariadb")].port} name: ${DATABASE_SERVICE_NAME} spec: ports: - name: mariadb port: 3306 selector: name: ${DATABASE_SERVICE_NAME} - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ${DATABASE_SERVICE_NAME} spec: accessModes: - ReadWriteOnce resources: requests: storage: ${VOLUME_CAPACITY} - apiVersion: apps.openshift.io/v1 kind: DeploymentConfig metadata: annotations: template.alpha.openshift.io/wait-for-ready: "true" name: ${DATABASE_SERVICE_NAME} spec: replicas: 1 selector: name: ${DATABASE_SERVICE_NAME} strategy: type: Recreate template: metadata: labels: name: ${DATABASE_SERVICE_NAME} spec: containers: - env: - name: MYSQL_USER valueFrom: secretKeyRef: key: database-user name: ${DATABASE_SERVICE_NAME} - name: MYSQL_PASSWORD valueFrom: secretKeyRef: key: database-password name: ${DATABASE_SERVICE_NAME} - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: key: database-root-password name: ${DATABASE_SERVICE_NAME} - name: MYSQL_DATABASE valueFrom: secretKeyRef: key: database-name name: ${DATABASE_SERVICE_NAME} image: ' ' imagePullPolicy: IfNotPresent livenessProbe: exec: command: - /bin/sh - -i - -c - MYSQL_PWD="$MYSQL_PASSWORD" mysqladmin -u $MYSQL_USER ping initialDelaySeconds: 30 timeoutSeconds: 1 name: mariadb ports: - containerPort: 3306 readinessProbe: exec: command: - /bin/sh - -i - -c - MYSQL_PWD="$MYSQL_PASSWORD" mysqladmin -u $MYSQL_USER ping initialDelaySeconds: 5 timeoutSeconds: 1 resources: limits: memory: ${MEMORY_LIMIT} volumeMounts: - mountPath: /var/lib/mysql/data name: ${DATABASE_SERVICE_NAME}-data volumes: - name: ${DATABASE_SERVICE_NAME}-data persistentVolumeClaim: claimName: ${DATABASE_SERVICE_NAME} triggers: - imageChangeParams: automatic: true containerNames: - mariadb from: kind: ImageStreamTag name: mariadb:${MARIADB_VERSION} namespace: ${NAMESPACE} type: ImageChange - type: ConfigChange parameters: - description: Maximum amount of memory the container can use. displayName: Memory Limit name: MEMORY_LIMIT required: true value: 512Mi - description: The OpenShift Namespace where the ImageStream resides. displayName: Namespace name: NAMESPACE value: openshift - description: The name of the OpenShift Service exposed for the database. displayName: Database Service Name name: DATABASE_SERVICE_NAME required: true value: mariadb - description: Username for MariaDB user that will be used for accessing the database. displayName: MariaDB Connection Username from: user[A-Z0-9]{3} generate: expression name: MYSQL_USER required: true - description: Password for the MariaDB connection user. displayName: MariaDB Connection Password from: '[a-zA-Z0-9]{16}' generate: expression name: MYSQL_PASSWORD required: true - description: Password for the MariaDB root user. displayName: MariaDB root Password from: '[a-zA-Z0-9]{16}' generate: expression name: MYSQL_ROOT_PASSWORD required: true - description: Name of the MariaDB database accessed. displayName: MariaDB Database Name name: MYSQL_DATABASE required: true value: sampledb - description: Version of MariaDB image to be used (10.3-el7, 10.3-el8, or latest). displayName: Version of MariaDB Image name: MARIADB_VERSION required: true value: 10.3-el8 - description: Volume space available for data, e.g. 512Mi, 2Gi. displayName: Volume Capacity name: VOLUME_CAPACITY required: true value: 1Gi