Experiment with docker interace

Experiment with docker interace#

Status#

Accepted

Context#

Note

This ADR’s scope is very limited to developer facing make interface for docker and does not address questions on other make interfaces.

Note

This decision has a shelf life of the enterprise-catalog prototype and will be reevaluated as we continue testing decentralized devstack.

The current devstack wraps some common docker-compose commands with make targets.

During development, the question about the necessitate of make targets to wrap common docker-compose files was raised. Some make target seemed unnecessary as wrappers to simple commands.

Some of the make targets that are deemed unnecessary:

  • build: docker-compose build

  • pull: docker-compose pull

  • down: docker-compose down

  • shell: docker-compose exec app bash

  • logs: docker-compose logs -f app

  • up: docker-compose up -d

Options#

  1. Follow the pattern of current Devstack, which uses make targets as a basic interface for developers.

  2. Use docker-compose commands directly for managing images and containers

Decision#

For initial prototype, we will attempt to interface with DD through docker-compose commands directly. How_to docs should be created to help developers use docker-compose commands.

Main reasons for decision:

  • these make targets do not sufficiently decrease verbosity

  • makes debugging easier by allowing you to directly use resources on the interwebs

  • standardization by using external standard

  • developers will learn how to use this essential technology during normal work rather than have to learn it only during debugging

This decision will be reevaluated after prototyping with enterprise-catalog.