{ "id": "example1", "name": "my-awesome-php-app", "description": "Example PHP application with PostgreSQL database", "buildConfigs": [ { "name": "mfojtik/nginx-php-app", "type": "docker", "sourceUri": "https://raw.githubusercontent.com/mfojtik/phpapp/master/Dockerfile", "imageRepository": "mfojtik/nginx-php-app" }, { "name": "postgres", "type": "docker", "sourceUri": "https://raw.githubusercontent.com/docker-library/postgres/docker/9.2/Dockerfile", "imageRepository": "postgres" } ], "imageRepositories": [ { "name": "mfojtik/nginx-php-app", "url": "internal.registry.com:5000/mfojtik/phpapp" }, { "name": "postgres", "url": "registry.hub.docker.com/postgres" } ], "parameters": [ { "name": "DB_PASSWORD", "description": "PostgreSQL admin user password", "type": "string", "generate": "[a-zA-Z0-9]{8}" }, { "name": "DB_USER", "description": "PostgreSQL username", "type": "string", "generate": "admin[a-zA-Z0-9]{4}" }, { "name": "DB_NAME", "description": "PostgreSQL database name", "type": "string", "value": "mydb" } ], "services": [ { "id": "database", "kind": "Service", "apiVersion": "v1beta1", "port": 5432, "selector": { "name": "database" } }, { "id": "frontend", "kind": "Service", "apiVersion": "v1beta1", "port": 8080, "selector": { "name": "frontend" } } ], "deploymentConfigs": [ { "kind": "DeploymentConfig", "apiVersion": "v1beta1", "labels": { "name": "database" }, "desiredState": { "replicas": 2, "replicaSelector": { "name": "database" }, "podTemplate": { "kind": "Pod", "apiVersion": "v1beta1", "id": "database", "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, } ] } ] } }, "labels": { "name": "database" } } } }, { "kind": "DeploymentConfig", "apiVersion": "v1beta1", "labels": { "name": "frontend" }, "desiredState": { "replicas": 2, "replicaSelector": { "name": "frontend" }, "podTemplate": { "kind": "Pod", "apiVersion": "v1beta1", "id": "frontend", "desiredState": { "manifest": { "version": "v1beta1", "id": "frontend", "containers": [{ "name": "frontend", "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" } } } } ] }