Skip to content

feat: replace nr-otel-collector with nrdot-collector - #92

Open
DavSanchez wants to merge 2 commits into
chore/foundationsfrom
feat/otel-rewrite
Open

DavSanchez wants to merge 2 commits into
chore/foundationsfrom
feat/otel-rewrite

Conversation

@DavSanchez

@DavSanchez DavSanchez commented Aug 18, 2026 •

Copy link
Copy Markdown
Owner

Rewrites the OpenTelemetry story. Fixes the core of the abandoned #10 and #13 (superseded).

  • Drop the deprecated nr-otel-collector package and its FOD source-generation hack.
  • Drop the local ocb package (now upstreamed in nixpkgs as opentelemetry-collector-builder).
  • Drop the local infrastructure-agent package (also upstreamed in nixpkgs).
  • Add a fresh nrdot-collector package (New Relic's current OTel distribution, 2.0.0).
  • The distribution sources are generated once with ocb and committed, because ocb runs go mod tidy (needs network), which Nix's sandbox only allows for fixed-output derivations. Committing the generated, self-contained Go module makes the build reproducible and network-free on every platform (macOS sandboxes allow network, Linux ones don't).
  • Rename the darwin nr-otel-collector module to nrdot-collector and add a matching NixOS module.

This is PR 2 of 4 in a stacked series (base: #91). Do not merge out of order.

- Drop the deprecated nr-otel-collector package and its FOD source
  generation hack.
- Drop the local ocb package (upstreamed in nixpkgs as
  opentelemetry-collector-builder) and build nrdot-collector with it.
- Drop the local infrastructure-agent package (already in nixpkgs).
- Add a fresh nrdot-collector package built from the New Relic
  nrdot-collector-releases repository.
- Rename the darwin nr-otel-collector module to nrdot-collector and add a
  matching NixOS module.
ocb regenerates the distribution sources and runs 'go mod tidy'
internally, which needs network access to proxy.golang.org. Only
fixed-output derivations get network in Nix's sandbox, so running ocb
inside buildGoModule's main build failed on Linux builders (the sandbox
blocks network there; it only worked on macOS because its sandbox allows
it).

Commit the generated, self-contained Go module (a few files: main.go,
components.go, go.mod, go.sum) and build from it directly, so the build
is reproducible and network-free on every platform.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant