Browse code

parameterize IS namespace

gabemontero authored on 2016/03/15 10:35:42
Showing 16 changed files
... ...
@@ -61,7 +61,7 @@
61 61
               "from": {
62 62
                 "kind": "ImageStreamTag",
63 63
                 "name": "mongodb:latest",
64
-                "namespace": "openshift"
64
+                "namespace": "${NAMESPACE}"
65 65
               },
66 66
               "lastTriggeredImage": ""
67 67
             }
... ...
@@ -163,44 +163,50 @@
163 163
   "parameters": [
164 164
     {
165 165
       "name": "MEMORY_LIMIT",
166
-      "displayName": "Memory limit",
167
-      "description": "Maximum amount of memory the container can use",
166
+      "displayName": "Memory Limit",
167
+      "description": "Maximum amount of memory the container can use.",
168 168
       "value": "512Mi"
169 169
     },
170 170
     {
171
+      "name": "NAMESPACE",
172
+      "displayName": "Namespace",
173
+      "description": "The OpenShift Namespace where the ImageStream resides.",
174
+      "value": "openshift"
175
+    },
176
+    {
171 177
       "name": "DATABASE_SERVICE_NAME",
172
-      "displayName": "Database service name",
173
-      "description": "The name of the OpenShift Service exposed for the database",
178
+      "displayName": "Database Service Name",
179
+      "description": "The name of the OpenShift Service exposed for the database.",
174 180
       "value": "mongodb",
175 181
       "required": true
176 182
     },
177 183
     {
178 184
       "name": "MONGODB_USER",
179
-      "displayName": "MongoDB user",
180
-      "description": "Username for MongoDB user that will be used for accessing the database",
185
+      "displayName": "MongoDB User",
186
+      "description": "Username for MongoDB user that will be used for accessing the database.",
181 187
       "generate": "expression",
182 188
       "from": "user[A-Z0-9]{3}",
183 189
       "required": true
184 190
     },
185 191
     {
186 192
       "name": "MONGODB_PASSWORD",
187
-      "displayName": "MongoDB password",
188
-      "description": "Password for the MongoDB user",
193
+      "displayName": "MongoDB Password",
194
+      "description": "Password for the MongoDB user.",
189 195
       "generate": "expression",
190 196
       "from": "[a-zA-Z0-9]{16}",
191 197
       "required": true
192 198
     },
193 199
     {
194 200
       "name": "MONGODB_DATABASE",
195
-      "displayName": "MongoDB database name",
196
-      "description": "Name of the MongoDB database accessed",
201
+      "displayName": "MongoDB Database Name",
202
+      "description": "Name of the MongoDB database accessed.",
197 203
       "value": "sampledb",
198 204
       "required": true
199 205
     },
200 206
     {
201 207
       "name": "MONGODB_ADMIN_PASSWORD",
202
-      "displayName": "MongoDB admin password",
203
-      "description": "Password for the database admin user",
208
+      "displayName": "MongoDB Admin Password",
209
+      "description": "Password for the database admin user.",
204 210
       "generate": "expression",
205 211
       "from": "[a-zA-Z0-9]{16}",
206 212
       "required": true
... ...
@@ -78,7 +78,7 @@
78 78
               "from": {
79 79
                 "kind": "ImageStreamTag",
80 80
                 "name": "mongodb:latest",
81
-                "namespace": "openshift"
81
+                "namespace": "${NAMESPACE}"
82 82
               },
83 83
               "lastTriggeredImage": ""
84 84
             }
... ...
@@ -180,52 +180,58 @@
180 180
   "parameters": [
181 181
     {
182 182
       "name": "MEMORY_LIMIT",
183
-      "displayName": "Memory limit",
184
-      "description": "Maximum amount of memory the container can use",
183
+      "displayName": "Memory Limit",
184
+      "description": "Maximum amount of memory the container can use.",
185 185
       "value": "512Mi"
186 186
     },
187 187
     {
188
+      "name": "NAMESPACE",
189
+      "displayName": "Namespace",
190
+      "description": "The OpenShift Namespace where the ImageStream resides.",
191
+      "value": "openshift"
192
+    },
193
+    {
188 194
       "name": "DATABASE_SERVICE_NAME",
189
-      "displayName": "Database service name",
190
-      "description": "The name of the OpenShift Service exposed for the database",
195
+      "displayName": "Database Service Name",
196
+      "description": "The name of the OpenShift Service exposed for the database.",
191 197
       "value": "mongodb",
192 198
       "required": true
193 199
     },
194 200
     {
195 201
       "name": "MONGODB_USER",
196
-      "displayName": "MongoDB user",
197
-      "description": "Username for MongoDB user that will be used for accessing the database",
202
+      "displayName": "MongoDB User",
203
+      "description": "Username for MongoDB user that will be used for accessing the database.",
198 204
       "generate": "expression",
199 205
       "from": "user[A-Z0-9]{3}",
200 206
       "required": true
201 207
     },
202 208
     {
203 209
       "name": "MONGODB_PASSWORD",
204
-      "displayName": "MongoDB password",
205
-      "description": "Password for the MongoDB user",
210
+      "displayName": "MongoDB Password",
211
+      "description": "Password for the MongoDB user.",
206 212
       "generate": "expression",
207 213
       "from": "[a-zA-Z0-9]{16}",
208 214
       "required": true
209 215
     },
210 216
     {
211 217
       "name": "MONGODB_DATABASE",
212
-      "displayName": "MongoDB database name",
213
-      "description": "Name of the MongoDB database accessed",
218
+      "displayName": "MongoDB Database Name",
219
+      "description": "Name of the MongoDB database accessed.",
214 220
       "value": "sampledb",
215 221
       "required": true
216 222
     },
217 223
     {
218 224
       "name": "MONGODB_ADMIN_PASSWORD",
219
-      "displayName": "MongoDB admin password",
220
-      "description": "Password for the database admin user",
225
+      "displayName": "MongoDB Admin Password",
226
+      "description": "Password for the database admin user.",
221 227
       "generate": "expression",
222 228
       "from": "[a-zA-Z0-9]{16}",
223 229
       "required": true
224 230
     },
225 231
     {
226 232
       "name": "VOLUME_CAPACITY",
227
-      "displayName": "Volume capacity",
228
-      "description": "Volume space available for data, e.g. 512Mi, 2Gi",
233
+      "displayName": "Volume Capacity",
234
+      "description": "Volume space available for data, e.g. 512Mi, 2Gi.",
229 235
       "value": "512Mi",
230 236
       "required": true
231 237
     }
... ...
@@ -61,7 +61,7 @@
61 61
               "from": {
62 62
                 "kind": "ImageStreamTag",
63 63
                 "name": "mysql:latest",
64
-                "namespace": "openshift"
64
+                "namespace": "${NAMESPACE}"
65 65
               },
66 66
               "lastTriggeredImage": ""
67 67
             }
... ...
@@ -160,37 +160,43 @@
160 160
   "parameters": [
161 161
     {
162 162
       "name": "MEMORY_LIMIT",
163
-      "displayName": "Memory limit",
164
-      "description": "Maximum amount of memory the container can use",
163
+      "displayName": "Memory Limit",
164
+      "description": "Maximum amount of memory the container can use.",
165 165
       "value": "512Mi"
166 166
     },
167 167
     {
168
+      "name": "NAMESPACE",
169
+      "displayName": "Namespace",
170
+      "description": "The OpenShift Namespace where the ImageStream resides.",
171
+      "value": "openshift"
172
+    },
173
+    {
168 174
       "name": "DATABASE_SERVICE_NAME",
169
-      "displayName": "Database service name",
170
-      "description": "The name of the OpenShift Service exposed for the database",
175
+      "displayName": "Database Service Name",
176
+      "description": "The name of the OpenShift Service exposed for the database.",
171 177
       "value": "mysql",
172 178
       "required": true
173 179
     },
174 180
     {
175 181
       "name": "MYSQL_USER",
176
-      "displayName": "MySQL user",
177
-      "description": "Username for MySQL user that will be used for accessing the database",
182
+      "displayName": "MySQL User",
183
+      "description": "Username for MySQL user that will be used for accessing the database.",
178 184
       "generate": "expression",
179 185
       "from": "user[A-Z0-9]{3}",
180 186
       "required": true
181 187
     },
182 188
     {
183 189
       "name": "MYSQL_PASSWORD",
184
-      "displayName": "MySQL password",
185
-      "description": "Password for the MySQL user",
190
+      "displayName": "MySQL Password",
191
+      "description": "Password for the MySQL user.",
186 192
       "generate": "expression",
187 193
       "from": "[a-zA-Z0-9]{16}",
188 194
       "required": true
189 195
     },
190 196
     {
191 197
       "name": "MYSQL_DATABASE",
192
-      "displayName": "MySQL database name",
193
-      "description": "Name of the MySQL database accessed",
198
+      "displayName": "MySQL Database Name",
199
+      "description": "Name of the MySQL database accessed.",
194 200
       "value": "sampledb",
195 201
       "required": true
196 202
     }
... ...
@@ -78,7 +78,7 @@
78 78
               "from": {
79 79
                 "kind": "ImageStreamTag",
80 80
                 "name": "mysql:latest",
81
-                "namespace": "openshift"
81
+                "namespace": "${NAMESPACE}"
82 82
               },
83 83
               "lastTriggeredImage": ""
84 84
             }
... ...
@@ -177,44 +177,50 @@
177 177
   "parameters": [
178 178
     {
179 179
       "name": "MEMORY_LIMIT",
180
-      "displayName": "Memory limit",
181
-      "description": "Maximum amount of memory the container can use",
180
+      "displayName": "Memory Limit",
181
+      "description": "Maximum amount of memory the container can use.",
182 182
       "value": "512Mi"
183 183
     },
184 184
     {
185
+      "name": "NAMESPACE",
186
+      "displayName": "Namespace",
187
+      "description": "The OpenShift Namespace where the ImageStream resides.",
188
+      "value": "openshift"
189
+    },
190
+    {
185 191
       "name": "DATABASE_SERVICE_NAME",
186
-      "displayName": "Database service name",
187
-      "description": "The name of the OpenShift Service exposed for the database",
192
+      "displayName": "Database Service Name",
193
+      "description": "The name of the OpenShift Service exposed for the database.",
188 194
       "value": "mysql",
189 195
       "required": true
190 196
     },
191 197
     {
192 198
       "name": "MYSQL_USER",
193
-      "displayName": "MySQL user",
194
-      "description": "Username for MySQL user that will be used for accessing the database",
199
+      "displayName": "MySQL User",
200
+      "description": "Username for MySQL user that will be used for accessing the database.",
195 201
       "generate": "expression",
196 202
       "from": "user[A-Z0-9]{3}",
197 203
       "required": true
198 204
     },
199 205
     {
200 206
       "name": "MYSQL_PASSWORD",
201
-      "displayName": "MySQL password",
202
-      "description": "Password for the MySQL user",
207
+      "displayName": "MySQL Password",
208
+      "description": "Password for the MySQL user.",
203 209
       "generate": "expression",
204 210
       "from": "[a-zA-Z0-9]{16}",
205 211
       "required": true
206 212
     },
207 213
     {
208 214
       "name": "MYSQL_DATABASE",
209
-      "displayName": "MySQL database name",
210
-      "description": "Name of the MySQL database accessed",
215
+      "displayName": "MySQL Database Name",
216
+      "description": "Name of the MySQL database accessed.",
211 217
       "value": "sampledb",
212 218
       "required": true
213 219
     },
214 220
     {
215 221
       "name": "VOLUME_CAPACITY",
216
-      "displayName": "Volume capacity",
217
-      "description": "Volume space available for data, e.g. 512Mi, 2Gi",
222
+      "displayName": "Volume Capacity",
223
+      "description": "Volume space available for data, e.g. 512Mi, 2Gi.",
218 224
       "value": "512Mi",
219 225
       "required": true
220 226
     }
... ...
@@ -61,7 +61,7 @@
61 61
               "from": {
62 62
                 "kind": "ImageStreamTag",
63 63
                 "name": "postgresql:latest",
64
-                "namespace": "openshift"
64
+                "namespace": "${NAMESPACE}"
65 65
               },
66 66
               "lastTriggeredImage": ""
67 67
             }
... ...
@@ -159,37 +159,43 @@
159 159
   "parameters": [
160 160
     {
161 161
       "name": "MEMORY_LIMIT",
162
-      "displayName": "Memory limit",
163
-      "description": "Maximum amount of memory the container can use",
162
+      "displayName": "Memory Limit",
163
+      "description": "Maximum amount of memory the container can use.",
164 164
       "value": "512Mi"
165 165
     },
166 166
     {
167
+      "name": "NAMESPACE",
168
+      "displayName": "Namespace",
169
+      "description": "The OpenShift Namespace where the ImageStream resides.",
170
+      "value": "openshift"
171
+    },
172
+    {
167 173
       "name": "DATABASE_SERVICE_NAME",
168
-      "displayName": "Database service name",
169
-      "description": "The name of the OpenShift Service exposed for the database",
174
+      "displayName": "Database Service Name",
175
+      "description": "The name of the OpenShift Service exposed for the database.",
170 176
       "value": "postgresql",
171 177
       "required": true
172 178
     },
173 179
     {
174 180
       "name": "POSTGRESQL_USER",
175
-      "displayName": "PostgreSQL user",
176
-      "description": "Username for PostgreSQL user that will be used for accessing the database",
181
+      "displayName": "PostgreSQL User",
182
+      "description": "Username for PostgreSQL user that will be used for accessing the database.",
177 183
       "generate": "expression",
178 184
       "from": "user[A-Z0-9]{3}",
179 185
       "required": true
180 186
     },
181 187
     {
182 188
       "name": "POSTGRESQL_PASSWORD",
183
-      "displayName": "PostgreSQL password",
184
-      "description": "Password for the PostgreSQL user",
189
+      "displayName": "PostgreSQL Password",
190
+      "description": "Password for the PostgreSQL user.",
185 191
       "generate": "expression",
186 192
       "from": "[a-zA-Z0-9]{16}",
187 193
       "required": true
188 194
     },
189 195
     {
190 196
       "name": "POSTGRESQL_DATABASE",
191
-      "displayName": "PostgreSQL database name",
192
-      "description": "Name of the PostgreSQL database accessed",
197
+      "displayName": "PostgreSQL Database Name",
198
+      "description": "Name of the PostgreSQL database accessed.",
193 199
       "value": "sampledb",
194 200
       "required": true
195 201
     }
... ...
@@ -78,7 +78,7 @@
78 78
               "from": {
79 79
                 "kind": "ImageStreamTag",
80 80
                 "name": "postgresql:latest",
81
-                "namespace": "openshift"
81
+                "namespace": "${NAMESPACE}"
82 82
               },
83 83
               "lastTriggeredImage": ""
84 84
             }
... ...
@@ -176,44 +176,50 @@
176 176
   "parameters": [
177 177
     {
178 178
       "name": "MEMORY_LIMIT",
179
-      "displayName": "Memory limit",
180
-      "description": "Maximum amount of memory the container can use",
179
+      "displayName": "Memory Limit",
180
+      "description": "Maximum amount of memory the container can use.",
181 181
       "value": "512Mi"
182 182
     },
183 183
     {
184
+      "name": "NAMESPACE",
185
+      "displayName": "Namespace",
186
+      "description": "The OpenShift Namespace where the ImageStream resides.",
187
+      "value": "openshift"
188
+    },
189
+    {
184 190
       "name": "DATABASE_SERVICE_NAME",
185
-      "displayName": "Database service name",
186
-      "description": "The name of the OpenShift Service exposed for the database",
191
+      "displayName": "Database Service Name",
192
+      "description": "The name of the OpenShift Service exposed for the database.",
187 193
       "value": "postgresql",
188 194
       "required": true
189 195
     },
190 196
     {
191 197
       "name": "POSTGRESQL_USER",
192
-      "displayName": "PostgreSQL user",
193
-      "description": "Username for PostgreSQL user that will be used for accessing the database",
198
+      "displayName": "PostgreSQL User",
199
+      "description": "Username for PostgreSQL user that will be used for accessing the database.",
194 200
       "generate": "expression",
195 201
       "from": "user[A-Z0-9]{3}",
196 202
       "required": true
197 203
     },
198 204
     {
199 205
       "name": "POSTGRESQL_PASSWORD",
200
-      "displayName": "PostgreSQL password",
201
-      "description": "Password for the PostgreSQL user",
206
+      "displayName": "PostgreSQL Password",
207
+      "description": "Password for the PostgreSQL user.",
202 208
       "generate": "expression",
203 209
       "from": "[a-zA-Z0-9]{16}",
204 210
       "required": true
205 211
     },
206 212
     {
207 213
       "name": "POSTGRESQL_DATABASE",
208
-      "displayName": "PostgreSQL database name",
209
-      "description": "Name of the PostgreSQL database accessed",
214
+      "displayName": "PostgreSQL Database Name",
215
+      "description": "Name of the PostgreSQL database accessed.",
210 216
       "value": "sampledb",
211 217
       "required": true
212 218
     },
213 219
     {
214 220
       "name": "VOLUME_CAPACITY",
215
-      "displayName": "Volume capacity",
216
-      "description": "Volume space available for data, e.g. 512Mi, 2Gi",
221
+      "displayName": "Volume Capacity",
222
+      "description": "Volume space available for data, e.g. 512Mi, 2Gi.",
217 223
       "value": "512Mi",
218 224
       "required": true
219 225
     }
... ...
@@ -15,33 +15,38 @@
15 15
   "parameters": [
16 16
     {
17 17
       "name": "JENKINS_SERVICE_NAME",
18
-      "description": "Jenkins service name",
18
+      "displayName": "Jenkins Service Name",
19 19
       "value": "jenkins"
20 20
     },
21 21
     {
22 22
       "name": "JENKINS_PASSWORD",
23
-      "description": "Password for the Jenkins user",
23
+      "displayName": "Jenkins Password",
24
+      "description": "Password for the Jenkins user.",
24 25
       "generate": "expression",
25 26
       "value": "password"
26 27
     },
27 28
     {
28 29
       "name": "JENKINS_IMAGE",
29
-      "description": "Jenkins Docker image to use",
30
+      "displayName": "Jenkins Image",
31
+      "description": "Jenkins Docker image to use.",
30 32
       "value": "openshift/jenkins-1-centos7"
31 33
     },
32 34
     {
33 35
       "name": "JENKINS_REPO_URL",
34
-      "description": "The repository to use to customize the Jenkins server",
36
+      "displayName": "Jenkins URL",
37
+      "description": "The repository to use to customize the Jenkins server.",
35 38
       "value": "git://github.com/openshift/origin"
36 39
     },
37 40
     {
38 41
       "name": "JENKINS_REPO_CONTEXTDIR",
39
-      "description": "The sub-directory inside the repository",
42
+      "displayName": "Jenkins Context",
43
+      "description": "The sub-directory inside the repository.",
40 44
       "value": "examples/jenkins-master"
41 45
     },
42 46
     {
43 47
       "name": "JENKINS_REPO_REF",
44
-      "description": "The git ref or tag to use for customization",
48
+      "displayName": "Jenkins Reference",
49
+      "description": "The git ref or tag to use for customization.",
45 50
       "value": "master"
46 51
     }
47 52
   ],
... ...
@@ -16,23 +16,27 @@
16 16
   "parameters": [
17 17
     {
18 18
       "name": "IMAGE_STREAM_NAME",
19
-      "description": "The name of an image stream to convert",
19
+      "displayName": "ImageStream Name",
20
+      "description": "The name of an image stream to convert.",
20 21
       "value": "ruby-22-centos7",
21 22
       "required": true
22 23
     },
23 24
     {
24 25
       "name": "SLAVE_REPO_URL",
25
-      "description": "Git repository with Dockerfile and slave entrypoint",
26
+      "displayName": "Repository URL",
27
+      "description": "Git repository with Dockerfile and slave entrypoint.",
26 28
       "value": "git://github.com/openshift/origin"
27 29
     },
28 30
     {
29 31
       "name": "SLAVE_REPO_CONTEXTDIR",
30
-      "description": "The sub-directory inside the repository",
32
+      "displayName": "Context Directory",
33
+      "description": "The sub-directory inside the repository.",
31 34
       "value": "examples/jenkins-master/slave"
32 35
     },
33 36
     {
34 37
       "name": "SLAVE_REPO_REF",
35
-      "description": "The git ref or tag to use for customization",
38
+      "displayName": "Git Reference",
39
+      "description": "The git ref or tag to use for customization.",
36 40
       "value": "master"
37 41
     }
38 42
   ],
... ...
@@ -184,7 +184,7 @@
184 184
         "creationTimestamp": null
185 185
       },
186 186
       "spec": {
187
-        "dockerImageRepository": "openshift/nodejs-010-centos7"
187
+        "dockerImageRepository": "${NAMESPACE}/nodejs-010-centos7"
188 188
       },
189 189
       "status": {
190 190
         "dockerImageRepository": ""
... ...
@@ -322,21 +322,27 @@
322 322
   "parameters": [
323 323
     {
324 324
       "name": "MEMORY_LIMIT",
325
-      "displayName": "Memory limit",
326
-      "description": "Maximum amount of memory the container can use",
325
+      "displayName": "Memory Limit",
326
+      "description": "Maximum amount of memory the container can use.",
327 327
       "value": "512Mi"
328 328
     },
329
+    {
330
+      "name": "NAMESPACE",
331
+      "displayName": "Namespace",
332
+      "description": "The OpenShift Namespace where the ImageStream resides.",
333
+      "value": "openshift"
334
+    },
329 335
    {
330 336
       "name": "ADMIN_USERNAME",
331
-      "displayName": "Administrator username",
332
-      "description": "Username for the administrator of this application",
337
+      "displayName": "Administrator Username",
338
+      "description": "Username for the administrator of this application.",
333 339
       "generate": "expression",
334 340
       "from": "admin[A-Z0-9]{3}"
335 341
     },
336 342
     {
337 343
       "name": "ADMIN_PASSWORD",
338
-      "displayName": "Administrator password",
339
-      "description": "Password for the administrator of this application",
344
+      "displayName": "Administrator Password",
345
+      "description": "Password for the administrator of this application.",
340 346
       "generate": "expression",
341 347
       "from": "[a-zA-Z0-9]{8}"
342 348
     }
... ...
@@ -78,7 +78,7 @@
78 78
               "from": {
79 79
                 "kind": "ImageStreamTag",
80 80
                 "name": "jenkins:latest",
81
-                "namespace": "openshift"
81
+                "namespace": "${NAMESPACE}"
82 82
               },
83 83
               "lastTriggeredImage": ""
84 84
             }
... ...
@@ -163,20 +163,26 @@
163 163
   "parameters": [
164 164
     {
165 165
       "name": "MEMORY_LIMIT",
166
-      "displayName": "Memory limit",
167
-      "description": "Maximum amount of memory the container can use",
166
+      "displayName": "Memory Limit",
167
+      "description": "Maximum amount of memory the container can use.",
168 168
       "value": "512Mi"
169 169
     },
170 170
     {
171
+      "name": "NAMESPACE",
172
+      "displayName": "Namespace",
173
+      "description": "The OpenShift Namespace where the ImageStream resides.",
174
+      "value": "openshift"
175
+    },
176
+    {
171 177
       "name": "JENKINS_SERVICE_NAME",
172
-      "displayName": "Jenkins service name",
173
-      "description": "The name of the OpenShift Service exposed for the Jenkins container",
178
+      "displayName": "Jenkins Service Name",
179
+      "description": "The name of the OpenShift Service exposed for the Jenkins container.",
174 180
       "value": "jenkins"
175 181
     },
176 182
     {
177 183
       "name": "JENKINS_PASSWORD",
178
-      "displayName": "Jenkins password",
179
-      "description": "Password for the Jenkins user",
184
+      "displayName": "Jenkins Password",
185
+      "description": "Password for the Jenkins user.",
180 186
       "generate": "expression",
181 187
       "value": "password"
182 188
     }
... ...
@@ -95,7 +95,7 @@
95 95
               "from": {
96 96
                 "kind": "ImageStreamTag",
97 97
                 "name": "jenkins:latest",
98
-                "namespace": "openshift"
98
+                "namespace": "${NAMESPACE}"
99 99
               },
100 100
               "lastTriggeredImage": ""
101 101
             }
... ...
@@ -180,27 +180,33 @@
180 180
   "parameters": [
181 181
     {
182 182
       "name": "MEMORY_LIMIT",
183
-      "displayName": "Memory limit",
184
-      "description": "Maximum amount of memory the container can use",
183
+      "displayName": "Memory Limit",
184
+      "description": "Maximum amount of memory the container can use.",
185 185
       "value": "512Mi"
186 186
     },
187 187
     {
188
+      "name": "NAMESPACE",
189
+      "displayName": "Namespace",
190
+      "description": "The OpenShift Namespace where the ImageStream resides.",
191
+      "value": "openshift"
192
+    },
193
+    {
188 194
       "name": "JENKINS_SERVICE_NAME",
189
-      "displayName": "Jenkins service name",
190
-      "description": "The name of the OpenShift Service exposed for the Jenkins container",
195
+      "displayName": "Jenkins Service Name",
196
+      "description": "The name of the OpenShift Service exposed for the Jenkins container.",
191 197
       "value": "jenkins"
192 198
     },
193 199
     {
194 200
       "name": "JENKINS_PASSWORD",
195
-      "displayName": "Jenkins password",
196
-      "description": "Password for the Jenkins user",
201
+      "displayName": "Jenkins Password",
202
+      "description": "Password for the Jenkins user.",
197 203
       "generate": "expression",
198 204
       "value": "password"
199 205
     },
200 206
     {
201 207
       "name": "VOLUME_CAPACITY",
202
-      "displayName": "Volume capacity",
203
-      "description": "Volume space available for data, e.g. 512Mi, 2Gi",
208
+      "displayName": "Volume Capacity",
209
+      "description": "Volume space available for data, e.g. 512Mi, 2Gi.",
204 210
       "value": "512Mi",
205 211
       "required": true
206 212
     }
... ...
@@ -17,7 +17,7 @@
17 17
       "kind": "Service",
18 18
       "apiVersion": "v1",
19 19
       "metadata": {
20
-        "name": "cakephp-mysql-example",
20
+        "name": "${NAME}",
21 21
         "annotations": {
22 22
           "description": "Exposes and load balances the application pods"
23 23
         }
... ...
@@ -31,7 +31,7 @@
31 31
           }
32 32
         ],
33 33
         "selector": {
34
-          "name": "cakephp-mysql-example"
34
+          "name": "${NAME}"
35 35
         }
36 36
       }
37 37
     },
... ...
@@ -39,13 +39,13 @@
39 39
       "kind": "Route",
40 40
       "apiVersion": "v1",
41 41
       "metadata": {
42
-        "name": "cakephp-mysql-example"
42
+        "name": "${NAME}"
43 43
       },
44 44
       "spec": {
45 45
         "host": "${APPLICATION_DOMAIN}",
46 46
         "to": {
47 47
           "kind": "Service",
48
-          "name": "cakephp-mysql-example"
48
+          "name": "${NAME}"
49 49
         }
50 50
       }
51 51
     },
... ...
@@ -53,7 +53,7 @@
53 53
       "kind": "ImageStream",
54 54
       "apiVersion": "v1",
55 55
       "metadata": {
56
-        "name": "cakephp-mysql-example",
56
+        "name": "${NAME}",
57 57
         "annotations": {
58 58
           "description": "Keeps track of changes in the application image"
59 59
         }
... ...
@@ -63,7 +63,7 @@
63 63
       "kind": "BuildConfig",
64 64
       "apiVersion": "v1",
65 65
       "metadata": {
66
-        "name": "cakephp-mysql-example",
66
+        "name": "${NAME}",
67 67
         "annotations": {
68 68
           "description": "Defines how to build the application"
69 69
         }
... ...
@@ -82,7 +82,7 @@
82 82
           "sourceStrategy": {
83 83
             "from": {
84 84
               "kind": "ImageStreamTag",
85
-              "namespace": "openshift",
85
+              "namespace": "${NAMESPACE}",
86 86
               "name": "php:5.6"
87 87
             }
88 88
           }
... ...
@@ -90,7 +90,7 @@
90 90
         "output": {
91 91
           "to": {
92 92
             "kind": "ImageStreamTag",
93
-            "name": "cakephp-mysql-example:latest"
93
+            "name": "${NAME}:latest"
94 94
           }
95 95
         },
96 96
         "triggers": [
... ...
@@ -113,7 +113,7 @@
113 113
       "kind": "DeploymentConfig",
114 114
       "apiVersion": "v1",
115 115
       "metadata": {
116
-        "name": "cakephp-mysql-example",
116
+        "name": "${NAME}",
117 117
         "annotations": {
118 118
           "description": "Defines how to deploy the application server"
119 119
         }
... ...
@@ -143,7 +143,7 @@
143 143
               ],
144 144
               "from": {
145 145
                 "kind": "ImageStreamTag",
146
-                "name": "cakephp-mysql-example:latest"
146
+                "name": "${NAME}:latest"
147 147
               }
148 148
             }
149 149
           },
... ...
@@ -153,13 +153,13 @@
153 153
         ],
154 154
         "replicas": 1,
155 155
         "selector": {
156
-          "name": "cakephp-mysql-example"
156
+          "name": "${NAME}"
157 157
         },
158 158
         "template": {
159 159
           "metadata": {
160
-            "name": "cakephp-mysql-example",
160
+            "name": "${NAME}",
161 161
             "labels": {
162
-              "name": "cakephp-mysql-example"
162
+              "name": "${NAME}"
163 163
             }
164 164
           },
165 165
           "spec": {
... ...
@@ -282,7 +282,7 @@
282 282
               ],
283 283
               "from": {
284 284
                 "kind": "ImageStreamTag",
285
-                "namespace": "openshift",
285
+                "namespace": "${NAMESPACE}",
286 286
                 "name": "mysql:5.6"
287 287
               }
288 288
             }
... ...
@@ -354,101 +354,110 @@
354 354
   ],
355 355
   "parameters": [
356 356
     {
357
+      "name": "NAME",
358
+      "displayName": "Name",
359
+      "description": "The name assigned to all of the frontend objects defined in this template.",
360
+      "required": true,
361
+      "value": "cakephp-mysql-example"
362
+    },
363
+    {
364
+      "name": "NAMESPACE",
365
+      "displayName": "Namespace",
366
+      "description": "The OpenShift Namespace where the ImageStream resides.",
367
+      "value": "openshift"
368
+    },
369
+    {
357 370
       "name": "MEMORY_LIMIT",
358
-      "displayName": "Memory limit",
359
-      "description": "Maximum amount of memory the CakePHP container can use",
371
+      "displayName": "Memory Limit",
372
+      "description": "Maximum amount of memory the CakePHP container can use.",
360 373
       "value": "512Mi"
361 374
     },
362 375
     {
363 376
       "name": "MEMORY_MYSQL_LIMIT",
364
-      "displayName": "Memory limit",
365
-      "description": "Maximum amount of memory the MySQL container can use",
377
+      "displayName": "Memory Limit (MySQL)",
378
+      "description": "Maximum amount of memory the MySQL container can use.",
366 379
       "value": "512Mi"
367 380
     },
368 381
     {
369 382
       "name": "SOURCE_REPOSITORY_URL",
370
-      "displayName": "Source repository URL",
371
-      "description": "The URL of the repository with your application source code",
383
+      "displayName": "Git Repository URL",
384
+      "description": "The URL of the repository with your application source code.",
372 385
       "value": "https://github.com/openshift/cakephp-ex.git"
373 386
     },
374 387
     {
375 388
       "name": "SOURCE_REPOSITORY_REF",
376
-      "displayName": "Source repository reference",
377
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
389
+      "displayName": "Git Reference",
390
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
378 391
     },
379 392
     {
380 393
       "name": "CONTEXT_DIR",
381
-      "displayName": "Context directory",
382
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
394
+      "displayName": "Context Directory",
395
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
383 396
     },
384 397
     {
385 398
       "name": "APPLICATION_DOMAIN",
386
-      "displayName": "Application domain",
399
+      "displayName": "Application Hostname",
387 400
       "description": "The exposed hostname that will route to the CakePHP service, if left blank a value will be defaulted.",
388 401
       "value": ""
389 402
     },
390 403
     {
391 404
       "name": "GITHUB_WEBHOOK_SECRET",
392
-      "displayName": "GitHub webhook secret",
393
-      "description": "A secret string used to configure the GitHub webhook",
405
+      "displayName": "GitHub Webhook Secret",
406
+      "description": "A secret string used to configure the GitHub webhook.",
394 407
       "generate": "expression",
395 408
       "from": "[a-zA-Z0-9]{40}"
396 409
     },
397 410
     {
398 411
       "name": "DATABASE_SERVICE_NAME",
399
-      "displayName": "Database service name",
400
-      "description": "Database service name",
412
+      "displayName": "Database Service Name",
401 413
       "value": "mysql"
402 414
     },
403 415
     {
404 416
       "name": "DATABASE_ENGINE",
405
-      "displayName": "Database engine",
406
-      "description": "Database engine: postgresql, mysql or sqlite (default)",
417
+      "displayName": "Database Engine",
418
+      "description": "Database engine: postgresql, mysql or sqlite (default).",
407 419
       "value": "mysql"
408 420
     },
409 421
     {
410 422
       "name": "DATABASE_NAME",
411
-      "displayName": "Database name",
412
-      "description": "Database name",
423
+      "displayName": "Database Name",
413 424
       "value": "default"
414 425
     },
415 426
     {
416 427
       "name": "DATABASE_USER",
417
-      "displayName": "Database user",
418
-      "description": "Database user name",
428
+      "displayName": "Database User",
419 429
       "value": "cakephp"
420 430
     },
421 431
     {
422 432
       "name": "DATABASE_PASSWORD",
423
-      "displayName": "Database password",
424
-      "description": "Database user password",
433
+      "displayName": "Database Password",
425 434
       "generate": "expression",
426 435
       "from": "[a-zA-Z0-9]{16}"
427 436
     },
428 437
     {
429 438
       "name": "CAKEPHP_SECRET_TOKEN",
430 439
       "displayName": "CakePHP secret token",
431
-      "description": "Set this to a long random string",
440
+      "description": "Set this to a long random string.",
432 441
       "generate": "expression",
433 442
       "from": "[\\w]{50}"
434 443
     },
435 444
     {
436 445
       "name": "CAKEPHP_SECURITY_SALT",
437
-      "displayName": "CakePHP security salt",
438
-      "description": "Security salt for session hash",
446
+      "displayName": "CakePHP Security Salt",
447
+      "description": "Security salt for session hash.",
439 448
       "generate": "expression",
440 449
       "from": "[a-zA-Z0-9]{40}"
441 450
     },
442 451
     {
443 452
       "name": "CAKEPHP_SECURITY_CIPHER_SEED",
444
-      "displayName": "CakePHP security cipher seed",
445
-      "description": "Security cipher seed for session hash",
453
+      "displayName": "CakePHP Security Cipher Seed",
454
+      "description": "Security cipher seed for session hash.",
446 455
       "generate": "expression",
447 456
       "from": "[0-9]{30}"
448 457
     },
449 458
     {
450 459
       "name": "OPCACHE_REVALIDATE_FREQ",
451
-      "displayName": "OPcache revalidation frequency",
460
+      "displayName": "OPcache Revalidation Frequency",
452 461
       "description": "How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.",
453 462
       "value": "2"
454 463
     }
... ...
@@ -17,7 +17,7 @@
17 17
       "kind": "Service",
18 18
       "apiVersion": "v1",
19 19
       "metadata": {
20
-        "name": "dancer-mysql-example",
20
+        "name": "${NAME}",
21 21
         "annotations": {
22 22
           "description": "Exposes and load balances the application pods"
23 23
         }
... ...
@@ -31,7 +31,7 @@
31 31
           }
32 32
         ],
33 33
         "selector": {
34
-          "name": "dancer-mysql-example"
34
+          "name": "${NAME}"
35 35
         }
36 36
       }
37 37
     },
... ...
@@ -39,13 +39,13 @@
39 39
       "kind": "Route",
40 40
       "apiVersion": "v1",
41 41
       "metadata": {
42
-        "name": "dancer-mysql-example"
42
+        "name": "${NAME}"
43 43
       },
44 44
       "spec": {
45 45
         "host": "${APPLICATION_DOMAIN}",
46 46
         "to": {
47 47
           "kind": "Service",
48
-          "name": "dancer-mysql-example"
48
+          "name": "${NAME}"
49 49
         }
50 50
       }
51 51
     },
... ...
@@ -53,7 +53,7 @@
53 53
       "kind": "ImageStream",
54 54
       "apiVersion": "v1",
55 55
       "metadata": {
56
-        "name": "dancer-mysql-example",
56
+        "name": "${NAME}",
57 57
         "annotations": {
58 58
           "description": "Keeps track of changes in the application image"
59 59
         }
... ...
@@ -63,7 +63,7 @@
63 63
       "kind": "BuildConfig",
64 64
       "apiVersion": "v1",
65 65
       "metadata": {
66
-        "name": "dancer-mysql-example",
66
+        "name": "${NAME}",
67 67
         "annotations": {
68 68
           "description": "Defines how to build the application"
69 69
         }
... ...
@@ -82,7 +82,7 @@
82 82
           "sourceStrategy": {
83 83
             "from": {
84 84
               "kind": "ImageStreamTag",
85
-              "namespace": "openshift",
85
+              "namespace": "${NAMESPACE}",
86 86
               "name": "perl:5.20"
87 87
             }
88 88
           }
... ...
@@ -90,7 +90,7 @@
90 90
         "output": {
91 91
           "to": {
92 92
             "kind": "ImageStreamTag",
93
-            "name": "dancer-mysql-example:latest"
93
+            "name": "${NAME}:latest"
94 94
           }
95 95
         },
96 96
         "triggers": [
... ...
@@ -113,7 +113,7 @@
113 113
       "kind": "DeploymentConfig",
114 114
       "apiVersion": "v1",
115 115
       "metadata": {
116
-        "name": "dancer-mysql-example",
116
+        "name": "${NAME}",
117 117
         "annotations": {
118 118
           "description": "Defines how to deploy the application server"
119 119
         }
... ...
@@ -129,7 +129,7 @@
129 129
               ],
130 130
               "from": {
131 131
                 "kind": "ImageStreamTag",
132
-                "name": "dancer-mysql-example:latest"
132
+                "name": "${NAME}:latest"
133 133
               }
134 134
             }
135 135
           },
... ...
@@ -139,13 +139,13 @@
139 139
         ],
140 140
         "replicas": 1,
141 141
         "selector": {
142
-          "name": "dancer-mysql-example"
142
+          "name": "${NAME}"
143 143
         },
144 144
         "template": {
145 145
           "metadata": {
146
-            "name": "dancer-mysql-example",
146
+            "name": "${NAME}",
147 147
             "labels": {
148
-              "name": "dancer-mysql-example"
148
+              "name": "${NAME}"
149 149
             }
150 150
           },
151 151
           "spec": {
... ...
@@ -256,7 +256,7 @@
256 256
               ],
257 257
               "from": {
258 258
                 "kind": "ImageStreamTag",
259
-                "namespace": "openshift",
259
+                "namespace": "${NAMESPACE}",
260 260
                 "name": "mysql:5.6"
261 261
               }
262 262
             }
... ...
@@ -328,89 +328,103 @@
328 328
   ],
329 329
   "parameters": [
330 330
     {
331
+      "name": "NAME",
332
+      "displayName": "Name",
333
+      "description": "The name assigned to all of the frontend objects defined in this template.",
334
+      "required": true,
335
+      "value": "dancer-mysql-example"
336
+    },
337
+    {
338
+      "name": "NAMESPACE",
339
+      "displayName": "Namespace",
340
+      "description": "The OpenShift Namespace where the ImageStream resides.",
341
+      "value": "openshift"
342
+    },
343
+    {
331 344
       "name": "MEMORY_LIMIT",
332
-      "displayName": "Memory limit",
333
-      "description": "Maximum amount of memory the Perl Dancer container can use",
345
+      "displayName": "Memory Limit",
346
+      "description": "Maximum amount of memory the Perl Dancer container can use.",
334 347
       "value": "512Mi"
335 348
     },
336 349
     {
337 350
       "name": "MEMORY_MYSQL_LIMIT",
338
-      "displayName": "Memory limit",
339
-      "description": "Maximum amount of memory the MySQL container can use",
351
+      "displayName": "Memory Limit (MySQL)",
352
+      "description": "Maximum amount of memory the MySQL container can use.",
340 353
       "value": "512Mi"
341 354
     },
342 355
     {
343 356
       "name": "SOURCE_REPOSITORY_URL",
344
-      "displayName": "Source repository URL",
345
-      "description": "The URL of the repository with your application source code",
357
+      "displayName": "Git Repository URL",
358
+      "description": "The URL of the repository with your application source code.",
346 359
       "value": "https://github.com/openshift/dancer-ex.git"
347 360
     },
348 361
     {
349 362
       "name": "SOURCE_REPOSITORY_REF",
350
-      "displayName": "Source repository reference",
351
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
363
+      "displayName": "Git Reference",
364
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
352 365
     },
353 366
     {
354 367
       "name": "CONTEXT_DIR",
355
-      "displayName": "Context directory",
356
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
368
+      "displayName": "Context Directory",
369
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
357 370
     },
358 371
     {
359 372
       "name": "APPLICATION_DOMAIN",
360
-      "displayName": "Application domain",
373
+      "displayName": "Application Hostname",
361 374
       "description": "The exposed hostname that will route to the Dancer service, if left blank a value will be defaulted.",
362 375
       "value": ""
363 376
     },
364 377
     {
365 378
       "name": "GITHUB_WEBHOOK_SECRET",
366
-      "displayName": "GitHub webhook secret",
367
-      "description": "A secret string used to configure the GitHub webhook",
379
+      "displayName": "GitHub Webhook Secret",
380
+      "description": "A secret string used to configure the GitHub webhook.",
368 381
       "generate": "expression",
369 382
       "from": "[a-zA-Z0-9]{40}"
370 383
     },
371 384
     {
372 385
       "name": "ADMIN_USERNAME",
373
-      "displayName": "Administrator username",
374
-      "description": "administrator username",
386
+      "displayName": "Administrator Username",
375 387
       "generate": "expression",
376 388
       "from": "admin[A-Z0-9]{3}"
377 389
     },
378 390
     {
379 391
       "name": "ADMIN_PASSWORD",
380
-      "description": "administrator password",
392
+      "displayName": "Administrator Password",
381 393
       "generate": "expression",
382 394
       "from": "[a-zA-Z0-9]{8}"
383 395
     },
384 396
     {
385 397
       "name": "DATABASE_SERVICE_NAME",
386
-      "description": "Database service name",
398
+      "displayName": "Database Service Name",
387 399
       "value": "database"
388 400
     },
389 401
     {
390 402
       "name": "DATABASE_USER",
391
-      "description": "database username",
403
+      "displayName": "Database Username",
392 404
       "generate": "expression",
393 405
       "from": "user[A-Z0-9]{3}"
394 406
     },
395 407
     {
396 408
       "name": "DATABASE_PASSWORD",
397
-      "description": "database password",
409
+      "displayName": "Database Password",
398 410
       "generate": "expression",
399 411
       "from": "[a-zA-Z0-9]{8}"
400 412
     },
401 413
     {
402 414
       "name": "DATABASE_NAME",
403
-      "description": "database name",
415
+      "displayName": "Database Name",
404 416
       "value": "sampledb"
405 417
     },
406 418
     {
407 419
       "name": "PERL_APACHE2_RELOAD",
408
-      "description": "Set this to \"true\" to enable automatic reloading of modified Perl modules",
420
+      "displayName": "Perl Module Reload",
421
+      "description": "Set this to \"true\" to enable automatic reloading of modified Perl modules.",
409 422
       "value": ""
410 423
     },
411 424
     {
412 425
       "name": "SECRET_KEY_BASE",
413
-      "description": "Your secret key for verifying the integrity of signed cookies",
426
+      "displayName": "Secret Key",
427
+      "description": "Your secret key for verifying the integrity of signed cookies.",
414 428
       "generate": "expression",
415 429
       "from": "[a-z0-9]{127}"
416 430
     }
... ...
@@ -17,7 +17,7 @@
17 17
       "kind": "Service",
18 18
       "apiVersion": "v1",
19 19
       "metadata": {
20
-        "name": "django-psql-example",
20
+        "name": "${NAME}",
21 21
         "annotations": {
22 22
           "description": "Exposes and load balances the application pods"
23 23
         }
... ...
@@ -31,7 +31,7 @@
31 31
           }
32 32
         ],
33 33
         "selector": {
34
-          "name": "django-psql-example"
34
+          "name": "${NAME}"
35 35
         }
36 36
       }
37 37
     },
... ...
@@ -39,13 +39,13 @@
39 39
       "kind": "Route",
40 40
       "apiVersion": "v1",
41 41
       "metadata": {
42
-        "name": "django-psql-example"
42
+        "name": "${NAME}"
43 43
       },
44 44
       "spec": {
45 45
         "host": "${APPLICATION_DOMAIN}",
46 46
         "to": {
47 47
           "kind": "Service",
48
-          "name": "django-psql-example"
48
+          "name": "${NAME}"
49 49
         }
50 50
       }
51 51
     },
... ...
@@ -53,7 +53,7 @@
53 53
       "kind": "ImageStream",
54 54
       "apiVersion": "v1",
55 55
       "metadata": {
56
-        "name": "django-psql-example",
56
+        "name": "${NAME}",
57 57
         "annotations": {
58 58
           "description": "Keeps track of changes in the application image"
59 59
         }
... ...
@@ -63,7 +63,7 @@
63 63
       "kind": "BuildConfig",
64 64
       "apiVersion": "v1",
65 65
       "metadata": {
66
-        "name": "django-psql-example",
66
+        "name": "${NAME}",
67 67
         "annotations": {
68 68
           "description": "Defines how to build the application"
69 69
         }
... ...
@@ -82,7 +82,7 @@
82 82
           "sourceStrategy": {
83 83
             "from": {
84 84
               "kind": "ImageStreamTag",
85
-              "namespace": "openshift",
85
+              "namespace": "${NAMESPACE}",
86 86
               "name": "python:3.4"
87 87
             }
88 88
           }
... ...
@@ -90,7 +90,7 @@
90 90
         "output": {
91 91
           "to": {
92 92
             "kind": "ImageStreamTag",
93
-            "name": "django-psql-example:latest"
93
+            "name": "${NAME}:latest"
94 94
           }
95 95
         },
96 96
         "triggers": [
... ...
@@ -116,7 +116,7 @@
116 116
       "kind": "DeploymentConfig",
117 117
       "apiVersion": "v1",
118 118
       "metadata": {
119
-        "name": "django-psql-example",
119
+        "name": "${NAME}",
120 120
         "annotations": {
121 121
           "description": "Defines how to deploy the application server"
122 122
         }
... ...
@@ -135,7 +135,7 @@
135 135
               ],
136 136
               "from": {
137 137
                 "kind": "ImageStreamTag",
138
-                "name": "django-psql-example:latest"
138
+                "name": "${NAME}:latest"
139 139
               }
140 140
             }
141 141
           },
... ...
@@ -145,13 +145,13 @@
145 145
         ],
146 146
         "replicas": 1,
147 147
         "selector": {
148
-          "name": "django-psql-example"
148
+          "name": "${NAME}"
149 149
         },
150 150
         "template": {
151 151
           "metadata": {
152
-            "name": "django-psql-example",
152
+            "name": "${NAME}",
153 153
             "labels": {
154
-              "name": "django-psql-example"
154
+              "name": "${NAME}"
155 155
             }
156 156
           },
157 157
           "spec": {
... ...
@@ -266,7 +266,7 @@
266 266
               ],
267 267
               "from": {
268 268
                 "kind": "ImageStreamTag",
269
-                "namespace": "openshift",
269
+                "namespace": "${NAMESPACE}",
270 270
                 "name": "postgresql:9.4"
271 271
               }
272 272
             }
... ...
@@ -338,86 +338,95 @@
338 338
   ],
339 339
   "parameters": [
340 340
     {
341
+      "name": "NAME",
342
+      "displayName": "Name",
343
+      "description": "The name assigned to all of the frontend objects defined in this template.",
344
+      "required": true,
345
+      "value": "django-psql-example"
346
+    },
347
+    {
348
+      "name": "NAMESPACE",
349
+      "displayName": "Namespace",
350
+      "description": "The OpenShift Namespace where the ImageStream resides.",
351
+      "value": "openshift"
352
+    },
353
+    {
341 354
       "name": "MEMORY_LIMIT",
342
-      "displayName": "Memory limit",
343
-      "description": "Maximum amount of memory the Django container can use",
355
+      "displayName": "Memory Limit",
356
+      "description": "Maximum amount of memory the Django container can use.",
344 357
       "value": "512Mi"
345 358
     },
346 359
     {
347 360
       "name": "MEMORY_POSTGRESQL_LIMIT",
348
-      "displayName": "Memory limit",
349
-      "description": "Maximum amount of memory the PostgreSQL container can use",
361
+      "displayName": "Memory Limit (PostgreSQL)",
362
+      "description": "Maximum amount of memory the PostgreSQL container can use.",
350 363
       "value": "512Mi"
351 364
     },
352 365
     {
353 366
       "name": "SOURCE_REPOSITORY_URL",
354
-      "displayName": "Source repository URL",
355
-      "description": "The URL of the repository with your application source code",
367
+      "displayName": "Git Repository URL",
368
+      "description": "The URL of the repository with your application source code.",
356 369
       "value": "https://github.com/openshift/django-ex.git"
357 370
     },
358 371
     {
359 372
       "name": "SOURCE_REPOSITORY_REF",
360
-      "displayName": "Source repository reference",
361
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
373
+      "displayName": "Git Reference",
374
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
362 375
     },
363 376
     {
364 377
       "name": "CONTEXT_DIR",
365
-      "displayName": "Context directory",
366
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
378
+      "displayName": "Context Directory",
379
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
367 380
     },
368 381
     {
369 382
       "name": "APPLICATION_DOMAIN",
370
-      "displayName": "Application hostname",
383
+      "displayName": "Application Hostname",
371 384
       "description": "The exposed hostname that will route to the Django service, if left blank a value will be defaulted.",
372 385
       "value": ""
373 386
     },
374 387
     {
375 388
       "name": "GITHUB_WEBHOOK_SECRET",
376
-      "displayName": "GitHub webhook secret",
377
-      "description": "A secret string used to configure the GitHub webhook",
389
+      "displayName": "GitHub Webhook Secret",
390
+      "description": "A secret string used to configure the GitHub webhook.",
378 391
       "generate": "expression",
379 392
       "from": "[a-zA-Z0-9]{40}"
380 393
     },
381 394
     {
382 395
       "name": "DATABASE_SERVICE_NAME",
383
-      "displayName": "Database service name",
384
-      "description": "Database service name",
396
+      "displayName": "Database Service Name",
385 397
       "value": "postgresql"
386 398
     },
387 399
     {
388 400
       "name": "DATABASE_ENGINE",
389
-      "displayName": "Database engine",
390
-      "description": "Database engine: postgresql, mysql or sqlite (default)",
401
+      "displayName": "Database Engine",
402
+      "description": "Database engine: postgresql, mysql or sqlite (default).",
391 403
       "value": "postgresql"
392 404
     },
393 405
     {
394 406
       "name": "DATABASE_NAME",
395
-      "displayName": "Database name",
396
-      "description": "Database name",
407
+      "displayName": "Database Name",
397 408
       "value": "default"
398 409
     },
399 410
     {
400 411
       "name": "DATABASE_USER",
401
-      "displayName": "Database user name",
402
-      "description": "Database user name",
412
+      "displayName": "Database Username",
403 413
       "value": "django"
404 414
     },
405 415
     {
406 416
       "name": "DATABASE_PASSWORD",
407
-      "displayName": "Database user password",
408
-      "description": "Database user password",
417
+      "displayName": "Database User Password",
409 418
       "generate": "expression",
410 419
       "from": "[a-zA-Z0-9]{16}"
411 420
     },
412 421
     {
413 422
       "name": "APP_CONFIG",
414
-      "displayName": "Application configuration file path",
415
-      "description": "Relative path to Gunicorn configuration file (optional)"
423
+      "displayName": "Application Configuration File Path",
424
+      "description": "Relative path to Gunicorn configuration file (optional)."
416 425
     },
417 426
     {
418 427
       "name": "DJANGO_SECRET_KEY",
419
-      "displayName": "Djange secret key",
420
-      "description": "Set this to a long random string",
428
+      "displayName": "Djange Secret Key",
429
+      "description": "Set this to a long random string.",
421 430
       "generate": "expression",
422 431
       "from": "[\\w]{50}"
423 432
     }
... ...
@@ -17,7 +17,7 @@
17 17
       "kind": "Service",
18 18
       "apiVersion": "v1",
19 19
       "metadata": {
20
-        "name": "nodejs-mongodb-example",
20
+        "name": "${NAME}",
21 21
         "annotations": {
22 22
           "description": "Exposes and load balances the application pods"
23 23
         }
... ...
@@ -31,7 +31,7 @@
31 31
           }
32 32
         ],
33 33
         "selector": {
34
-          "name": "nodejs-mongodb-example"
34
+          "name": "${NAME}"
35 35
         }
36 36
       }
37 37
     },
... ...
@@ -39,13 +39,13 @@
39 39
       "kind": "Route",
40 40
       "apiVersion": "v1",
41 41
       "metadata": {
42
-        "name": "nodejs-mongodb-example"
42
+        "name": "${NAME}"
43 43
       },
44 44
       "spec": {
45 45
         "host": "${APPLICATION_DOMAIN}",
46 46
         "to": {
47 47
           "kind": "Service",
48
-          "name": "nodejs-mongodb-example"
48
+          "name": "${NAME}"
49 49
         }
50 50
       }
51 51
     },
... ...
@@ -53,7 +53,7 @@
53 53
       "kind": "ImageStream",
54 54
       "apiVersion": "v1",
55 55
       "metadata": {
56
-        "name": "nodejs-mongodb-example",
56
+        "name": "${NAME}",
57 57
         "annotations": {
58 58
           "description": "Keeps track of changes in the application image"
59 59
         }
... ...
@@ -63,7 +63,7 @@
63 63
       "kind": "BuildConfig",
64 64
       "apiVersion": "v1",
65 65
       "metadata": {
66
-        "name": "nodejs-mongodb-example",
66
+        "name": "${NAME}",
67 67
         "annotations": {
68 68
           "description": "Defines how to build the application"
69 69
         }
... ...
@@ -82,7 +82,7 @@
82 82
           "sourceStrategy": {
83 83
             "from": {
84 84
               "kind": "ImageStreamTag",
85
-              "namespace": "openshift",
85
+              "namespace": "${NAMESPACE}",
86 86
               "name": "nodejs:0.10"
87 87
             }
88 88
           }
... ...
@@ -90,7 +90,7 @@
90 90
         "output": {
91 91
           "to": {
92 92
             "kind": "ImageStreamTag",
93
-            "name": "nodejs-mongodb-example:latest"
93
+            "name": "${NAME}:latest"
94 94
           }
95 95
         },
96 96
         "triggers": [
... ...
@@ -119,7 +119,7 @@
119 119
       "kind": "DeploymentConfig",
120 120
       "apiVersion": "v1",
121 121
       "metadata": {
122
-        "name": "nodejs-mongodb-example",
122
+        "name": "${NAME}",
123 123
         "annotations": {
124 124
           "description": "Defines how to deploy the application server"
125 125
         }
... ...
@@ -138,7 +138,7 @@
138 138
               ],
139 139
               "from": {
140 140
                 "kind": "ImageStreamTag",
141
-                "name": "nodejs-mongodb-example:latest"
141
+                "name": "${NAME}:latest"
142 142
               }
143 143
             }
144 144
           },
... ...
@@ -148,13 +148,13 @@
148 148
         ],
149 149
         "replicas": 1,
150 150
         "selector": {
151
-          "name": "nodejs-mongodb-example"
151
+          "name": "${NAME}"
152 152
         },
153 153
         "template": {
154 154
           "metadata": {
155
-            "name": "nodejs-mongodb-example",
155
+            "name": "${NAME}",
156 156
             "labels": {
157
-              "name": "nodejs-mongodb-example"
157
+              "name": "${NAME}"
158 158
             }
159 159
           },
160 160
           "spec": {
... ...
@@ -261,7 +261,7 @@
261 261
               ],
262 262
               "from": {
263 263
                 "kind": "ImageStreamTag",
264
-                "namespace": "openshift",
264
+                "namespace": "${NAMESPACE}",
265 265
                 "name": "mongodb:2.6"
266 266
               }
267 267
             }
... ...
@@ -337,83 +337,94 @@
337 337
   ],
338 338
   "parameters": [
339 339
     {
340
+      "name": "NAME",
341
+      "displayName": "Name",
342
+      "description": "The name assigned to all of the frontend objects defined in this template.",
343
+      "required": true,
344
+      "value": "nodejs-mongodb-example"
345
+    },
346
+    {
347
+      "name": "NAMESPACE",
348
+      "displayName": "Namespace",
349
+      "description": "The OpenShift Namespace where the ImageStream resides.",
350
+      "value": "openshift"
351
+    },
352
+    {
340 353
       "name": "MEMORY_LIMIT",
341
-      "displayName": "Memory limit",
342
-      "description": "Maximum amount of memory the Node.js container can use",
354
+      "displayName": "Memory Limit",
355
+      "description": "Maximum amount of memory the Node.js container can use.",
343 356
       "value": "512Mi"
344 357
     },
345 358
     {
346 359
       "name": "MEMORY_MONGODB_LIMIT",
347
-      "displayName": "Memory limit",
348
-      "description": "Maximum amount of memory the MongoDB container can use",
360
+      "displayName": "Memory Limit (MongoDB)",
361
+      "description": "Maximum amount of memory the MongoDB container can use.",
349 362
       "value": "512Mi"
350 363
     },
351 364
     {
352 365
       "name": "SOURCE_REPOSITORY_URL",
353
-      "displayName": "Source repository URL",
354
-      "description": "The URL of the repository with your application source code",
366
+      "displayName": "Git Repository URL",
367
+      "description": "The URL of the repository with your application source code.",
355 368
       "value": "https://github.com/openshift/nodejs-ex.git"
356 369
     },
357 370
     {
358 371
       "name": "SOURCE_REPOSITORY_REF",
359
-      "displayName": "Source repository reference",
360
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
372
+      "displayName": "Git Reference",
373
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
361 374
     },
362 375
     {
363 376
       "name": "CONTEXT_DIR",
364
-      "displayName": "Context directory",
365
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
377
+      "displayName": "Context Directory",
378
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
366 379
     },
367 380
     {
368 381
       "name": "APPLICATION_DOMAIN",
369
-      "displayName": "Application hostname",
382
+      "displayName": "Application Hostname",
370 383
       "description": "The exposed hostname that will route to the Node.js service, if left blank a value will be defaulted.",
371 384
       "value": ""
372 385
     },
373 386
     {
374 387
       "name": "GITHUB_WEBHOOK_SECRET",
375
-      "displayName": "GitHub webhook secret",
376
-      "description": "A secret string used to configure the GitHub webhook",
388
+      "displayName": "GitHub Webhook Secret",
389
+      "description": "A secret string used to configure the GitHub webhook.",
377 390
       "generate": "expression",
378 391
       "from": "[a-zA-Z0-9]{40}"
379 392
     },
380 393
     {
381 394
       "name": "GENERIC_WEBHOOK_SECRET",
382
-      "displayName": "Generic webhook secret",
383
-      "description": "A secret string used to configure the Generic webhook",
395
+      "displayName": "Generic Webhook Secret",
396
+      "description": "A secret string used to configure the Generic webhook.",
384 397
       "generate": "expression",
385 398
       "from": "[a-zA-Z0-9]{40}"
386 399
     },
387 400
     {
388 401
       "name": "DATABASE_SERVICE_NAME",
389
-      "displayName": "Database service name",
390
-      "description": "Database service name",
402
+      "displayName": "Database Service Name",
391 403
       "value": "mongodb"
392 404
     },
393 405
     {
394 406
       "name": "DATABASE_USER",
395
-      "displayName": "MongoDB user name",
396
-      "description": "Username for MongoDB user that will be used for accessing the database",
407
+      "displayName": "MongoDB Username",
408
+      "description": "Username for MongoDB user that will be used for accessing the database.",
397 409
       "generate": "expression",
398 410
       "from": "user[A-Z0-9]{3}"
399 411
     },
400 412
     {
401 413
       "name": "DATABASE_PASSWORD",
402
-      "displayName": "MongoDB password",
403
-      "description": "Password for the MongoDB user",
414
+      "displayName": "MongoDB Password",
415
+      "description": "Password for the MongoDB user.",
404 416
       "generate": "expression",
405 417
       "from": "[a-zA-Z0-9]{16}"
406 418
     },
407 419
     {
408 420
       "name": "DATABASE_NAME",
409
-      "displayName": "Database name",
410
-      "description": "Database name",
421
+      "displayName": "Database Name",
411 422
       "value": "sampledb"
412 423
     },
413 424
     {
414 425
       "name": "DATABASE_ADMIN_PASSWORD",
415
-      "displayName": "Database administrator password",
416
-      "description": "Password for the database admin user",
426
+      "displayName": "Database Administrator Password",
427
+      "description": "Password for the database admin user.",
417 428
       "generate": "expression",
418 429
       "from": "[a-zA-Z0-9]{16}"
419 430
     }
... ...
@@ -17,7 +17,7 @@
17 17
       "kind": "Service",
18 18
       "apiVersion": "v1",
19 19
       "metadata": {
20
-        "name": "rails-postgresql-example",
20
+        "name": "${NAME}",
21 21
         "annotations": {
22 22
           "description": "Exposes and load balances the application pods"
23 23
         }
... ...
@@ -31,7 +31,7 @@
31 31
           }
32 32
         ],
33 33
         "selector": {
34
-          "name": "rails-postgresql-example"
34
+          "name": "${NAME}"
35 35
         }
36 36
       }
37 37
     },
... ...
@@ -39,13 +39,13 @@
39 39
       "kind": "Route",
40 40
       "apiVersion": "v1",
41 41
       "metadata": {
42
-        "name": "rails-postgresql-example"
42
+        "name": "${NAME}"
43 43
       },
44 44
       "spec": {
45 45
         "host": "${APPLICATION_DOMAIN}",
46 46
         "to": {
47 47
           "kind": "Service",
48
-          "name": "rails-postgresql-example"
48
+          "name": "${NAME}"
49 49
         }
50 50
       }
51 51
     },
... ...
@@ -53,7 +53,7 @@
53 53
       "kind": "ImageStream",
54 54
       "apiVersion": "v1",
55 55
       "metadata": {
56
-        "name": "rails-postgresql-example",
56
+        "name": "${NAME}",
57 57
         "annotations": {
58 58
           "description": "Keeps track of changes in the application image"
59 59
         }
... ...
@@ -63,7 +63,7 @@
63 63
       "kind": "BuildConfig",
64 64
       "apiVersion": "v1",
65 65
       "metadata": {
66
-        "name": "rails-postgresql-example",
66
+        "name": "${NAME}",
67 67
         "annotations": {
68 68
           "description": "Defines how to build the application"
69 69
         }
... ...
@@ -82,7 +82,7 @@
82 82
           "sourceStrategy": {
83 83
             "from": {
84 84
               "kind": "ImageStreamTag",
85
-              "namespace": "openshift",
85
+              "namespace": "${NAMESPACE}",
86 86
               "name": "ruby:2.2"
87 87
             }
88 88
           }
... ...
@@ -90,7 +90,7 @@
90 90
         "output": {
91 91
           "to": {
92 92
             "kind": "ImageStreamTag",
93
-            "name": "rails-postgresql-example:latest"
93
+            "name": "${NAME}:latest"
94 94
           }
95 95
         },
96 96
         "triggers": [
... ...
@@ -116,7 +116,7 @@
116 116
       "kind": "DeploymentConfig",
117 117
       "apiVersion": "v1",
118 118
       "metadata": {
119
-        "name": "rails-postgresql-example",
119
+        "name": "${NAME}",
120 120
         "annotations": {
121 121
           "description": "Defines how to deploy the application server"
122 122
         }
... ...
@@ -131,7 +131,7 @@
131 131
                 "command": [
132 132
                   "./migrate-database.sh"
133 133
                 ],
134
-                "containerName": "rails-postgresql-example"
134
+                "containerName": "${NAME}"
135 135
               }
136 136
             }
137 137
           }
... ...
@@ -146,7 +146,7 @@
146 146
               ],
147 147
               "from": {
148 148
                 "kind": "ImageStreamTag",
149
-                "name": "rails-postgresql-example:latest"
149
+                "name": "${NAME}:latest"
150 150
               }
151 151
             }
152 152
           },
... ...
@@ -156,13 +156,13 @@
156 156
         ],
157 157
         "replicas": 1,
158 158
         "selector": {
159
-          "name": "rails-postgresql-example"
159
+          "name": "${NAME}"
160 160
         },
161 161
         "template": {
162 162
           "metadata": {
163
-            "name": "rails-postgresql-example",
163
+            "name": "${NAME}",
164 164
             "labels": {
165
-              "name": "rails-postgresql-example"
165
+              "name": "${NAME}"
166 166
             }
167 167
           },
168 168
           "spec": {
... ...
@@ -293,7 +293,7 @@
293 293
               ],
294 294
               "from": {
295 295
                 "kind": "ImageStreamTag",
296
-                "namespace": "openshift",
296
+                "namespace": "${NAMESPACE}",
297 297
                 "name": "postgresql:9.4"
298 298
               }
299 299
             }
... ...
@@ -373,107 +373,114 @@
373 373
   ],
374 374
   "parameters": [
375 375
     {
376
+      "name": "NAME",
377
+      "displayName": "Name",
378
+      "description": "The name assigned to all of the frontend objects defined in this template.",
379
+      "required": true,
380
+      "value": "rails-postgresql-example"
381
+    },
382
+    {
383
+      "name": "NAMESPACE",
384
+      "displayName": "Namespace",
385
+      "description": "The OpenShift Namespace where the ImageStream resides.",
386
+      "value": "openshift"
387
+    },
388
+    {
376 389
       "name": "MEMORY_LIMIT",
377
-      "displayName": "Memory limit",
378
-      "description": "Maximum amount of memory the Rails container can use",
390
+      "displayName": "Memory Limit",
391
+      "description": "Maximum amount of memory the Rails container can use.",
379 392
       "value": "512Mi"
380 393
     },
381 394
     {
382 395
       "name": "MEMORY_POSTGRESQL_LIMIT",
383
-      "displayName": "Memory limit",
384
-      "description": "Maximum amount of memory the PostgreSQL container can use",
396
+      "displayName": "Memory Limit (PostgreSQL)",
397
+      "description": "Maximum amount of memory the PostgreSQL container can use.",
385 398
       "value": "512Mi"
386 399
     },
387 400
     {
388 401
       "name": "SOURCE_REPOSITORY_URL",
389
-      "displayName": "Source repository URL",
390
-      "description": "The URL of the repository with your application source code",
402
+      "displayName": "Git Repository URL",
403
+      "description": "The URL of the repository with your application source code.",
391 404
       "value": "https://github.com/openshift/rails-ex.git"
392 405
     },
393 406
     {
394 407
       "name": "SOURCE_REPOSITORY_REF",
395
-      "displayName": "Source repository reference",
396
-      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch"
408
+      "displayName": "Git Reference",
409
+      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
397 410
     },
398 411
     {
399 412
       "name": "CONTEXT_DIR",
400
-      "displayName": "Context directory",
401
-      "description": "Set this to the relative path to your project if it is not in the root of your repository"
413
+      "displayName": "Context Directory",
414
+      "description": "Set this to the relative path to your project if it is not in the root of your repository."
402 415
     },
403 416
     {
404 417
       "name": "APPLICATION_DOMAIN",
405
-      "displayName": "Application hostname",
418
+      "displayName": "Application Hostname",
406 419
       "description": "The exposed hostname that will route to the Rails service, if left blank a value will be defaulted.",
407 420
       "value": ""
408 421
     },
409 422
     {
410 423
       "name": "GITHUB_WEBHOOK_SECRET",
411
-      "displayName": "GitHub webhook secret",
412
-      "description": "A secret string used to configure the GitHub webhook",
424
+      "displayName": "GitHub Webhook Secret",
425
+      "description": "A secret string used to configure the GitHub webhook.",
413 426
       "generate": "expression",
414 427
       "from": "[a-zA-Z0-9]{40}"
415 428
     },
416 429
     {
417 430
       "name": "SECRET_KEY_BASE",
418
-      "displayName": "Secret key",
419
-      "description": "Your secret key for verifying the integrity of signed cookies",
431
+      "displayName": "Secret Key",
432
+      "description": "Your secret key for verifying the integrity of signed cookies.",
420 433
       "generate": "expression",
421 434
       "from": "[a-z0-9]{127}"
422 435
     },
423 436
     {
424 437
       "name": "APPLICATION_USER",
425
-      "displayName": "Application user name",
426
-      "description": "The application user that is used within the sample application to authorize access on pages",
438
+      "displayName": "Application Username",
439
+      "description": "The application user that is used within the sample application to authorize access on pages.",
427 440
       "value": "openshift"
428 441
     },
429 442
     {
430 443
       "name": "APPLICATION_PASSWORD",
431
-      "displayName": "Application password",
432
-      "description": "The application password that is used within the sample application to authorize access on pages",
444
+      "displayName": "Application Password",
445
+      "description": "The application password that is used within the sample application to authorize access on pages.",
433 446
       "value": "secret"
434 447
     },
435 448
     {
436 449
       "name": "RAILS_ENV",
437
-      "displayName": "Rails environment",
438
-      "description": "Environment under which the sample application will run. Could be set to production, development or test",
450
+      "displayName": "Rails Environment",
451
+      "description": "Environment under which the sample application will run. Could be set to production, development or test.",
439 452
       "value": "production"
440 453
     },
441 454
     {
442 455
       "name": "DATABASE_SERVICE_NAME",
443
-      "displayName": "Database service name",
444
-      "description": "Database service name",
456
+      "displayName": "Database Service Name",
445 457
       "value": "postgresql"
446 458
     },
447 459
     {
448 460
       "name": "DATABASE_USER",
449
-      "displayName": "Database user name",
450
-      "description": "database username",
461
+      "displayName": "Database Username",
451 462
       "generate": "expression",
452 463
       "from": "user[A-Z0-9]{3}"
453 464
     },
454 465
     {
455 466
       "name": "DATABASE_PASSWORD",
456
-      "displayName": "Database password",
457
-      "description": "database password",
467
+      "displayName": "Database Password",
458 468
       "generate": "expression",
459 469
       "from": "[a-zA-Z0-9]{8}"
460 470
     },
461 471
     {
462 472
       "name": "DATABASE_NAME",
463
-      "displayName": "Database name",
464
-      "description": "database name",
473
+      "displayName": "Database Name",
465 474
       "value": "root"
466 475
     },
467 476
     {
468 477
       "name": "POSTGRESQL_MAX_CONNECTIONS",
469
-      "displayName": "Maximum database connections",
470
-      "description": "database max connections",
478
+      "displayName": "Maximum Database Connections",
471 479
       "value": "100"
472 480
     },
473 481
     {
474 482
       "name": "POSTGRESQL_SHARED_BUFFERS",
475
-      "displayName": "Shared buffer amount",
476
-      "description": "database shared buffers",
483
+      "displayName": "Shared Buffer Amount",
477 484
       "value": "12MB"
478 485
     }
479 486
   ]