{ "kind": "Template", "apiVersion": "v1", "metadata": { "name": "ruby-helloworld-sample", "creationTimestamp": null, "annotations": { "description": "This example shows how to create a simple ruby application in openshift origin v3" } }, "objects": [ { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "frontend", "creationTimestamp": null }, "spec": { "ports": [ { "name": "web", "protocol": "TCP", "port": 5432, "targetPort": 8080, "nodePort": 0 } ], "selector": { "name": "frontend" }, "portalIP": "", "type": "ClusterIP", "sessionAffinity": "None" }, "status": { "loadBalancer": {} } }, { "kind": "Route", "apiVersion": "v1", "metadata": { "name": "route-edge", "creationTimestamp": null }, "spec": { "to": { "kind": "Service", "name": "frontend" }, "tls": { "termination": "edge" } }, "status": {} }, { "kind": "ImageStream", "apiVersion": "v1", "metadata": { "name": "origin-ruby20-sample", "creationTimestamp": null }, "spec": {}, "status": { "dockerImageRepository": "" } }, { "kind": "ImageStream", "apiVersion": "v1", "metadata": { "name": "ruby-20-rhel7", "creationTimestamp": null }, "spec": { "dockerImageRepository": "registry.access.redhat.com/openshift3/ruby-20-rhel7" }, "status": { "dockerImageRepository": "" } }, { "kind": "BuildConfig", "apiVersion": "v1", "metadata": { "name": "ruby20-sample-build", "creationTimestamp": null, "labels": { "name": "ruby20-sample-build" } }, "spec": { "triggers": [ { "type": "github", "github": { "secret": "secret101" } }, { "type": "generic", "generic": { "secret": "secret101" } }, { "type": "imageChange", "imageChange": {} }, { "type": "ConfigChange" } ], "source": { "type": "Git", "git": { "uri": "git://github.com/openshift/ruby-hello-world.git" } }, "strategy": { "type": "Docker", "dockerStrategy": { "from": { "kind": "ImageStreamTag", "name": "ruby:2.0", "namespace": "openshift" }, "env": [ { "name": "EXAMPLE", "value": "sample-app" } ] } }, "output": { "to": { "kind": "ImageStreamTag", "name": "origin-ruby20-sample:latest" } }, "postCommit": { "script": "bundle exec rake test" }, "resources": {} }, "status": { "lastVersion": 0 } }, { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { "name": "frontend", "creationTimestamp": null }, "spec": { "strategy": { "type": "Rolling", "rollingParams": { "updatePeriodSeconds": 1, "intervalSeconds": 1, "timeoutSeconds": 120 }, "resources": {} }, "triggers": [ { "type": "ImageChange", "imageChangeParams": { "automatic": true, "containerNames": [ "ruby-helloworld" ], "from": { "kind": "ImageStreamTag", "name": "origin-ruby20-sample:latest" }, "lastTriggeredImage": "" } }, { "type": "ConfigChange" } ], "replicas": 2, "selector": { "name": "frontend" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "name": "frontend" } }, "spec": { "containers": [ { "name": "ruby-helloworld", "image": "origin-ruby20-sample", "ports": [ { "containerPort": 8080, "protocol": "TCP" } ], "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}" } ], "resources": {}, "terminationMessagePath": "/dev/termination-log", "imagePullPolicy": "IfNotPresent", "capabilities": {}, "securityContext": { "capabilities": {}, "privileged": false } } ], "restartPolicy": "Always", "dnsPolicy": "ClusterFirst", "serviceAccount": "" } } }, "status": {} }, { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "database", "creationTimestamp": null }, "spec": { "ports": [ { "name": "db", "protocol": "TCP", "port": 5434, "targetPort": 3306, "nodePort": 0 } ], "selector": { "name": "database" }, "portalIP": "", "type": "ClusterIP", "sessionAffinity": "None" }, "status": { "loadBalancer": {} } }, { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { "name": "database", "creationTimestamp": null }, "spec": { "strategy": { "type": "Recreate", "resources": {} }, "triggers": [ { "type": "ConfigChange" } ], "replicas": 1, "selector": { "name": "database" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "name": "database" } }, "spec": { "containers": [ { "name": "ruby-helloworld-database", "image": "registry.access.redhat.com/openshift3/mysql-55-rhel7:latest", "ports": [ { "containerPort": 3306, "protocol": "TCP" } ], "env": [ { "name": "MYSQL_USER", "value": "${MYSQL_USER}" }, { "name": "MYSQL_PASSWORD", "value": "${MYSQL_PASSWORD}" }, { "name": "MYSQL_DATABASE", "value": "${MYSQL_DATABASE}" } ], "resources": {}, "volumeMounts": [ { "name": "ruby-helloworld-data", "mountPath": "/var/lib/mysql/data" } ], "terminationMessagePath": "/dev/termination-log", "imagePullPolicy": "IfNotPresent", "capabilities": {}, "securityContext": { "capabilities": {}, "privileged": false } } ], "volumes": [ { "name": "ruby-helloworld-data", "emptyDir": { "medium": "" } } ], "restartPolicy": "Always", "dnsPolicy": "ClusterFirst", "serviceAccount": "" } } }, "status": {} } ], "parameters": [ { "name": "ADMIN_USERNAME", "description": "administrator username", "generate": "expression", "from": "admin[A-Z0-9]{3}" }, { "name": "ADMIN_PASSWORD", "description": "administrator password", "generate": "expression", "from": "[a-zA-Z0-9]{8}" }, { "name": "MYSQL_USER", "description": "database username", "generate": "expression", "from": "user[A-Z0-9]{3}" }, { "name": "MYSQL_PASSWORD", "description": "database password", "generate": "expression", "from": "[a-zA-Z0-9]{8}" }, { "name": "MYSQL_DATABASE", "description": "database name", "value": "root" } ], "labels": { "template": "application-template-dockerbuild" } }