[epic] Docker cloud deploy of the basic stack
rufuspollock opened this issue · comments
Rufus Pollock commented
As an Admin I want to deploy the entire application stack in an automated fashion so that it is live in under 5 minutes
- Key config:
- base domain e.g. "datahub.io"
- stage e.g. "staging", "testing", "production" ("" as url)
- Misc credentials
- Docker cloud credentials
- S3 credentials
Acceptance criteria
- We can launch a new app instance with one or a few commands
- We can destroy an app instance with one or a few commands
Tasks
- auth service
- postgres service
- auth webapp deployed
- config and linked to postgres service
- Set
EXTERNAL_ADDRESS
variable- nice url (via cloudflare) - note this is not actually need because we really should route this into a unified API but it is a way to test this stuff to start with
- https works switch from full to flexible on cloudflare and expose port 443 on the webserver
- Set
EXTERNAL_ADDRESS
variable
- frontend
- API frontend / proxy service - nginx proxy (cf openspending)
- rawstore service
- Wrap this into a nice command
- Move env variables in env.template with instructions on how to copy and edit and then use so that we can commit the docker-cloud.yml without including sensitive information (Note docker will use local env variables of the same name)
Analysis
We are using docker cloud stacks which are similar to compose files (but a little different).
Service discovery: https://docs.docker.com/docker-cloud/apps/service-links/
Irakli Mchedlishvili commented
FIXED. Most of this is done, only destroy is remaining.
Follow up here #10