Status

Stakeholders
Outcome
Due date
Owner


Background

The new reporting platform requires a number of components that each run independently. The team needs to determine a structure for the code repository to ensure we follow practices that are architecturally sound. This document provides a central location for the discussion and focuses on documenting the decisions we made to arrive at the structure. This document was informed by this thread on the Openlmis-dev forum

The following components will be addressed:

Each of the components need to be able to be stood up with a docker-compose command, they need to support CI/CD and eventually allow for version controlled templating. This document includes a proposed GitHub Repository structure with links to Docker hub containers that can be used.

Proposed Structure

We will need to add a reporting docker-compose file and templates for the specific service to the openlmis-ref-distro repository that stands up the reporting stack.

We would like to implement the reporting stack without creating new Docker images where ever possible, therefore we propose creating a reporting folder in the openlmis-ref-distro repo that will contain the docker-compose.yml file and associated template files. Tooling that we build to load templates into the reporting stack will exist elsewhere in separate tool repo(s).

The docker-compose file will need to reference Docker files for the following services and the repository will need to contain templates for them:

Configuration

OpenLMIS Reporting Repository Template

The OpenLMIS team maintains an OpenLMIS Service Template GitHub repository to support the standardization of all repositories across the GitHub organization. We need to identify if these templates are appropriate for each of these reporting components. This analysis was performed on 7 May 2018 and may have changed since.

Current repository template structure:

Notes on new reporting template structure:

Discussion Topics