169 lines
4.4 KiB
JSON
169 lines
4.4 KiB
JSON
{
|
|
"kind": "Template",
|
|
"apiVersion": "v1beta3",
|
|
"metadata": {
|
|
"name": "postgresql-ephemeral",
|
|
"creationTimestamp": null,
|
|
"annotations": {
|
|
"description": "PostgreSQL database service, without persistent storage. WARNING: Any data stored will be lost upon pod destruction. Only use this template for testing",
|
|
"iconClass": "icon-postgresql",
|
|
"tags": "database,postgresql"
|
|
}
|
|
},
|
|
"objects": [
|
|
{
|
|
"kind": "Service",
|
|
"apiVersion": "v1beta3",
|
|
"metadata": {
|
|
"name": "${DATABASE_SERVICE_NAME}",
|
|
"creationTimestamp": null
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "postgresql",
|
|
"protocol": "TCP",
|
|
"port": 5432,
|
|
"targetPort": 5432,
|
|
"nodePort": 0
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "${DATABASE_SERVICE_NAME}"
|
|
},
|
|
"portalIP": "",
|
|
"type": "ClusterIP",
|
|
"sessionAffinity": "None"
|
|
},
|
|
"status": {
|
|
"loadBalancer": {}
|
|
}
|
|
},
|
|
{
|
|
"kind": "DeploymentConfig",
|
|
"apiVersion": "v1beta3",
|
|
"metadata": {
|
|
"name": "${DATABASE_SERVICE_NAME}",
|
|
"creationTimestamp": null
|
|
},
|
|
"spec": {
|
|
"strategy": {
|
|
"type": "Recreate",
|
|
"resources": {}
|
|
},
|
|
"triggers": [
|
|
{
|
|
"type": "ImageChange",
|
|
"imageChangeParams": {
|
|
"automatic": true,
|
|
"containerNames": [
|
|
"postgresql"
|
|
],
|
|
"from": {
|
|
"kind": "ImageStreamTag",
|
|
"name": "postgresql:latest",
|
|
"namespace": "openshift"
|
|
},
|
|
"lastTriggeredImage": ""
|
|
}
|
|
},
|
|
{
|
|
"type": "ConfigChange"
|
|
}
|
|
],
|
|
"replicas": 1,
|
|
"selector": {
|
|
"name": "${DATABASE_SERVICE_NAME}"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"creationTimestamp": null,
|
|
"labels": {
|
|
"name": "${DATABASE_SERVICE_NAME}"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "postgresql",
|
|
"image": "postgresql",
|
|
"ports": [
|
|
{
|
|
"containerPort": 5432,
|
|
"protocol": "TCP"
|
|
}
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "POSTGRESQL_USER",
|
|
"value": "${POSTGRESQL_USER}"
|
|
},
|
|
{
|
|
"name": "POSTGRESQL_PASSWORD",
|
|
"value": "${POSTGRESQL_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "POSTGRESQL_DATABASE",
|
|
"value": "${POSTGRESQL_DATABASE}"
|
|
}
|
|
],
|
|
"resources": {},
|
|
"volumeMounts": [
|
|
{
|
|
"name": "${DATABASE_SERVICE_NAME}-data",
|
|
"mountPath": "/var/lib/pgsql/data"
|
|
}
|
|
],
|
|
"terminationMessagePath": "/dev/termination-log",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"capabilities": {},
|
|
"securityContext": {
|
|
"capabilities": {},
|
|
"privileged": false
|
|
}
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "${DATABASE_SERVICE_NAME}-data",
|
|
"emptyDir": {
|
|
"medium": ""
|
|
}
|
|
}
|
|
],
|
|
"restartPolicy": "Always",
|
|
"dnsPolicy": "ClusterFirst"
|
|
}
|
|
}
|
|
},
|
|
"status": {}
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "DATABASE_SERVICE_NAME",
|
|
"description": "Database service name",
|
|
"value": "postgresql"
|
|
},
|
|
{
|
|
"name": "POSTGRESQL_USER",
|
|
"description": "Username for PostgreSQL user that will be used for accessing the database",
|
|
"generate": "expression",
|
|
"from": "user[A-Z0-9]{3}"
|
|
},
|
|
{
|
|
"name": "POSTGRESQL_PASSWORD",
|
|
"description": "Password for the PostgreSQL user",
|
|
"generate": "expression",
|
|
"from": "[a-zA-Z0-9]{16}"
|
|
},
|
|
{
|
|
"name": "POSTGRESQL_DATABASE",
|
|
"description": "Database name",
|
|
"value": "sampledb"
|
|
}
|
|
],
|
|
"labels": {
|
|
"template": "postgresql-ephemeral-template"
|
|
}
|
|
}
|