datopian / deploy

Deployment automation for the DataHub

Home Page:https://datahub.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[epic] Docker cloud deploy of the basic stack

rufuspollock opened this issue · comments

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/

FIXED. Most of this is done, only destroy is remaining.
Follow up here #10