update template's api version to v1beta3

This commit is contained in:
mdshuai 2015-06-17 13:53:49 +08:00
parent d96b83e580
commit 59e09b678e

View file

@ -1,122 +1,237 @@
{ {
"apiVersion": "v1beta1", "kind": "Template",
"items": [
{
"apiVersion": "v1beta3", "apiVersion": "v1beta3",
"kind": "Service",
"metadata": { "metadata": {
"name": "frontend" "name": "nodejs-helloworld-sample",
"creationTimestamp": null,
"annotations": {
"description": "This example shows how to create a simple nodejs application in openshift origin v3",
"iconClass": "icon-nodejs",
"tags": "instant-app,nodejs,mysql"
}
},
"objects": [
{
"kind": "Service",
"apiVersion": "v1beta3",
"metadata": {
"name": "frontend",
"creationTimestamp": null
}, },
"spec": { "spec": {
"ports": [ "ports": [
{ {
"name": "web", "name": "web",
"port": 8080,
"protocol": "TCP", "protocol": "TCP",
"targetPort": 8080 "port": 5432,
"targetPort": 8080,
"nodePort": 0
} }
], ],
"selector": { "selector": {
"name": "frontend" "name": "frontend"
} },
"portalIP": "",
"type": "ClusterIP",
"sessionAffinity": "None"
},
"status": {
"loadBalancer": {}
} }
}, },
{ {
"apiVersion": "v1beta1",
"host": "www.example.com",
"id": "sample-app-secure",
"kind": "Route", "kind": "Route",
"apiVersion": "v1beta3",
"metadata": { "metadata": {
"name": "route-edge" "name": "route-edge",
"creationTimestamp": null
},
"spec": {
"host": "www.example.com",
"to": {
"kind": "Service",
"name": "frontend"
}, },
"serviceName": "frontend",
"tls": { "tls": {
"caCertificate": "-----BEGIN CERTIFICATE-----\nMIIEFzCCAv+gAwIBAgIJALK1iUpF2VQLMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD\nVQQGEwJVUzELMAkGA1UECAwCU0MxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoG\nA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEQMA4GA1UECwwHVGVzdCBDQTEaMBgG\nA1UEAwwRd3d3LmV4YW1wbGVjYS5jb20xIjAgBgkqhkiG9w0BCQEWE2V4YW1wbGVA\nZXhhbXBsZS5jb20wHhcNMTUwMTEyMTQxNTAxWhcNMjUwMTA5MTQxNTAxWjCBoTEL\nMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkx\nHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0Ex\nGjAYBgNVBAMMEXd3dy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFt\ncGxlQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nw2rK1J2NMtQj0KDug7g7HRKl5jbf0QMkMKyTU1fBtZ0cCzvsF4CqV11LK4BSVWaK\nrzkaXe99IVJnH8KdOlDl5Dh/+cJ3xdkClSyeUT4zgb6CCBqg78ePp+nN11JKuJlV\nIG1qdJpB1J5O/kCLsGcTf7RS74MtqMFo96446Zvt7YaBhWPz6gDaO/TUzfrNcGLA\nEfHVXkvVWqb3gqXUztZyVex/gtP9FXQ7gxTvJml7UkmT0VAFjtZnCqmFxpLZFZ15\n+qP9O7Q2MpsGUO/4vDAuYrKBeg1ZdPSi8gwqUP2qWsGd9MIWRv3thI2903BczDc7\nr8WaIbm37vYZAS9G56E4+wIDAQABo1AwTjAdBgNVHQ4EFgQUugLrSJshOBk5TSsU\nANs4+SmJUGwwHwYDVR0jBBgwFoAUugLrSJshOBk5TSsUANs4+SmJUGwwDAYDVR0T\nBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaMJ33zAMV4korHo5aPfayV3uHoYZ\n1ChzP3eSsF+FjoscpoNSKs91ZXZF6LquzoNezbfiihK4PYqgwVD2+O0/Ty7UjN4S\nqzFKVR4OS/6lCJ8YncxoFpTntbvjgojf1DEataKFUN196PAANc3yz8cWHF4uvjPv\nWkgFqbIjb+7D1YgglNyovXkRDlRZl0LD1OQ0ZWhd4Ge1qx8mmmanoBeYZ9+DgpFC\nj9tQAbS867yeOryNe7sEOIpXAAqK/DTu0hB6+ySsDfMo4piXCc2aA/eI2DCuw08e\nw17Dz9WnupZjVdwTKzDhFgJZMLDqn37HQnT6EemLFqbcR0VPEnfyhDtZIQ==\n-----END CERTIFICATE-----", "termination": "edge",
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoTELMAkGA1UEBhMCVVMx\nCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0Rl\nZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0ExGjAYBgNVBAMMEXd3\ndy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlQGV4YW1wbGUu\nY29tMB4XDTE1MDExMjE0MTk0MVoXDTE2MDExMjE0MTk0MVowfDEYMBYGA1UEAwwP\nd3d3LmV4YW1wbGUuY29tMQswCQYDVQQIDAJTQzELMAkGA1UEBhMCVVMxIjAgBgkq\nhkiG9w0BCQEWE2V4YW1wbGVAZXhhbXBsZS5jb20xEDAOBgNVBAoMB0V4YW1wbGUx\nEDAOBgNVBAsMB0V4YW1wbGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMrv\ngu6ZTTefNN7jjiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm\n47VRx5Qrf/YLXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1M\nmNrQUgZyQC6XIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAGjDTALMAkGA1UdEwQC\nMAAwDQYJKoZIhvcNAQEFBQADggEBAFCi7ZlkMnESvzlZCvv82Pq6S46AAOTPXdFd\nTMvrh12E1sdVALF1P1oYFJzG1EiZ5ezOx88fEDTW+Lxb9anw5/KJzwtWcfsupf1m\nV7J0D3qKzw5C1wjzYHh9/Pz7B1D0KthQRATQCfNf8s6bbFLaw/dmiIUhHLtIH5Qc\nyfrejTZbOSP77z8NOWir+BWWgIDDB2//3AkDIQvT20vmkZRhkqSdT7et4NmXOX/j\njhPti4b2Fie0LeuvgaOdKjCpQQNrYthZHXeVlOLRhMTSk3qUczenkKTOhvP7IS9q\n+Dzv5hqgSfvMG392KWh5f8xXfJNs4W5KLbZyl901MeReiLrPH3w=\n-----END CERTIFICATE-----", "certificate": "-----BEGIN CERTIFICATE-----\nMIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoTELMAkGA1UEBhMCVVMx\nCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0Rl\nZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0ExGjAYBgNVBAMMEXd3\ndy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlQGV4YW1wbGUu\nY29tMB4XDTE1MDExMjE0MTk0MVoXDTE2MDExMjE0MTk0MVowfDEYMBYGA1UEAwwP\nd3d3LmV4YW1wbGUuY29tMQswCQYDVQQIDAJTQzELMAkGA1UEBhMCVVMxIjAgBgkq\nhkiG9w0BCQEWE2V4YW1wbGVAZXhhbXBsZS5jb20xEDAOBgNVBAoMB0V4YW1wbGUx\nEDAOBgNVBAsMB0V4YW1wbGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMrv\ngu6ZTTefNN7jjiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm\n47VRx5Qrf/YLXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1M\nmNrQUgZyQC6XIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAGjDTALMAkGA1UdEwQC\nMAAwDQYJKoZIhvcNAQEFBQADggEBAFCi7ZlkMnESvzlZCvv82Pq6S46AAOTPXdFd\nTMvrh12E1sdVALF1P1oYFJzG1EiZ5ezOx88fEDTW+Lxb9anw5/KJzwtWcfsupf1m\nV7J0D3qKzw5C1wjzYHh9/Pz7B1D0KthQRATQCfNf8s6bbFLaw/dmiIUhHLtIH5Qc\nyfrejTZbOSP77z8NOWir+BWWgIDDB2//3AkDIQvT20vmkZRhkqSdT7et4NmXOX/j\njhPti4b2Fie0LeuvgaOdKjCpQQNrYthZHXeVlOLRhMTSk3qUczenkKTOhvP7IS9q\n+Dzv5hqgSfvMG392KWh5f8xXfJNs4W5KLbZyl901MeReiLrPH3w=\n-----END CERTIFICATE-----",
"key": "-----BEGIN PRIVATE KEY-----\nMIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMrvgu6ZTTefNN7j\njiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm47VRx5Qrf/YL\nXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1MmNrQUgZyQC6X\nIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAECgYEAnxOjEj/vrLNLMZE1Q9H7PZVF\nWdP/JQVNvQ7tCpZ3ZdjxHwkvf//aQnuxS5yX2Rnf37BS/TZu+TIkK4373CfHomSx\nUTAn2FsLmOJljupgGcoeLx5K5nu7B7rY5L1NHvdpxZ4YjeISrRtEPvRakllENU5y\ngJE8c2eQOx08ZSRE4TkCQQD7dws2/FldqwdjJucYijsJVuUdoTqxP8gWL6bB251q\nelP2/a6W2elqOcWId28560jG9ZS3cuKvnmu/4LG88vZFAkEAzphrH3673oTsHN+d\nuBd5uyrlnGjWjuiMKv2TPITZcWBjB8nJDSvLneHF59MYwejNNEof2tRjgFSdImFH\nmi995wJBAMtPjW6wiqRz0i41VuT9ZgwACJBzOdvzQJfHgSD9qgFb1CU/J/hpSRIM\nkYvrXK9MbvQFvG6x4VuyT1W8mpe1LK0CQAo8VPpffhFdRpF7psXLK/XQ/0VLkG3O\nKburipLyBg/u9ZkaL0Ley5zL5dFBjTV2Qkx367Ic2b0u9AYTCcgi2DsCQQD3zZ7B\nv7BOm7MkylKokY2MduFFXU0Bxg6pfZ7q3rvg8gqhUFbaMStPRYg6myiDiW/JfLhF\nTcFT4touIo7oriFJ\n-----END PRIVATE KEY-----", "key": "-----BEGIN PRIVATE KEY-----\nMIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMrvgu6ZTTefNN7j\njiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm47VRx5Qrf/YL\nXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1MmNrQUgZyQC6X\nIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAECgYEAnxOjEj/vrLNLMZE1Q9H7PZVF\nWdP/JQVNvQ7tCpZ3ZdjxHwkvf//aQnuxS5yX2Rnf37BS/TZu+TIkK4373CfHomSx\nUTAn2FsLmOJljupgGcoeLx5K5nu7B7rY5L1NHvdpxZ4YjeISrRtEPvRakllENU5y\ngJE8c2eQOx08ZSRE4TkCQQD7dws2/FldqwdjJucYijsJVuUdoTqxP8gWL6bB251q\nelP2/a6W2elqOcWId28560jG9ZS3cuKvnmu/4LG88vZFAkEAzphrH3673oTsHN+d\nuBd5uyrlnGjWjuiMKv2TPITZcWBjB8nJDSvLneHF59MYwejNNEof2tRjgFSdImFH\nmi995wJBAMtPjW6wiqRz0i41VuT9ZgwACJBzOdvzQJfHgSD9qgFb1CU/J/hpSRIM\nkYvrXK9MbvQFvG6x4VuyT1W8mpe1LK0CQAo8VPpffhFdRpF7psXLK/XQ/0VLkG3O\nKburipLyBg/u9ZkaL0Ley5zL5dFBjTV2Qkx367Ic2b0u9AYTCcgi2DsCQQD3zZ7B\nv7BOm7MkylKokY2MduFFXU0Bxg6pfZ7q3rvg8gqhUFbaMStPRYg6myiDiW/JfLhF\nTcFT4touIo7oriFJ\n-----END PRIVATE KEY-----",
"termination": "edge" "caCertificate": "-----BEGIN CERTIFICATE-----\nMIIEFzCCAv+gAwIBAgIJALK1iUpF2VQLMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD\nVQQGEwJVUzELMAkGA1UECAwCU0MxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoG\nA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEQMA4GA1UECwwHVGVzdCBDQTEaMBgG\nA1UEAwwRd3d3LmV4YW1wbGVjYS5jb20xIjAgBgkqhkiG9w0BCQEWE2V4YW1wbGVA\nZXhhbXBsZS5jb20wHhcNMTUwMTEyMTQxNTAxWhcNMjUwMTA5MTQxNTAxWjCBoTEL\nMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkx\nHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0Ex\nGjAYBgNVBAMMEXd3dy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFt\ncGxlQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nw2rK1J2NMtQj0KDug7g7HRKl5jbf0QMkMKyTU1fBtZ0cCzvsF4CqV11LK4BSVWaK\nrzkaXe99IVJnH8KdOlDl5Dh/+cJ3xdkClSyeUT4zgb6CCBqg78ePp+nN11JKuJlV\nIG1qdJpB1J5O/kCLsGcTf7RS74MtqMFo96446Zvt7YaBhWPz6gDaO/TUzfrNcGLA\nEfHVXkvVWqb3gqXUztZyVex/gtP9FXQ7gxTvJml7UkmT0VAFjtZnCqmFxpLZFZ15\n+qP9O7Q2MpsGUO/4vDAuYrKBeg1ZdPSi8gwqUP2qWsGd9MIWRv3thI2903BczDc7\nr8WaIbm37vYZAS9G56E4+wIDAQABo1AwTjAdBgNVHQ4EFgQUugLrSJshOBk5TSsU\nANs4+SmJUGwwHwYDVR0jBBgwFoAUugLrSJshOBk5TSsUANs4+SmJUGwwDAYDVR0T\nBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaMJ33zAMV4korHo5aPfayV3uHoYZ\n1ChzP3eSsF+FjoscpoNSKs91ZXZF6LquzoNezbfiihK4PYqgwVD2+O0/Ty7UjN4S\nqzFKVR4OS/6lCJ8YncxoFpTntbvjgojf1DEataKFUN196PAANc3yz8cWHF4uvjPv\nWkgFqbIjb+7D1YgglNyovXkRDlRZl0LD1OQ0ZWhd4Ge1qx8mmmanoBeYZ9+DgpFC\nj9tQAbS867yeOryNe7sEOIpXAAqK/DTu0hB6+ySsDfMo4piXCc2aA/eI2DCuw08e\nw17Dz9WnupZjVdwTKzDhFgJZMLDqn37HQnT6EemLFqbcR0VPEnfyhDtZIQ==\n-----END CERTIFICATE-----"
}
},
"status": {}
},
{
"kind": "ImageStream",
"apiVersion": "v1beta3",
"metadata": {
"name": "origin-nodejs-sample",
"creationTimestamp": null
},
"spec": {},
"status": {
"dockerImageRepository": ""
} }
}, },
{ {
"apiVersion": "v1beta1",
"kind": "ImageStream", "kind": "ImageStream",
"apiVersion": "v1beta3",
"metadata": { "metadata": {
"name": "origin-nodejs-sample" "name": "nodejs-010-centos7",
} "creationTimestamp": null
},
{
"apiVersion": "v1beta1",
"kind": "ImageStream",
"metadata": {
"name": "nodejs-010-centos7"
}, },
"spec": { "spec": {
"dockerImageRepository": "openshift/nodejs-010-centos7" "dockerImageRepository": "openshift/nodejs-010-centos7"
},
"status": {
"dockerImageRepository": ""
} }
}, },
{ {
"apiVersion": "v1beta1",
"kind": "BuildConfig", "kind": "BuildConfig",
"apiVersion": "v1beta3",
"metadata": { "metadata": {
"name": "nodejs-sample-build", "name": "nodejs-sample-build",
"creationTimestamp": null,
"labels": { "labels": {
"name": "nodejs-sample-build" "name": "nodejs-sample-build"
} }
}, },
"parameters": { "spec": {
"output": { "triggers": [
"to": { {
"name": "origin-nodejs-sample" "type": "github",
"github": {
"secret": "secret101"
} }
}, },
{
"type": "generic",
"generic": {
"secret": "secret101"
}
},
{
"type": "imageChange",
"imageChange": {}
}
],
"source": { "source": {
"type": "Git",
"git": { "git": {
"uri": "git://github.com/mdshuai/nodejs-example.git" "uri": "git://github.com/mdshuai/nodejs-example.git"
}, }
"type": "Git"
}, },
"strategy": { "strategy": {
"stiStrategy": { "type": "Source",
"sourceStrategy": {
"from": { "from": {
"kind": "ImageStreamTag", "kind": "ImageStreamTag",
"name": "nodejs-010-centos7:latest" "name": "nodejs-010-centos7:latest"
},
"incremental": true
} }
}, },
"type": "STI" "output": {
"to": {
"kind": "ImageStreamTag",
"name": "origin-nodejs-sample:latest"
} }
}, },
"resources": {}
},
"status": {
"lastVersion": 0
}
},
{
"kind": "DeploymentConfig",
"apiVersion": "v1beta3",
"metadata": {
"name": "frontend",
"creationTimestamp": null
},
"spec": {
"strategy": {
"type": "Rolling",
"rollingParams": {
"updatePeriodSeconds": 1,
"intervalSeconds": 1,
"timeoutSeconds": 120,
"pre": {
"failurePolicy": "Abort",
"execNewPod": {
"command": [
"/bin/true"
],
"env": [
{
"name": "CUSTOM_VAR1",
"value": "custom_value1"
}
],
"containerName": "nodejs-helloworld"
}
},
"post": {
"failurePolicy": "Ignore",
"execNewPod": {
"command": [
"/bin/false"
],
"env": [
{
"name": "CUSTOM_VAR2",
"value": "custom_value2"
}
],
"containerName": "nodejs-helloworld"
}
}
},
"resources": {}
},
"triggers": [ "triggers": [
{ {
"github": { "type": "ImageChange",
"secret": "secret101" "imageChangeParams": {
"automatic": true,
"containerNames": [
"nodejs-helloworld"
],
"from": {
"kind": "ImageStreamTag",
"name": "origin-nodejs-sample:latest"
}, },
"type": "github" "lastTriggeredImage": ""
},
{
"generic": {
"secret": "secret101"
},
"type": "generic"
},
{
"imageChange": {},
"type": "imageChange"
} }
]
}, },
{ {
"apiVersion": "v1beta1", "type": "ConfigChange"
"kind": "DeploymentConfig", }
"metadata": { ],
"replicas": 2,
"selector": {
"name": "frontend" "name": "frontend"
}, },
"template": { "template": {
"controllerTemplate": { "metadata": {
"podTemplate": { "creationTimestamp": null,
"desiredState": { "labels": {
"manifest": { "name": "frontend"
}
},
"spec": {
"containers": [ "containers": [
{ {
"name": "nodejs-helloworld",
"image": "origin-nodejs-sample",
"ports": [
{
"containerPort": 8080,
"protocol": "TCP"
}
],
"env": [ "env": [
{ {
"name": "ADMIN_USERNAME", "name": "ADMIN_USERNAME",
@ -139,83 +254,123 @@
"value": "${POSTGRESQL_DATABASE}" "value": "${POSTGRESQL_DATABASE}"
} }
], ],
"image": "origin-nodejs-sample", "resources": {},
"name": "nodejs-helloworld", "terminationMessagePath": "/dev/termination-log",
"ports": [ "imagePullPolicy": "IfNotPresent",
{ "capabilities": {},
"containerPort": 8080 "securityContext": {
"capabilities": {},
"privileged": false
} }
]
} }
], ],
"version": "v1beta1" "restartPolicy": "Always",
"dnsPolicy": "ClusterFirst",
"serviceAccount": ""
}
} }
}, },
"labels": { "status": {}
"name": "frontend"
}
},
"replicaSelector": {
"name": "frontend"
},
"replicas": 1
},
"strategy": {
"type": "Rolling"
}
},
"triggers": [
{
"imageChangeParams": {
"automatic": true,
"containerNames": [
"nodejs-helloworld"
],
"from": {
"name": "origin-nodejs-sample"
},
"tag": "latest"
},
"type": "ImageChange"
}, },
{ {
"type": "ConfigChange"
}
]
},
{
"apiVersion": "v1beta3",
"kind": "Service", "kind": "Service",
"apiVersion": "v1beta3",
"metadata": { "metadata": {
"name": "database" "name": "database",
"creationTimestamp": null
}, },
"spec": { "spec": {
"ports": [ "ports": [
{ {
"name": "db", "name": "db",
"port": 5432,
"protocol": "TCP", "protocol": "TCP",
"targetPort": 5432 "port": 5434,
"targetPort": 5432,
"nodePort": 0
} }
], ],
"selector": { "selector": {
"name": "database" "name": "database"
} },
"portalIP": "",
"type": "ClusterIP",
"sessionAffinity": "None"
},
"status": {
"loadBalancer": {}
} }
}, },
{ {
"apiVersion": "v1beta1",
"kind": "DeploymentConfig", "kind": "DeploymentConfig",
"apiVersion": "v1beta3",
"metadata": { "metadata": {
"name": "database",
"creationTimestamp": null
},
"spec": {
"strategy": {
"type": "Recreate",
"recreateParams": {
"pre": {
"failurePolicy": "Abort",
"execNewPod": {
"command": [
"/bin/true"
],
"env": [
{
"name": "CUSTOM_VAR1",
"value": "custom_value1"
}
],
"containerName": "nodejs-helloworld-database"
}
},
"post": {
"failurePolicy": "Ignore",
"execNewPod": {
"command": [
"/bin/false"
],
"env": [
{
"name": "CUSTOM_VAR2",
"value": "custom_value2"
}
],
"containerName": "nodejs-helloworld-database"
}
}
},
"resources": {}
},
"triggers": [
{
"type": "ConfigChange"
}
],
"replicas": 1,
"selector": {
"name": "database" "name": "database"
}, },
"template": { "template": {
"controllerTemplate": { "metadata": {
"podTemplate": { "creationTimestamp": null,
"desiredState": { "labels": {
"manifest": { "name": "database"
}
},
"spec": {
"containers": [ "containers": [
{ {
"name": "nodejs-helloworld-database",
"image": "openshift/postgresql-92-centos7:latest",
"ports": [
{
"containerPort": 5432,
"protocol": "TCP"
}
],
"env": [ "env": [
{ {
"name": "POSTGRESQL_USER", "name": "POSTGRESQL_USER",
@ -230,73 +385,53 @@
"value": "${POSTGRESQL_DATABASE}" "value": "${POSTGRESQL_DATABASE}"
} }
], ],
"image": "openshift/postgresql-92-centos7:latest", "resources": {},
"name": "nodejs-helloworld-database", "terminationMessagePath": "/dev/termination-log",
"ports": [ "imagePullPolicy": "Always",
{ "capabilities": {},
"containerPort": 5432 "securityContext": {
"capabilities": {},
"privileged": false
} }
]
} }
], ],
"version": "v1beta1" "restartPolicy": "Always",
"dnsPolicy": "ClusterFirst",
"serviceAccount": ""
}
} }
}, },
"labels": { "status": {}
"name": "database"
}
},
"replicaSelector": {
"name": "database"
},
"replicas": 1
},
"strategy": {
"type": "Recreate"
}
},
"triggers": [
{
"type": "ConfigChange"
}
]
} }
], ],
"kind": "Template",
"metadata": {
"annotations": {
"description": "This example shows how to create a simple nodejs application in openshift origin v3"
},
"name": "nodejs-helloworld-sample"
},
"parameters": [ "parameters": [
{ {
"name": "ADMIN_USERNAME",
"description": "administrator username", "description": "administrator username",
"from": "admin[A-Z0-9]{3}",
"generate": "expression", "generate": "expression",
"name": "ADMIN_USERNAME" "from": "admin[A-Z0-9]{3}"
}, },
{ {
"name": "ADMIN_PASSWORD",
"description": "administrator password", "description": "administrator password",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression", "generate": "expression",
"name": "ADMIN_PASSWORD" "from": "[a-zA-Z0-9]{8}"
}, },
{ {
"name": "POSTGRESQL_USER",
"description": "database username", "description": "database username",
"from": "user[A-Z0-9]{3}",
"generate": "expression", "generate": "expression",
"name": "POSTGRESQL_USER" "from": "user[A-Z0-9]{3}"
}, },
{ {
"name": "POSTGRESQL_PASSWORD",
"description": "database password", "description": "database password",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression", "generate": "expression",
"name": "POSTGRESQL_PASSWORD" "from": "[a-zA-Z0-9]{8}"
}, },
{ {
"description": "database name",
"name": "POSTGRESQL_DATABASE", "name": "POSTGRESQL_DATABASE",
"description": "database name",
"value": "root" "value": "root"
} }
], ],