Skip to main content

Get started with Tulip

Try Tulip in five minutes

You’ll run Tulip in Docker, send it test traces, and watch them come out the other side. All you need is Docker and Go.

  1. Save a minimal configuration as config.yaml. It receives OTLP and prints everything to the console:

    receivers:
    otlp:
    protocols:
    grpc:
    endpoint: 0.0.0.0:4317
    http:
    endpoint: 0.0.0.0:4318
    exporters:
    debug:
    verbosity: detailed
    service:
    pipelines:
    traces:
    receivers: [otlp]
    exporters: [debug]
  2. Run the container with that configuration:

    Terminal window
    docker run --rm \
    -p 4317:4317 -p 4318:4318 \
    -v $(pwd)/config.yaml:/etc/tulip/config.yaml \
    cr.olly.garden/ollygarden/tulip/tulip:latest

    Tagged versions are listed in the container registry.

  3. From another terminal, send a few test traces:

    Terminal window
    go run github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen@latest \
    traces --otlp-endpoint localhost:4317 --otlp-insecure --rate 1 --duration 5s
  4. Watch the spans appear in the container’s output. That’s a working Tulip pipeline; from here, replace the debug exporter with your real backend.

Replace your existing Collector

Tulip is a distribution of the upstream OpenTelemetry Collector, so migrating means swapping the image and keeping the configuration you already have.

  1. Check your configuration against the supported component set. Using components outside the set is fine: fork the manifest, add what you need, and build your own image. Just know where support ends. OllyGarden supports the components in the official manifest; anything you add is yours to manage, with best-effort guidance from us.

  2. Point your deployment at the Tulip image (cr.olly.garden/ollygarden/tulip/tulip).

  3. Roll out the way you would any Collector upgrade: one instance first, compare its telemetry output against the instance it replaced, then the fleet.

Build from source

Terminal window
git clone https://github.com/ollygarden/tulip
cd tulip
make build
./distributions/tulip/_build/tulip --config=distributions/tulip/config.yaml

Next: see which components are supported and how releases and support work.