Skip to content

Instantly share code, notes, and snippets.

@cianclarke
Created April 15, 2015 20:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cianclarke/901272565fff67a6c3bb to your computer and use it in GitHub Desktop.
Save cianclarke/901272565fff67a6c3bb to your computer and use it in GitHub Desktop.
{
"apiVersion": "v1beta1",
"items": [
{
"apiVersion": "v1beta1",
"containerPort": 8080,
"id": "frontend",
"kind": "Service",
"port": 5432,
"selector": {
"name": "frontend"
}
},
{
"apiVersion": "v1beta1",
"host": "www.example.com",
"id": "sample-app-secure",
"kind": "Route",
"metadata": {
"name": "route-edge"
},
"serviceName": "frontend",
"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-----",
"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-----",
"termination": "edge"
}
},
{
"apiVersion": "v1beta1",
"kind": "ImageStream",
"metadata": {
"name": "origin-nodejs-sample"
}
},
{
"apiVersion": "v1beta1",
"kind": "ImageStream",
"metadata": {
"name": "nodejs-010-centos7"
},
"spec": {
"dockerImageRepository": "openshift/nodejs-010-centos7"
}
},
{
"apiVersion": "v1beta1",
"kind": "BuildConfig",
"metadata": {
"name": "node-sample-build",
"labels": {
"name": "node-sample-build"
}
},
"parameters": {
"output": {
"to": {
"name": "origin-node-sample"
}
},
"source": {
"git": {
"uri": "git://github.com/bleathem/locationforcelayout.git"
},
"type": "Git"
},
"strategy": {
"stiStrategy": {
"image": "openshift/nodejs-010-centos7"
},
"type": "STI"
}
},
"triggers": [
{
"github": {
"secret": "secret101"
},
"type": "github"
},
{
"generic": {
"secret": "secret101"
},
"type": "generic"
},
{
"imageChange": {
"from": {
"name": "nodejs-010-centos7"
},
"image": "openshift/nodejs-010-centos7",
"tag": "latest"
},
"type": "imageChange"
}
]
},
{
"apiVersion": "v1beta1",
"kind": "DeploymentConfig",
"metadata": {
"name": "frontend"
},
"template": {
"controllerTemplate": {
"podTemplate": {
"desiredState": {
"manifest": {
"containers": [
{
"env": [
{
"name": "ADMIN_USERNAME",
"value": "${ADMIN_USERNAME}"
},
{
"name": "ADMIN_PASSWORD",
"value": "${ADMIN_PASSWORD}"
},
{
"name": "MYSQL_USER",
"value": "${MYSQL_USER}"
},
{
"name": "MYSQL_PASSWORD",
"value": "${MYSQL_PASSWORD}"
},
{
"name": "MYSQL_DATABASE",
"value": "${MYSQL_DATABASE}"
}
],
"image": "origin-node-sample",
"name": "node-helloworld",
"ports": [
{
"containerPort": 8080
}
]
}
],
"version": "v1beta1"
}
},
"labels": {
"name": "frontend"
}
},
"replicaSelector": {
"name": "frontend"
},
"replicas": 1
},
"strategy": {
"type": "Recreate",
"recreateParams": {
"pre": {
"failurePolicy": "Abort",
"execNewPod": {
"containerName": "node-helloworld",
"command": [
"/bin/true"
],
"env": [
{
"name": "CUSTOM_VAR1",
"value": "custom_value1"
}
]
}
},
"post": {
"failurePolicy": "Ignore",
"execNewPod": {
"containerName": "node-helloworld",
"command": [
"/bin/false"
],
"env": [
{
"name": "CUSTOM_VAR2",
"value": "custom_value2"
}
]
}
}
}
}
},
"triggers": [
{
"imageChangeParams": {
"automatic": true,
"containerNames": [
"node-helloworld"
],
"from": {
"name": "origin-node-sample"
},
"tag": "latest"
},
"type": "ImageChange"
}
]
},
{
"apiVersion": "v1beta1",
"containerPort": 3306,
"id": "database",
"kind": "Service",
"port": 5434,
"selector": {
"name": "database"
}
},
{
"apiVersion": "v1beta1",
"kind": "DeploymentConfig",
"metadata": {
"name": "database"
},
"template": {
"controllerTemplate": {
"podTemplate": {
"desiredState": {
"manifest": {
"containers": [
{
"env": [
{
"name": "MYSQL_USER",
"value": "${MYSQL_USER}"
},
{
"name": "MYSQL_PASSWORD",
"value": "${MYSQL_PASSWORD}"
},
{
"name": "MYSQL_DATABASE",
"value": "${MYSQL_DATABASE}"
}
],
"image": "openshift/mysql-55-centos7",
"name": "node-helloworld-database",
"ports": [
{
"containerPort": 3306
}
]
}
],
"version": "v1beta1"
}
},
"labels": {
"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",
"tags": "instant-app,node,mysql",
"iconClass" : "icon-ruby"
},
"name": "node-helloworld-sample"
},
"parameters": [
{
"description": "administrator username",
"from": "admin[A-Z0-9]{3}",
"generate": "expression",
"name": "ADMIN_USERNAME"
},
{
"description": "administrator password",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression",
"name": "ADMIN_PASSWORD"
},
{
"description": "database username",
"from": "user[A-Z0-9]{3}",
"generate": "expression",
"name": "MYSQL_USER"
},
{
"description": "database password",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression",
"name": "MYSQL_PASSWORD"
},
{
"description": "database name",
"name": "MYSQL_DATABASE",
"value": "root"
}
],
"labels": {
"template": "application-template-stibuild"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment