Ansible and Docker - Container and Automated Deployment Tooling

Maintain Docker containers for developer use

  • Goal is to support a simple ways to stand-up the reporting stack for use by developers that integrates with existing OpenLMIS developer tooling
  • OpenLMIS developers currently use Docker containers
  • Use existing Docker containers for components in the reporting stack
    • Make minimal configurations of these
  • Use Docker compose to combine the various docker containers for individual components of the reporting stack

Maintain existing Ansible scripts for production use

  • We have working Ansible scripts for a production version of the reporting infrastructure
  • The OpenLMIS team does not have any container based production deploys
  • We will maintain the Ansible scripts
    • So that they could be used in production if desired
    • So that we keep a layer of abstraction between reporting application specific changes and service specific changes (i.e. scripts to load data, etc. belong in neither the Docker nor Ansible config but will be used by both)

Docker and Ansible are only responsible for running services

  • Keep a layer of abstraction between reporting application specific changes and service specific changes
  • Scripts to load data, run commands against services (other than start, stop, restart) should be referenced by Docker and Ansible but not included directly in either of those components

OpenLMIS: the global initiative for powerful LMIS software