medic / medic-os

A space-efficient Linux-based operating system, designed specifically to run Medic's mHealth platform. This is the build system and source code; Docker images will be available on Medic's website.
https://medic.org
GNU Affero General Public License v3.0
10 stars 6 forks source link

Medic OS, Docker: Remove garden, merge horticulturalist #29

Closed ghost closed 6 years ago

ghost commented 6 years ago

Completely remove our old method of distributing Node.js-based services (garden, gardener, dashboard), the entirety of the old DIY "concierge" first-run Express.js application, and some deprecated SMS-related items. Add Horticulturalist, plus new automatic bootstrap code for CouchDB and Horticulturalist.

Automatically bootstrap all services on first boot (effect: CouchDB is kicked out of admin party mode, service-specific accounts are created, dependent services have access to those passwords, and the default administrator – now medic – gets a login prompt and can log in when accessing the container via HTTPS). If the initial interactive administrative password (username medic) is not passed into the environment as $DOCKER_ADMIN_PASSWORD, generate one at random and display it once on the console.

Still to do for other issues: start selectively disabling redundant and/or apt-managed services, determine how to bootstrap configuration, start testing generated Docker images on ECS, decide on when/if to remove couchdb-lucene.

Requires horticulturalist PR:

  1. https://github.com/medic/horticulturalist/pull/4

Interesting directories for reviewers:

  1. https://github.com/medic/medic-os/tree/4157-horticulturalist-merge/platform/packages/horticulturalist/scripts/horticulturalist
  2. https://github.com/medic/medic-os/tree/4157-horticulturalist-merge/platform/packages/medic-api/scripts/medic-api
  3. https://github.com/medic/medic-os/tree/4157-horticulturalist-merge/platform/packages/medic-sentinel/scripts/medic-sentinel