Skip to main content

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 collector
  • 4318 for HTTP OTLP collector
  • 16686 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.