hyperdx/docker/otel-collector
Warren Lee 0a4fb15df2
[HDX-4029] Add commonly-used core and contrib components to OTel Collector builder-config (#2121)
## Summary

Update `packages/otel-collector/builder-config.yaml` to include commonly-used components from the upstream [opentelemetry-collector](https://github.com/open-telemetry/opentelemetry-collector) core and [opentelemetry-collector-contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib) distributions. This gives users more flexibility in their custom OTel configs without pulling in the entire contrib distribution (which causes very long compile times).

Also adds Go module and build cache mounts to the OCB Docker build stage for faster rebuilds, and bumps CI timeouts for integration and smoke test jobs to account for the larger binary.

### Core extensions added (2)

- `memorylimiterextension` — memory-based limiting at the extension level
- `zpagesextension` — zPages debugging endpoints

### Contrib receivers added (4)

- `dockerstatsreceiver` — container metrics from Docker
- `filelogreceiver` — tail log files
- `k8sclusterreceiver` — Kubernetes cluster-level metrics
- `kubeletstatsreceiver` — node/pod/container metrics from kubelet

### Contrib processors added (12)

- `attributesprocessor` — insert/update/delete/hash attributes
- `cumulativetodeltaprocessor` — convert cumulative metrics to delta
- `filterprocessor` — drop unwanted telemetry
- `groupbyattrsprocessor` — reassign resource attributes
- `k8sattributesprocessor` — enrich telemetry with k8s metadata
- `logdedupprocessor` — deduplicate repeated log entries
- `metricstransformprocessor` — rename/aggregate/transform metrics
- `probabilisticsamplerprocessor` — percentage-based sampling
- `redactionprocessor` — mask/remove sensitive data
- `resourceprocessor` — modify resource attributes
- `spanprocessor` — rename spans, extract attributes
- `tailsamplingprocessor` — sample traces based on policies

### Contrib extensions added (1)

- `filestorage` — persistent file-based storage (used by clickhouse exporter sending queue in EE OpAMP controller)

### Other changes

- **Docker cache mounts**: Added `--mount=type=cache` for Go module and build caches in the OCB builder stage of both `docker/otel-collector/Dockerfile` and `docker/hyperdx/Dockerfile`
- **CI timeouts**: Bumped `integration` and `otel-smoke-test` jobs from 8 to 16 minutes in `.github/workflows/main.yml`

All existing HyperDX-specific components are preserved unchanged.

### How to test locally or on Vercel

1. Build the OTel Collector Docker image — verify OCB resolves all listed modules
2. Provide a custom OTel config that uses one of the newly-added components and verify it loads
3. Verify existing HyperDX OTel pipeline still functions

### References

- Linear Issue: https://linear.app/clickhouse/issue/HDX-4029
- Upstream core builder-config: https://github.com/open-telemetry/opentelemetry-collector/blob/main/cmd/otelcorecol/builder-config.yaml
- Upstream contrib builder-config: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/otelcontribcol/builder-config.yaml
2026-04-15 15:57:44 +00:00
..
schema feat: support sample-weighted aggregations for sampled trace data (#1963) 2026-03-30 19:52:18 +00:00
config.standalone.auth.yaml feat: add OTLP auth token support for standalone mode (#1684) 2026-02-02 17:25:38 +00:00
config.standalone.yaml [HDX-3994] Deprecate clickhouse.json feature gate in favor of per-exporter json config (#2119) 2026-04-15 15:49:45 +00:00
config.yaml fix(otel-collector): improve log level extraction with word boundaries in regex (#1747) 2026-02-18 22:16:07 +00:00
custom.config.yaml chore: split json otel collector to enable both during dev (#1247) 2025-11-04 21:16:41 +00:00
Dockerfile [HDX-4029] Add commonly-used core and contrib components to OTel Collector builder-config (#2121) 2026-04-15 15:57:44 +00:00
entrypoint.sh [HDX-3994] Deprecate clickhouse.json feature gate in favor of per-exporter json config (#2119) 2026-04-15 15:49:45 +00:00
log-tailer.sh build: remove lingering references to log-rotator.sh (#1520) 2025-12-23 16:22:46 +00:00
supervisor_docker.yaml.tmpl [HDX-3994] Deprecate clickhouse.json feature gate in favor of per-exporter json config (#2119) 2026-04-15 15:49:45 +00:00