This project will introduce the hexagonal architecture for an all new service. In the following you will find a documentation how to do it.
In the following you will find all the external resources which are included and set up in the blueprint.
- Serilog
- Loki
- Prometheus
- Grafana
- Swagger
All of these resources were configured by the included WireWaste ServiceCommons library.
To produce meaning full logs, we implemented Serilog to the blueprint. Serilog could be manged via the appsettings in the blueprint.
Prometheus will receive all metrics from the service.
Loki will receive all logs from the service.
Grafana will print the logs saved in loki and metrics saved in prometheus.
Swagger will produce api documentation.
To configure a new service like the blueprint, you have to implement the following steps:
- Add in section
<PropertyGroup></PropertyGroup>the block<GenerateDocumentationFile>true</GenerateDocumentationFile>to the .csproj file of the api service. - Fork the blueprint
- Change the name of the solution
- Change the hostname and port in
docker-compose.ymlandprometheus.ymlto the name of the service