Skip to main content

Dagger Operator Manual

caution

This documentation is for an older version of Dagger, which is no longer actively maintained.

We encourage you to upgrade and refer to the documentation for the most current version.

If you cannot upgrade to the latest version, please contact us in the help forum on Discord. When contacting us, please let us know why you cannot move to the latest version. From there, our team will work with you on your use case.

Custom buildkit setup

Dagger can be configured to use an existing buildkit daemon, running either locally or remotely. This can be done using two environment variables: BUILDKIT_HOST and DOCKER_HOST.

To use a buildkit daemon listening on TCP port 1234 on localhost:

export BUILDKIT_HOST=tcp://localhost:1234

To use a buildkit daemon running in a container named "super-buildkit" on the local docker host:

export BUILDKIT_HOST=docker-container://super-buildkit

To use a buildkit daemon running on a remote docker host (be careful to properly secure remotely accessible docker hosts!)

export BUILDKIT_HOST=docker-container://super-buildkit
export DOCKER_HOST=tcp://my-remote-docker-host:2376

Custom runtime setup

If you aren't using the Docker container runtime in your environment, you simply have to run buildkit daemon in the runtime of your choice and instruct Dagger to use it.

To create a buildkit daemon in Podman:

podman run -d --name buildkitd --privileged moby/buildkit:latest

To the use that daemon, set the BUILDKIT_HOST environment variable with the correct scheme. Continuing with the Podman example:

export BUILDKIT_HOST=podman-container://buildkitd

Dagger currently supports these connection schemes:

  • docker-container://
  • podman-container://
  • kube-pod://

OpenTelemetry Support

Both Dagger and buildkit support opentelemetry. To capture traces to Jaeger, set the OTEL_EXPORTER_JAEGER_ENDPOINT environment variable to the collection address.

A docker-compose file is available to help bootstrap the tracing environment:

docker-compose -f ./dagger-main/tracing.compose.yaml up -d
export BUILDKIT_HOST=docker-container://dagger-buildkitd-jaeger
export OTEL_EXPORTER_JAEGER_ENDPOINT=http://localhost:14268/api/traces

dagger up

You can then go to http://localhost:16686/ in your browser to see the traces.