{
  "id": "example1",
  "kind": "Template",
  "apiVersion": "v1beta1",
  "name": "My awesome PHP app",
  "description": "Example PHP application with PostgreSQL database",
  "parameters": [
    {
      "name": "DB_PASSWORD",
      "description": "PostgreSQL admin user password",
      "type": "string",
      "expression": "[a-zA-Z0-9]{8}"
    },
    {
      "name": "DB_USER",
      "description": "PostgreSQL username",
      "type": "string",
      "expression": "admin[a-zA-Z0-9]{4}"
    },
    {
      "name": "DB_NAME",
      "description": "PostgreSQL database name",
      "type": "string",
      "value": "mydb"
    }
  ],
  "items": [
    {
      "kind": "Service",
      "id": "frontend",
      "apiVersion": "v1beta1",
      "port": 8080,
      "containerPort": 9292,
      "selector": {
        "name": "frontend"
      }
    },
    {
      "kind": "Service",
      "id": "database",
      "apiVersion": "v1beta1",
      "port": 5432,
      "containerPort": 5432,
      "selector": {
        "name": "database"
      }
    },
    {
      "kind": "ReplicationController",
      "id": "frontendController",
      "apiVersion": "v1beta1",
      "desiredState": {
        "replicas": 2,
        "replicaSelector": {
          "name": "frontend"
        },
        "podTemplate": {
          "desiredState": {
            "manifest": {
              "id": "frontendController",
              "version": "v1beta1",
              "containers": [
                {
                  "name": "nginx-php-app",
                  "image": "mfojtik/nginx-php-app",
                  "env": [
                    {
                      "name": "PGPASSWORD",
                      "value": "${DB_PASSWORD}"
                    },
                    {
                      "name": "PGUSER",
                      "value": "${DB_USER}"
                    },
                    {
                      "name": "PGDATABASE",
                      "value": "${DB_NAME}"
                    }
                  ],
                  "ports": [
                    {
                      "containerPort": 9292,
                      "hostPort": 8080
                    }
                  ]
                }
              ]
            }
          },
          "labels": {
            "name": "frontend"
          }
        }
      },
      "labels": {
        "name": "frontend"
      }
    },
    {
      "kind": "Pod",
      "id": "postgresql",
      "apiVersion": "v1beta1",
      "desiredState": {
        "manifest": {
          "version": "v1beta1",
          "id": "database",
          "containers": [
            {
              "name": "postgresql",
              "image": "postgres",
              "env": [
                {
                  "name": "PGPASSWORD",
                  "value": "${DB_PASSWORD}"
                },
                {
                  "name": "PGUSER",
                  "value": "${DB_USER}"
                },
                {
                  "name": "PGDATABASE",
                  "value": "${DB_NAME}"
                }
              ],
              "ports": [
                {
                  "containerPort": 5432,
                  "hostPort": 5432
                }
              ]
            }
          ]
        }
      },
      "labels": {
        "name": "database"
      }
    }
  ]
}