Browse Source

Sync latest to v1.2

Scott Dodson 9 years ago
parent
commit
145cf0c6e2
18 changed files with 484 additions and 363 deletions
  1. 1 1
      roles/openshift_examples/files/examples/v1.2/db-templates/mongodb-ephemeral-template.json
  2. 1 1
      roles/openshift_examples/files/examples/v1.2/db-templates/mongodb-persistent-template.json
  3. 1 1
      roles/openshift_examples/files/examples/v1.2/db-templates/mysql-ephemeral-template.json
  4. 1 1
      roles/openshift_examples/files/examples/v1.2/db-templates/mysql-persistent-template.json
  5. 1 1
      roles/openshift_examples/files/examples/v1.2/db-templates/postgresql-ephemeral-template.json
  6. 5 5
      roles/openshift_examples/files/examples/v1.2/db-templates/postgresql-persistent-template.json
  7. 6 1
      roles/openshift_examples/files/examples/v1.2/infrastructure-templates/origin/logging-deployer.yaml
  8. 90 57
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/cakephp-mysql.json
  9. 59 40
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/cakephp.json
  10. 42 34
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/dancer-mysql.json
  11. 34 27
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/dancer.json
  12. 42 39
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/django-postgresql.json
  13. 40 37
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/django.json
  14. 16 0
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/jenkins-ephemeral-template.json
  15. 16 0
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/jenkins-persistent-template.json
  16. 42 37
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/nodejs-mongodb.json
  17. 40 35
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/nodejs.json
  18. 47 46
      roles/openshift_examples/files/examples/v1.2/quickstart-templates/rails-postgresql.json

+ 1 - 1
roles/openshift_examples/files/examples/v1.2/db-templates/mongodb-ephemeral-template.json

@@ -96,7 +96,7 @@
                   "timeoutSeconds": 1,
                   "initialDelaySeconds": 3,
                   "exec": {
-                    "command": [ "/bin/sh", "-i", "-c", "mongostat --host 127.0.0.1 -u admin -p ${MONGODB_ADMIN_PASSWORD} -n 1 --noheaders"]
+                    "command": [ "/bin/sh", "-i", "-c", "mongostat --host 127.0.0.1 -u admin -p $MONGODB_ADMIN_PASSWORD -n 1 --noheaders"]
                   }
                 },
                 "livenessProbe": {

+ 1 - 1
roles/openshift_examples/files/examples/v1.2/db-templates/mongodb-persistent-template.json

@@ -113,7 +113,7 @@
                   "timeoutSeconds": 1,
                   "initialDelaySeconds": 3,
                   "exec": {
-                    "command": [ "/bin/sh", "-i", "-c", "mongostat --host 127.0.0.1 -u admin -p ${MONGODB_ADMIN_PASSWORD} -n 1 --noheaders"]
+                    "command": [ "/bin/sh", "-i", "-c", "mongostat --host 127.0.0.1 -u admin -p $MONGODB_ADMIN_PASSWORD -n 1 --noheaders"]
                   }
                 },
                 "livenessProbe": {

+ 1 - 1
roles/openshift_examples/files/examples/v1.2/db-templates/mysql-ephemeral-template.json

@@ -97,7 +97,7 @@
                   "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'"]
+                      "MYSQL_PWD='$MYSQL_PASSWORD' mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'"]
                   }
                 },
                 "livenessProbe": {

+ 1 - 1
roles/openshift_examples/files/examples/v1.2/db-templates/mysql-persistent-template.json

@@ -114,7 +114,7 @@
                   "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'"]
+                      "MYSQL_PWD='$MYSQL_PASSWORD' mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'"]
                   }
                 },
                 "livenessProbe": {

+ 1 - 1
roles/openshift_examples/files/examples/v1.2/db-templates/postgresql-ephemeral-template.json

@@ -96,7 +96,7 @@
                   "timeoutSeconds": 1,
                   "initialDelaySeconds": 5,
                   "exec": {
-                    "command": [ "/bin/sh", "-i", "-c", "psql -h 127.0.0.1 -U ${POSTGRESQL_USER} -q -d ${POSTGRESQL_DATABASE} -c 'SELECT 1'"]
+                    "command": [ "/bin/sh", "-i", "-c", "psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c 'SELECT 1'"]
                   }
                 },
                 "livenessProbe": {

+ 5 - 5
roles/openshift_examples/files/examples/v1.2/db-templates/postgresql-persistent-template.json

@@ -113,7 +113,7 @@
                   "timeoutSeconds": 1,
                   "initialDelaySeconds": 5,
                   "exec": {
-                    "command": [ "/bin/sh", "-i", "-c", "psql -h 127.0.0.1 -U ${POSTGRESQL_USER} -q -d ${POSTGRESQL_DATABASE} -c 'SELECT 1'"]
+                    "command": [ "/bin/sh", "-i", "-c", "psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c 'SELECT 1'"]
                   }
                 },
                 "livenessProbe": {
@@ -138,10 +138,10 @@
                   }
                 ],
                 "resources": {
-		    "limits": {
-			"memory": "${MEMORY_LIMIT}"
-		    }
-		},
+                  "limits": {
+                    "memory": "${MEMORY_LIMIT}"
+                  }
+                },
                 "volumeMounts": [
                   {
                     "name": "${DATABASE_SERVICE_NAME}-data",

+ 6 - 1
roles/openshift_examples/files/examples/v1.2/infrastructure-templates/origin/logging-deployer.yaml

@@ -69,6 +69,8 @@ objects:
           value: ${ES_OPS_RECOVER_EXPECTED_NODES}
         - name: ES_OPS_RECOVER_AFTER_TIME
           value: ${ES_OPS_RECOVER_AFTER_TIME}
+        - name: FLUENTD_NODESELECTOR
+          value: ${FLUENTD_NODESELECTOR}
     dnsPolicy: ClusterFirst
     restartPolicy: Never
     serviceAccount: logging-deployer
@@ -148,4 +150,7 @@ parameters:
   description: "Timeout for *expected* ops nodes to be present when cluster is recovering from a full restart."
   name: ES_OPS_RECOVER_AFTER_TIME
   value: "5m"
-
+-
+  description: "The nodeSelector used for the Fluentd DaemonSet."
+  name: FLUENTD_NODESELECTOR
+  value: "logging-infra-fluentd=true"

+ 90 - 57
roles/openshift_examples/files/examples/v1.2/quickstart-templates/cakephp-mysql.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-mysql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "cakephp-mysql-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-mysql-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "cakephp-mysql-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-mysql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-mysql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "cakephp-mysql-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -113,7 +113,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-mysql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -123,7 +123,7 @@
           "type": "Rolling",
           "recreateParams": {
           "pre": {
-              "failurePolicy": "Abort",
+              "failurePolicy": "Retry",
               "execNewPod": {
                 "command": [
                   "./migrate-database.sh"
@@ -143,7 +143,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "cakephp-mysql-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -153,13 +153,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "cakephp-mysql-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "cakephp-mysql-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "cakephp-mysql-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -172,6 +172,22 @@
                     "containerPort": 8080
                   }
                 ],
+                "readinessProbe": {
+                  "timeoutSeconds": 3,
+                  "initialDelaySeconds": 3,
+                  "httpGet": {
+                    "path": "/health.php",
+                    "port": 8080
+                  }
+                },
+                "livenessProbe": {
+                    "timeoutSeconds": 3,
+                    "initialDelaySeconds": 30,
+                    "httpGet": {
+                        "path": "/",
+                        "port": 8080
+                    }
+                },
                 "env": [
                   {
                     "name": "DATABASE_SERVICE_NAME",
@@ -296,24 +312,38 @@
                     "containerPort": 3306
                   }
                 ],
-                "env": [
-                  {
-                    "name": "MYSQL_USER",
-                    "value": "${DATABASE_USER}"
-                  },
-                  {
-                    "name": "MYSQL_PASSWORD",
-                    "value": "${DATABASE_PASSWORD}"
-                  },
-                  {
-                    "name": "MYSQL_DATABASE",
-                    "value": "${DATABASE_NAME}"
+                "readinessProbe": {
+                  "timeoutSeconds": 1,
+                  "initialDelaySeconds": 5,
+                  "exec": {
+                    "command": [ "/bin/sh", "-i", "-c", "MYSQL_PWD='${DATABASE_PASSWORD}' mysql -h 127.0.0.1 -u ${DATABASE_USER} -D ${DATABASE_NAME} -e 'SELECT 1'" ]
                   }
+                },
+                "livenessProbe": {
+                    "timeoutSeconds": 1,
+                    "initialDelaySeconds": 30,
+                    "tcpSocket": {
+                        "port": 3306
+                    }
+                },
+                "env": [
+                    {
+                        "name": "MYSQL_USER",
+                        "value": "${DATABASE_USER}"
+                    },
+                    {
+                        "name": "MYSQL_PASSWORD",
+                        "value": "${DATABASE_PASSWORD}"
+                    },
+                    {
+                        "name": "MYSQL_DATABASE",
+                        "value": "${DATABASE_NAME}"
+                    }
                 ],
                 "resources": {
-		    "limits": {
-			"memory": "${MEMORY_MYSQL_LIMIT}"
-		    }
+                    "limits": {
+                        "memory": "${MEMORY_MYSQL_LIMIT}"
+                    }
                 }
               }
             ]
@@ -324,101 +354,104 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "cakephp-mysql-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the CakePHP container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the CakePHP container can use.",
       "value": "512Mi"
     },
     {
       "name": "MEMORY_MYSQL_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the MySQL container can use",
+      "displayName": "Memory Limit (MySQL)",
+      "description": "Maximum amount of memory the MySQL container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/cakephp-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application domain",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the CakePHP service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "DATABASE_SERVICE_NAME",
-      "displayName": "Database service name",
-      "description": "Database service name",
+      "displayName": "Database Service Name",
       "value": "mysql"
     },
     {
       "name": "DATABASE_ENGINE",
-      "displayName": "Database engine",
-      "description": "Database engine: postgresql, mysql or sqlite (default)",
+      "displayName": "Database Engine",
+      "description": "Database engine: postgresql, mysql or sqlite (default).",
       "value": "mysql"
     },
     {
       "name": "DATABASE_NAME",
-      "displayName": "Database name",
-      "description": "Database name",
+      "displayName": "Database Name",
       "value": "default"
     },
     {
       "name": "DATABASE_USER",
-      "displayName": "Database user",
-      "description": "Database user name",
+      "displayName": "Database User",
       "value": "cakephp"
     },
     {
       "name": "DATABASE_PASSWORD",
-      "displayName": "Database password",
-      "description": "Database user password",
+      "displayName": "Database Password",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{16}"
     },
     {
       "name": "CAKEPHP_SECRET_TOKEN",
       "displayName": "CakePHP secret token",
-      "description": "Set this to a long random string",
+      "description": "Set this to a long random string.",
       "generate": "expression",
       "from": "[\\w]{50}"
     },
     {
       "name": "CAKEPHP_SECURITY_SALT",
-      "displayName": "CakePHP security salt",
-      "description": "Security salt for session hash",
+      "displayName": "CakePHP Security Salt",
+      "description": "Security salt for session hash.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "CAKEPHP_SECURITY_CIPHER_SEED",
-      "displayName": "CakePHP security cipher seed",
-      "description": "Security cipher seed for session hash",
+      "displayName": "CakePHP Security Cipher Seed",
+      "description": "Security cipher seed for session hash.",
       "generate": "expression",
       "from": "[0-9]{30}"
     },
     {
       "name": "OPCACHE_REVALIDATE_FREQ",
-      "displayName": "OPcache revalidation frequency",
+      "displayName": "OPcache Revalidation Frequency",
       "description": "How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.",
       "value": "2"
     }

+ 59 - 40
roles/openshift_examples/files/examples/v1.2/quickstart-templates/cakephp.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "cakephp-example" 
+          "name": "${NAME}" 
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "cakephp-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "cakephp-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -113,7 +113,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "cakephp-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -132,7 +132,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "cakephp-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -142,13 +142,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "cakephp-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "cakephp-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "cakephp-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -161,6 +161,22 @@
                     "containerPort": 8080
                   }
                 ],
+                "readinessProbe": {
+                  "timeoutSeconds": 3,
+                  "initialDelaySeconds": 3,
+                  "httpGet": {
+                    "path": "/",
+                    "port": 8080
+                  }
+                },
+                "livenessProbe": {
+                    "timeoutSeconds": 3,
+                    "initialDelaySeconds": 30,
+                    "httpGet": {
+                        "path": "/",
+                        "port": 8080
+                    }
+                },
                 "env": [
                   {
                     "name": "DATABASE_SERVICE_NAME",
@@ -213,89 +229,92 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "cakephp-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/cakephp-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application domain",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the CakePHP service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "DATABASE_SERVICE_NAME",
-      "displayName": "Database service name",
-      "description": "Database service name"
+      "displayName": "Database Service Name"
     },
     {
       "name": "DATABASE_ENGINE",
-      "displayName": "Database engine",
-      "description": "Database engine: postgresql, mysql or sqlite (default)"
+      "displayName": "Database Engine",
+      "description": "Database engine: postgresql, mysql or sqlite (default)."
     },
     {
       "name": "DATABASE_NAME",
-      "displayName": "Database name",
-      "description": "Database name"
+      "displayName": "Database Name"
     },
     {
       "name": "DATABASE_USER",
-      "displayName": "Database user",
-      "description": "Database user name"
+      "displayName": "Database User"
     },
     {
       "name": "DATABASE_PASSWORD",
-      "displayName": "Database password",
-      "description": "Database user password"
+      "displayName": "Database Password"
     },
     {
       "name": "CAKEPHP_SECRET_TOKEN",
-      "displayName": "CakePHP secret token",
-      "description": "Set this to a long random string",
+      "displayName": "CakePHP Secret Token",
+      "description": "Set this to a long random string.",
       "generate": "expression",
       "from": "[\\w]{50}"
     },
     {
       "name": "CAKEPHP_SECURITY_SALT",
-      "displayName": "CakePHP security salt",
-      "description": "Security salt for session hash",
+      "displayName": "CakePHP Security Salt",
+      "description": "Security salt for session hash.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "CAKEPHP_SECURITY_CIPHER_SEED",
-      "displayName": "CakePHP security cipher seed",
-      "description": "Security cipher seed for session hash",
+      "displayName": "CakePHP Security Cipher Seed",
+      "description": "Security cipher seed for session hash.",
       "generate": "expression",
       "from": "[0-9]{30}"
     },
     {
       "name": "OPCACHE_REVALIDATE_FREQ",
-      "displayName": "OPcache revalidation frequency",
+      "displayName": "OPcache Revalidation Frequency",
       "description": "How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.",
       "value": "2"
     }

+ 42 - 34
roles/openshift_examples/files/examples/v1.2/quickstart-templates/dancer-mysql.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-mysql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "dancer-mysql-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-mysql-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "dancer-mysql-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-mysql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-mysql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "dancer-mysql-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -113,7 +113,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-mysql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -129,7 +129,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "dancer-mysql-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -139,13 +139,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "dancer-mysql-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "dancer-mysql-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "dancer-mysql-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -328,89 +328,97 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "dancer-mysql-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the Perl Dancer container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the Perl Dancer container can use.",
       "value": "512Mi"
     },
     {
       "name": "MEMORY_MYSQL_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the MySQL container can use",
+      "displayName": "Memory Limit (MySQL)",
+      "description": "Maximum amount of memory the MySQL container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/dancer-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application domain",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the Dancer service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "ADMIN_USERNAME",
-      "displayName": "Administrator username",
-      "description": "administrator username",
+      "displayName": "Administrator Username",
       "generate": "expression",
       "from": "admin[A-Z0-9]{3}"
     },
     {
       "name": "ADMIN_PASSWORD",
-      "description": "administrator password",
+      "displayName": "Administrator Password",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{8}"
     },
     {
       "name": "DATABASE_SERVICE_NAME",
-      "description": "Database service name",
+      "displayName": "Database Service Name",
       "value": "database"
     },
     {
       "name": "DATABASE_USER",
-      "description": "database username",
+      "displayName": "Database Username",
       "generate": "expression",
       "from": "user[A-Z0-9]{3}"
     },
     {
       "name": "DATABASE_PASSWORD",
-      "description": "database password",
+      "displayName": "Database Password",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{8}"
     },
     {
       "name": "DATABASE_NAME",
-      "description": "database name",
+      "displayName": "Database Name",
       "value": "sampledb"
     },
     {
       "name": "PERL_APACHE2_RELOAD",
-      "description": "Set this to \"true\" to enable automatic reloading of modified Perl modules",
+      "displayName": "Perl Module Reload",
+      "description": "Set this to \"true\" to enable automatic reloading of modified Perl modules.",
       "value": ""
     },
     {
       "name": "SECRET_KEY_BASE",
-      "description": "Your secret key for verifying the integrity of signed cookies",
+      "displayName": "Secret Key",
+      "description": "Your secret key for verifying the integrity of signed cookies.",
       "generate": "expression",
       "from": "[a-z0-9]{127}"
     }

+ 34 - 27
roles/openshift_examples/files/examples/v1.2/quickstart-templates/dancer.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "dancer-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "dancer-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "dancer-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -113,7 +113,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "dancer-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -132,7 +132,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "dancer-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -142,13 +142,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "dancer-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "dancer-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "dancer-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -197,51 +197,58 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "dancer-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/dancer-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application domain",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the Dancer service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "SECRET_KEY_BASE",
-      "displayName": "Secret key",
-      "description": "Your secret key for verifying the integrity of signed cookies",
+      "displayName": "Secret Key",
+      "description": "Your secret key for verifying the integrity of signed cookies.",
       "generate": "expression",
       "from": "[a-z0-9]{127}"
     },
     {
       "name": "PERL_APACHE2_RELOAD",
-      "displayName": "Perl module reload",
-      "description": "Set this to \"true\" to enable automatic reloading of modified Perl modules",
+      "displayName": "Perl Module Reload",
+      "description": "Set this to \"true\" to enable automatic reloading of modified Perl modules.",
       "value": ""
     }
   ]

+ 42 - 39
roles/openshift_examples/files/examples/v1.2/quickstart-templates/django-postgresql.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-psql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "django-psql-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-psql-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "django-psql-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-psql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-psql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "django-psql-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -116,7 +116,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-psql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -135,7 +135,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "django-psql-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -145,13 +145,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "django-psql-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "django-psql-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "django-psql-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -338,86 +338,89 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "django-psql-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the Django container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the Django container can use.",
       "value": "512Mi"
     },
     {
       "name": "MEMORY_POSTGRESQL_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the PostgreSQL container can use",
+      "displayName": "Memory Limit (PostgreSQL)",
+      "description": "Maximum amount of memory the PostgreSQL container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/django-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application hostname",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the Django service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "DATABASE_SERVICE_NAME",
-      "displayName": "Database service name",
-      "description": "Database service name",
+      "displayName": "Database Service Name",
       "value": "postgresql"
     },
     {
       "name": "DATABASE_ENGINE",
-      "displayName": "Database engine",
-      "description": "Database engine: postgresql, mysql or sqlite (default)",
+      "displayName": "Database Engine",
+      "description": "Database engine: postgresql, mysql or sqlite (default).",
       "value": "postgresql"
     },
     {
       "name": "DATABASE_NAME",
-      "displayName": "Database name",
-      "description": "Database name",
+      "displayName": "Database Name",
       "value": "default"
     },
     {
       "name": "DATABASE_USER",
-      "displayName": "Database user name",
-      "description": "Database user name",
+      "displayName": "Database Username",
       "value": "django"
     },
     {
       "name": "DATABASE_PASSWORD",
-      "displayName": "Database user password",
-      "description": "Database user password",
+      "displayName": "Database User Password",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{16}"
     },
     {
       "name": "APP_CONFIG",
-      "displayName": "Application configuration file path",
-      "description": "Relative path to Gunicorn configuration file (optional)"
+      "displayName": "Application Configuration File Path",
+      "description": "Relative path to Gunicorn configuration file (optional)."
     },
     {
       "name": "DJANGO_SECRET_KEY",
-      "displayName": "Djange secret key",
-      "description": "Set this to a long random string",
+      "displayName": "Djange Secret Key",
+      "description": "Set this to a long random string.",
       "generate": "expression",
       "from": "[\\w]{50}"
     }

+ 40 - 37
roles/openshift_examples/files/examples/v1.2/quickstart-templates/django.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "django-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "django-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "django-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -116,7 +116,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "django-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -135,7 +135,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "django-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -145,13 +145,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "django-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "django-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "django-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -224,74 +224,77 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "django-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/django-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application hostname",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the Django service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "DATABASE_SERVICE_NAME",
-      "displayName": "Database service name",
-      "description": "Database service name"
+      "displayName": "Database Service Name"
     },
     {
       "name": "DATABASE_ENGINE",
-      "displayName": "Database engine",
-      "description": "Database engine: postgresql, mysql or sqlite (default)"
+      "displayName": "Database Engine",
+      "description": "Database engine: postgresql, mysql or sqlite (default)."
     },
     {
       "name": "DATABASE_NAME",
-      "displayName": "Database name",
-      "description": "Database name"
+      "displayName": "Database Name"
     },
     {
       "name": "DATABASE_USER",
-      "displayName": "Database user name",
-      "description": "Database user name"
+      "displayName": "Database Username"
     },
     {
       "name": "DATABASE_PASSWORD",
-      "displayName": "Database user password",
-      "description": "Database user password"
+      "displayName": "Database User Password"
     },
     {
       "name": "APP_CONFIG",
-      "displayName": "Application configuration file path",
-      "description": "Relative path to Gunicorn configuration file (optional)"
+      "displayName": "Application Configuration File Path",
+      "description": "Relative path to Gunicorn configuration file (optional)."
     },
     {
       "name": "DJANGO_SECRET_KEY",
-      "displayName": "Djange secret key",
-      "description": "Set this to a long random string",
+      "displayName": "Django Secret Key",
+      "description": "Set this to a long random string.",
       "generate": "expression",
       "from": "[\\w]{50}"
     }

+ 16 - 0
roles/openshift_examples/files/examples/v1.2/quickstart-templates/jenkins-ephemeral-template.json

@@ -103,6 +103,22 @@
               {
                 "name": "jenkins",
                 "image": "${JENKINS_IMAGE}",
+                "readinessProbe": {
+                  "timeoutSeconds": 3,
+                  "initialDelaySeconds": 3,
+                  "httpGet": {
+                    "path": "/login",
+                    "port": 8080
+                  }
+                },
+                "livenessProbe": {
+                    "timeoutSeconds": 3,
+                    "initialDelaySeconds": 30,
+                    "httpGet": {
+                        "path": "/login",
+                        "port": 8080
+                    }
+                },
                 "env": [
                   {
                     "name": "JENKINS_PASSWORD",

+ 16 - 0
roles/openshift_examples/files/examples/v1.2/quickstart-templates/jenkins-persistent-template.json

@@ -120,6 +120,22 @@
               {
                 "name": "jenkins",
                 "image": "${JENKINS_IMAGE}",
+                "readinessProbe": {
+                  "timeoutSeconds": 3,
+                  "initialDelaySeconds": 3,
+                  "httpGet": {
+                    "path": "/login",
+                    "port": 8080
+                  }
+                },
+                "livenessProbe": {
+                    "timeoutSeconds": 3,
+                    "initialDelaySeconds": 30,
+                    "httpGet": {
+                        "path": "/login",
+                        "port": 8080
+                    }
+                },
                 "env": [
                   {
                     "name": "JENKINS_PASSWORD",

+ 42 - 37
roles/openshift_examples/files/examples/v1.2/quickstart-templates/nodejs-mongodb.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-mongodb-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "nodejs-mongodb-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-mongodb-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "nodejs-mongodb-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-mongodb-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-mongodb-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "nodejs-mongodb-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -119,7 +119,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-mongodb-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -138,7 +138,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "nodejs-mongodb-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -148,13 +148,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "nodejs-mongodb-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "nodejs-mongodb-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "nodejs-mongodb-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -337,83 +337,88 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "nodejs-mongodb-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the Node.js container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the Node.js container can use.",
       "value": "512Mi"
     },
     {
       "name": "MEMORY_MONGODB_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the MongoDB container can use",
+      "displayName": "Memory Limit (MongoDB)",
+      "description": "Maximum amount of memory the MongoDB container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/nodejs-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application hostname",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the Node.js service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "GENERIC_WEBHOOK_SECRET",
-      "displayName": "Generic webhook secret",
-      "description": "A secret string used to configure the Generic webhook",
+      "displayName": "Generic Webhook Secret",
+      "description": "A secret string used to configure the Generic webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "DATABASE_SERVICE_NAME",
-      "displayName": "Database service name",
-      "description": "Database service name",
+      "displayName": "Database Service Name",
       "value": "mongodb"
     },
     {
       "name": "DATABASE_USER",
-      "displayName": "MongoDB user name",
-      "description": "Username for MongoDB user that will be used for accessing the database",
+      "displayName": "MongoDB Username",
+      "description": "Username for MongoDB user that will be used for accessing the database.",
       "generate": "expression",
       "from": "user[A-Z0-9]{3}"
     },
     {
       "name": "DATABASE_PASSWORD",
-      "displayName": "MongoDB password",
-      "description": "Password for the MongoDB user",
+      "displayName": "MongoDB Password",
+      "description": "Password for the MongoDB user.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{16}"
     },
     {
       "name": "DATABASE_NAME",
-      "displayName": "Database name",
-      "description": "Database name",
+      "displayName": "Database Name",
       "value": "sampledb"
     },
     {
       "name": "DATABASE_ADMIN_PASSWORD",
-      "displayName": "Database administrator password",
-      "description": "Password for the database admin user",
+      "displayName": "Database Administrator Password",
+      "description": "Password for the database admin user.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{16}"
     }

+ 40 - 35
roles/openshift_examples/files/examples/v1.2/quickstart-templates/nodejs.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "nodejs-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "nodejs-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "nodejs-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -119,7 +119,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "nodejs-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -138,7 +138,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "nodejs-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -148,13 +148,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "nodejs-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "nodejs-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "nodejs-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -224,71 +224,76 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "nodejs-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/nodejs-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application hostname",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the Node.js service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "GENERIC_WEBHOOK_SECRET",
-      "displayName": "Generic webhook secret",
-      "description": "A secret string used to configure the Generic webhook",
+      "displayName": "Generic Webhook Secret",
+      "description": "A secret string used to configure the Generic webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "DATABASE_SERVICE_NAME",
-      "displayName": "Database service name",
-      "description": "Database service name"
+      "displayName": "Database Service Name"
     },
     {
       "name": "MONGODB_USER",
-      "displayName": "MongoDB user name",
-      "description": "Username for MongoDB user that will be used for accessing the database"
+      "displayName": "MongoDB Username",
+      "description": "Username for MongoDB user that will be used for accessing the database."
     },
     {
       "name": "MONGODB_PASSWORD",
-      "displayName": "MongoDB password",
-      "description": "Password for the MongoDB user"
+      "displayName": "MongoDB Password",
+      "description": "Password for the MongoDB user."
     },
     {
       "name": "MONGODB_DATABASE",
-      "displayName": "Database name",
-      "description": "Database name"
+      "displayName": "Database Name"
     },
     {
       "name": "MONGODB_ADMIN_PASSWORD",
-      "displayName": "Database administrator password",
-      "description": "Password for the database admin user"
+      "displayName": "Database Administrator Password",
+      "description": "Password for the database admin user."
     }
   ]
 }

+ 47 - 46
roles/openshift_examples/files/examples/v1.2/quickstart-templates/rails-postgresql.json

@@ -17,7 +17,7 @@
       "kind": "Service",
       "apiVersion": "v1",
       "metadata": {
-        "name": "rails-postgresql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Exposes and load balances the application pods"
         }
@@ -31,7 +31,7 @@
           }
         ],
         "selector": {
-          "name": "rails-postgresql-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -39,13 +39,13 @@
       "kind": "Route",
       "apiVersion": "v1",
       "metadata": {
-        "name": "rails-postgresql-example"
+        "name": "${NAME}"
       },
       "spec": {
         "host": "${APPLICATION_DOMAIN}",
         "to": {
           "kind": "Service",
-          "name": "rails-postgresql-example"
+          "name": "${NAME}"
         }
       }
     },
@@ -53,7 +53,7 @@
       "kind": "ImageStream",
       "apiVersion": "v1",
       "metadata": {
-        "name": "rails-postgresql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Keeps track of changes in the application image"
         }
@@ -63,7 +63,7 @@
       "kind": "BuildConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "rails-postgresql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to build the application"
         }
@@ -90,7 +90,7 @@
         "output": {
           "to": {
             "kind": "ImageStreamTag",
-            "name": "rails-postgresql-example:latest"
+            "name": "${NAME}:latest"
           }
         },
         "triggers": [
@@ -116,7 +116,7 @@
       "kind": "DeploymentConfig",
       "apiVersion": "v1",
       "metadata": {
-        "name": "rails-postgresql-example",
+        "name": "${NAME}",
         "annotations": {
           "description": "Defines how to deploy the application server"
         }
@@ -131,7 +131,7 @@
                 "command": [
                   "./migrate-database.sh"
                 ],
-                "containerName": "rails-postgresql-example"
+                "containerName": "${NAME}"
               }
             }
           }
@@ -146,7 +146,7 @@
               ],
               "from": {
                 "kind": "ImageStreamTag",
-                "name": "rails-postgresql-example:latest"
+                "name": "${NAME}:latest"
               }
             }
           },
@@ -156,13 +156,13 @@
         ],
         "replicas": 1,
         "selector": {
-          "name": "rails-postgresql-example"
+          "name": "${NAME}"
         },
         "template": {
           "metadata": {
-            "name": "rails-postgresql-example",
+            "name": "${NAME}",
             "labels": {
-              "name": "rails-postgresql-example"
+              "name": "${NAME}"
             }
           },
           "spec": {
@@ -373,107 +373,108 @@
   ],
   "parameters": [
     {
+      "name": "NAME",
+      "displayName": "Name",
+      "description": "The name assigned to all of the frontend objects defined in this template.",
+      "required": true,
+      "value": "rails-postgresql-example"
+    },
+    {
       "name": "MEMORY_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the Rails container can use",
+      "displayName": "Memory Limit",
+      "description": "Maximum amount of memory the Rails container can use.",
       "value": "512Mi"
     },
     {
       "name": "MEMORY_POSTGRESQL_LIMIT",
-      "displayName": "Memory limit",
-      "description": "Maximum amount of memory the PostgreSQL container can use",
+      "displayName": "Memory Limit (PostgreSQL)",
+      "description": "Maximum amount of memory the PostgreSQL container can use.",
       "value": "512Mi"
     },
     {
       "name": "SOURCE_REPOSITORY_URL",
-      "displayName": "Source repository URL",
-      "description": "The URL of the repository with your application source code",
+      "displayName": "Git Repository URL",
+      "description": "The URL of the repository with your application source code.",
       "value": "https://github.com/openshift/rails-ex.git"
     },
     {
       "name": "SOURCE_REPOSITORY_REF",
-      "displayName": "Source repository reference",
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
+      "displayName": "Git Reference",
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
     },
     {
       "name": "CONTEXT_DIR",
-      "displayName": "Context directory",
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
+      "displayName": "Context Directory",
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
     },
     {
       "name": "APPLICATION_DOMAIN",
-      "displayName": "Application hostname",
+      "displayName": "Application Hostname",
       "description": "The exposed hostname that will route to the Rails service, if left blank a value will be defaulted.",
       "value": ""
     },
     {
       "name": "GITHUB_WEBHOOK_SECRET",
-      "displayName": "GitHub webhook secret",
-      "description": "A secret string used to configure the GitHub webhook",
+      "displayName": "GitHub Webhook Secret",
+      "description": "A secret string used to configure the GitHub webhook.",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{40}"
     },
     {
       "name": "SECRET_KEY_BASE",
-      "displayName": "Secret key",
-      "description": "Your secret key for verifying the integrity of signed cookies",
+      "displayName": "Secret Key",
+      "description": "Your secret key for verifying the integrity of signed cookies.",
       "generate": "expression",
       "from": "[a-z0-9]{127}"
     },
     {
       "name": "APPLICATION_USER",
-      "displayName": "Application user name",
-      "description": "The application user that is used within the sample application to authorize access on pages",
+      "displayName": "Application Username",
+      "description": "The application user that is used within the sample application to authorize access on pages.",
       "value": "openshift"
     },
     {
       "name": "APPLICATION_PASSWORD",
-      "displayName": "Application password",
-      "description": "The application password that is used within the sample application to authorize access on pages",
+      "displayName": "Application Password",
+      "description": "The application password that is used within the sample application to authorize access on pages.",
       "value": "secret"
     },
     {
       "name": "RAILS_ENV",
-      "displayName": "Rails environment",
-      "description": "Environment under which the sample application will run. Could be set to production, development or test",
+      "displayName": "Rails Environment",
+      "description": "Environment under which the sample application will run. Could be set to production, development or test.",
       "value": "production"
     },
     {
       "name": "DATABASE_SERVICE_NAME",
-      "displayName": "Database service name",
-      "description": "Database service name",
+      "displayName": "Database Service Name",
       "value": "postgresql"
     },
     {
       "name": "DATABASE_USER",
-      "displayName": "Database user name",
-      "description": "database username",
+      "displayName": "Database Username",
       "generate": "expression",
       "from": "user[A-Z0-9]{3}"
     },
     {
       "name": "DATABASE_PASSWORD",
-      "displayName": "Database password",
-      "description": "database password",
+      "displayName": "Database Password",
       "generate": "expression",
       "from": "[a-zA-Z0-9]{8}"
     },
     {
       "name": "DATABASE_NAME",
-      "displayName": "Database name",
-      "description": "database name",
+      "displayName": "Database Name",
       "value": "root"
     },
     {
       "name": "POSTGRESQL_MAX_CONNECTIONS",
-      "displayName": "Maximum database connections",
-      "description": "database max connections",
+      "displayName": "Maximum Database Connections",
       "value": "100"
     },
     {
       "name": "POSTGRESQL_SHARED_BUFFERS",
-      "displayName": "Shared buffer amount",
-      "description": "database shared buffers",
+      "displayName": "Shared Buffer Amount",
       "value": "12MB"
     }
   ]