123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- {
- "kind": "Template",
- "apiVersion": "v1",
- "metadata": {
- "name": "mariadb-ephemeral",
- "annotations": {
- "openshift.io/display-name": "MariaDB (Ephemeral)",
- "description": "MariaDB database service, without persistent storage. For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mariadb-container/blob/master/10.1/README.md.\n\nWARNING: Any data stored will be lost upon pod destruction. Only use this template for testing",
- "iconClass": "icon-mariadb",
- "tags": "database,mariadb"
- }
- },
- "message": "The following service(s) have been created in your project: ${DATABASE_SERVICE_NAME}.\n\n Username: ${MYSQL_USER}\n Password: ${MYSQL_PASSWORD}\n Database Name: ${MYSQL_DATABASE}\n Connection URL: mysql://${DATABASE_SERVICE_NAME}:3306/\n\nFor more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mariadb-container/blob/master/10.1/README.md.",
- "labels": {
- "template": "mariadb-persistent-template"
- },
- "objects": [
- {
- "kind": "Secret",
- "apiVersion": "v1",
- "metadata": {
- "name": "${DATABASE_SERVICE_NAME}"
- },
- "stringData" : {
- "database-user" : "${MYSQL_USER}",
- "database-password" : "${MYSQL_PASSWORD}",
- "database-root-password" : "${MYSQL_ROOT_PASSWORD}"
- }
- },
- {
- "kind": "Service",
- "apiVersion": "v1",
- "metadata": {
- "name": "${DATABASE_SERVICE_NAME}"
- },
- "spec": {
- "ports": [
- {
- "name": "mariadb",
- "port": 3306
- }
- ],
- "selector": {
- "name": "${DATABASE_SERVICE_NAME}"
- }
- }
- },
- {
- "kind": "DeploymentConfig",
- "apiVersion": "v1",
- "metadata": {
- "name": "${DATABASE_SERVICE_NAME}"
- },
- "spec": {
- "strategy": {
- "type": "Recreate"
- },
- "triggers": [
- {
- "type": "ImageChange",
- "imageChangeParams": {
- "automatic": true,
- "containerNames": [
- "mariadb"
- ],
- "from": {
- "kind": "ImageStreamTag",
- "name": "mariadb:10.1",
- "namespace": "${NAMESPACE}"
- }
- }
- },
- {
- "type": "ConfigChange"
- }
- ],
- "replicas": 1,
- "selector": {
- "name": "${DATABASE_SERVICE_NAME}"
- },
- "template": {
- "metadata": {
- "labels": {
- "name": "${DATABASE_SERVICE_NAME}"
- }
- },
- "spec": {
- "containers": [
- {
- "name": "mariadb",
- "image": " ",
- "ports": [
- {
- "containerPort": 3306
- }
- ],
- "readinessProbe": {
- "timeoutSeconds": 1,
- "initialDelaySeconds": 5,
- "exec": {
- "command": [ "/bin/sh", "-i", "-c",
- "MYSQL_PWD=\"$MYSQL_PASSWORD\" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'"]
- }
- },
- "livenessProbe": {
- "timeoutSeconds": 1,
- "initialDelaySeconds": 30,
- "tcpSocket": {
- "port": 3306
- }
- },
- "env": [
- {
- "name": "MYSQL_USER",
- "valueFrom": {
- "secretKeyRef" : {
- "name" : "${DATABASE_SERVICE_NAME}",
- "key" : "database-user"
- }
- }
- },
- {
- "name": "MYSQL_PASSWORD",
- "valueFrom": {
- "secretKeyRef" : {
- "name" : "${DATABASE_SERVICE_NAME}",
- "key" : "database-password"
- }
- }
- },
- {
- "name": "MYSQL_ROOT_PASSWORD",
- "valueFrom": {
- "secretKeyRef" : {
- "name" : "${DATABASE_SERVICE_NAME}",
- "key" : "database-root-password"
- }
- }
- },
- {
- "name": "MYSQL_DATABASE",
- "value": "${MYSQL_DATABASE}"
- }
- ],
- "resources": {
- "limits": {
- "memory": "${MEMORY_LIMIT}"
- }
- },
- "volumeMounts": [
- {
- "name": "${DATABASE_SERVICE_NAME}-data",
- "mountPath": "/var/lib/mysql/data"
- }
- ],
- "imagePullPolicy": "IfNotPresent"
- }
- ],
- "volumes": [
- {
- "name": "${DATABASE_SERVICE_NAME}-data",
- "emptyDir": {
- "medium": ""
- }
- }
- ]
- }
- }
- }
- }
- ],
- "parameters": [
- {
- "name": "MEMORY_LIMIT",
- "displayName": "Memory Limit",
- "description": "Maximum amount of memory the container can use.",
- "value": "512Mi",
- "required": true
- },
- {
- "name": "NAMESPACE",
- "displayName": "Namespace",
- "description": "The OpenShift Namespace where the ImageStream resides.",
- "value": "openshift"
- },
- {
- "name": "DATABASE_SERVICE_NAME",
- "displayName": "Database Service Name",
- "description": "The name of the OpenShift Service exposed for the database.",
- "value": "mariadb",
- "required": true
- },
- {
- "name": "MYSQL_USER",
- "displayName": "MariaDB Connection Username",
- "description": "Username for MariaDB user that will be used for accessing the database.",
- "generate": "expression",
- "from": "user[A-Z0-9]{3}",
- "required": true
- },
- {
- "name": "MYSQL_PASSWORD",
- "displayName": "MariaDB Connection Password",
- "description": "Password for the MariaDB connection user.",
- "generate": "expression",
- "from": "[a-zA-Z0-9]{16}",
- "required": true
- },
- {
- "name": "MYSQL_ROOT_PASSWORD",
- "displayName": "MariaDB root Password",
- "description": "Password for the MariaDB root user.",
- "generate": "expression",
- "from": "[a-zA-Z0-9]{16}",
- "required": true
- },
- {
- "name": "MYSQL_DATABASE",
- "displayName": "MariaDB Database Name",
- "description": "Name of the MariaDB database accessed.",
- "value": "sampledb",
- "required": true
- }
- ]
- }
|