Development
Prerequisites
For development, you will need:
The simplest way to install all required tools is to use asdf:
asdf install
See .tool-versions
for currently pinned versions.
Building and testing
Refer to Taskfile for available commands to work with the project.
Integrations
Tracing
To develop tracing integration, you can deploy Jaeger locally using Docker.
We need the following ports:
4317
for gRPC OTLP collector4318
for HTTP OTLP collector16686
for UI
This command starts Jaeger using in-memory storage:
docker run \
--name jaeger \
--rm \
-e COLLECTOR_OTLP_ENABLED=true \
-p 4317:4317 \
-p 4318:4318 \
-p 16686:16686 \
jaegertracing/all-in-one:1.49
For more options, see reference: https://www.jaegertracing.io/docs/1.49/deployment
Example Auditum configuration part to send traces to Jaeger via gRPC OTLP port:
tracing:
enabled: true
exporter: otlp
otlp:
endpoint: "grpc://localhost:4317"
Make a few requests to Auditum API and then navigate to http://localhost:16686 to see traces in Jaeger UI.