This service provides a minimal HTTP API that interacts with a VictoriaMetrics instance. The stack is fully containerized using Docker Compose.
- Docker and docker-compose installed
git clone git@github.com:SensorWave/metrics-service.git
cd metrics-service
docker-compose up --build
Once running, access the built-in UI:
The microservice exposes a small HTTP interface.
Full API documentation is available in documentation/api/.
POST /metrics
Content-Type: application/json
{
"metric": "temperature",
"value": 24.8,
"tags": {"company_id": "google", "sensor_id": "sensor_42"}
}
200 OK
The service supports configuration through environment variables (set in docker-compose.yml).
Variables:
VM_URL– VictoriaMetrics base URL
Adjust these in the compose file as needed.
Tests are executed directly inside the Go module.
cd metrics-service
go test ./....
├── documentation/
│ ├── api/
│ └── architecture/
├── metrics-service/
│ ├── .gitignore
│ ├── Dockerfile
│ ├── go.mod
│ ├── go.sum
│ └── main.go
├── victoria-metrics/
│ ├── .gitignore
│ └── data/
├── docker-compose.yml
└── README.md
The project follows the following conventions:
- commits : https://www.conventionalcommits.org/en/v1.0.0/
- branches : https://conventional-branch.github.io/
- git-flow : https://git-flow.sh/
-
VictoriaMetrics API docs: https://docs.victoriametrics.com/
-
Docker documentation: https://docs.docker.com/
-
Architecture diagram: documentation/architecture/dataFlowDiagram.md
-
Sequence diagrams: documentation/architecture/sequenceDiagram.md
-
Deployment diagram: documentation/architecture/deploymentDiagram.md