Loading...
Loading...
Build custom OpenTelemetry Collector distributions with OCB (OpenTelemetry Collector Builder). Use when authoring or debugging a builder manifest (builder.yaml), choosing component and provider versions, building a collector that bundles a custom or out-of-distribution component, setting up CI or Docker builds of a distribution, or troubleshooting OCB build failures. Triggers on "ocb", "collector builder", "custom collector distribution", "builder manifest", "builder-config", and version-mismatch errors from OCB builds.
npx skill4agent add ollygarden/opentelemetry-agent-skills otel-collector-builderotelcolotelcol-contribotel-collectorotel-telemetrygendist:v0.x.0v0.x.0v1.y.0ocb --config=builder.yamlbuildergo install./dist/<name> validate --config=<collector-config>.yamlotel-telemetrygen# Release binary (named ocb): https://github.com/open-telemetry/opentelemetry-collector-releases/releases?q=cmd/builder
# Go install (binary is named `builder`, not `ocb`):
go install go.opentelemetry.io/collector/cmd/builder@v0.158.0ocbgo installbuilder ...ocb init--path.# builder.yaml
dist:
name: otelcol-custom
description: Custom OpenTelemetry Collector distribution
output_path: ./dist
version: 1.0.0
receivers:
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.158.0
processors:
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.158.0
exporters:
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.158.0
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.158.0
providers:
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.64.0
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.64.0providers:providers:conf_resolver.default_uri_schemeenvenvproviderenvproviderprocessors:
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.158.0| Stream | Modules | Example |
|---|---|---|
| OCB itself, all core components ( | |
| confmap providers ( | |
v0.x.0https://github.com/open-telemetry/opentelemetry-collector/blob/cmd/builder/v0.158.0/cmd/builder/internal/config/default.yamlv0.158.0v1.64.0vv0.158.00.158.0--skip-strict-versioningtruego mod tidyocb --config=builder.yaml # full build: generate + go mod tidy + compile
ocb --config=builder.yaml --skip-compilation # generate sources only (two-stage CI)
ocb --config=builder.yaml --skip-generate --skip-get-modules # compile pre-generated sources untouched| Flag | Default | Purpose |
|---|---|---|
| embedded default manifest | Manifest path. With no |
| | Don't regenerate Go sources |
| | Generate sources, don't compile |
| | Don't run |
| | Set to |
| — | Extra |
| | Log the underlying Go commands |
output_pathmain.gocomponents.gomain_others.gomain_windows.gogo.modgo.sumdist.name-s -wdist.debug_compilation: truedist:gomodimportnamepathreplacesexcludesconf_resolvertelemetryopentelemetry-collector-releases