The ntgrator is a (fake) application used by engineers at {company} to get their code deployed to production. It is responsible for batching together dozens of changes from dozens of engineers, producing dozens of built artifacts via dozens of pipelines and then seeing these artifacts deployed to hundreds of servers in dozens of application groups.
It is also responsible for gathering and recording quality and compliance information, and managing sophisticated cache builds.
For end-user documentation, see the docs. This is auto-generated via MkDocs from the /docs directory in this repository.
This application is fully containerized and can be run locally via:
docker-compose up dev
This will create the following services:
- Admin Application running on port 8081
- User Application running on port 8082
- API running on port 8083
- Postgres database running on port 8084
For more details on these services and their configuration see docker-compose.yaml
and the docker/
directory.
Unit tests are also containerized, run them via:
docker-compose run tests
This will run both unit and integration tests, to only run one or the other, instead run:
docker-compose run test-unit
docker-compose run test-integration
Unit tests are all located in a tests/
directory at the same level as the tested code.
A coverage report is generated on each test run and can be browsed in the coverage/
directory.
See docs/ard
for team discussions over architechure choices and the evolution of this project.
The applications all report logs and metrics to several platforms:
- ElasticSearch for application logs
- InfluxDB for metrics
- DataDog gathers system metrics
See docs/zen10.md
for detailed instructions on how to respond to alerts, interpret monitoring data and perform operational tasks.
This app is built on top of a relational database using Postgres, see docs/database
for more details.