diff options
Diffstat (limited to 'pkgs/tools/misc/opentelemetry-collector/default.nix')
-rw-r--r-- | pkgs/tools/misc/opentelemetry-collector/default.nix | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix index 6c83d72976d92..72aea5c44d9a9 100644 --- a/pkgs/tools/misc/opentelemetry-collector/default.nix +++ b/pkgs/tools/misc/opentelemetry-collector/default.nix @@ -1,30 +1,52 @@ { buildGoModule , fetchFromGitHub , lib +, writeScript }: +let + otelcontribcol = writeScript "otelcontribcol" '' + echo 'ERROR: otelcontribcol is now in `pkgs.opentelemetry-collector-contrib`, call the collector with `otelcorecol` or move to `pkgs.opentelemetry-collector-contrib`' >&2 + exit 1 + ''; +in buildGoModule rec { pname = "opentelemetry-collector"; - version = "0.40.0"; + version = "0.45.0"; src = fetchFromGitHub { owner = "open-telemetry"; - repo = "opentelemetry-collector-contrib"; + repo = "opentelemetry-collector"; rev = "v${version}"; - sha256 = "sha256-YFgAS4WReyMnzb6FOeRUXHf1LUgknH5gWObiZNKMbv8="; + sha256 = "sha256-uwQR38L81galqrOEF2qWxKi1UelaUmpkeg0WbkcbYfs="; }; + # there is a nested go.mod + sourceRoot = "source/cmd/otelcorecol"; + vendorSha256 = "sha256-wzGv46wcPjpxiQsiNZQGC4DMHcMrWOEmacC5E0F2YCs="; - vendorSha256 = "sha256-DTZLYF3BoQGou59KaL56pkxySsoQ0xeJ5aF/SkewziE="; - proxyVendor = true; + preBuild = '' + # set the build version, can't be done via ldflags + sed -i -E 's/Version:(\s*)".*"/Version:\1"${version}"/' main.go + ''; - CGO_ENABLED = 0; + ldflags = [ "-s" "-w" ]; - subPackages = [ "cmd/otelcontribcol" ]; + postInstall = '' + cp ${otelcontribcol} $out/bin/otelcontribcol + ''; meta = with lib; { homepage = "https://github.com/open-telemetry/opentelemetry-collector"; - description = "OpenTelemetry Collector"; + changelog = "https://github.com/open-telemetry/opentelemetry-collector/blob/v${version}/CHANGELOG.md"; + description = "OpenTelemetry Collector offers a vendor-agnostic implementation on how to receive, process and export telemetry data"; + longDescription = '' + The OpenTelemetry Collector offers a vendor-agnostic implementation on how + to receive, process and export telemetry data. In addition, it removes the + need to run, operate and maintain multiple agents/collectors in order to + support open-source telemetry data formats (e.g. Jaeger, Prometheus, etc.) + sending to multiple open-source or commercial back-ends. + ''; license = licenses.asl20; - maintainers = [ maintainers.uri-canva ]; + maintainers = with maintainers; [ uri-canva jk ]; }; } |