about summary refs log tree commit diff
path: root/pkgs/tools/misc/opentelemetry-collector
diff options
context:
space:
mode:
author06kellyjac <dev@j-k.io>2022-01-27 13:11:34 +0000
committer06kellyjac <dev@j-k.io>2022-01-27 13:27:08 +0000
commitc2df0ad3201b5269df95b2a534031c17404ddd69 (patch)
tree516cd0ea5b2c65bae32ee67b5242bd3d7fd81b9d /pkgs/tools/misc/opentelemetry-collector
parent3445b70e5bdda6ec5bfdd43d61510ca2cbb5936c (diff)
opentelemetry-collector: 0.40.0 -> 0.43.1
Diffstat (limited to 'pkgs/tools/misc/opentelemetry-collector')
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix40
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..e0abe89359ed3 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.43.1";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
-    repo = "opentelemetry-collector-contrib";
+    repo = "opentelemetry-collector";
     rev = "v${version}";
-    sha256 = "sha256-YFgAS4WReyMnzb6FOeRUXHf1LUgknH5gWObiZNKMbv8=";
+    sha256 = "sha256-hYhJv5LbebUA9Sp8/admfKWXBoOVvXdr3Mzc3qG8GlM=";
   };
+  # there is a nested go.mod
+  sourceRoot = "source/cmd/otelcorecol";
+  vendorSha256 = "sha256-w5uyAVZ1TrurD4CEWTTk1fWmdlQn8eAFWZrNpISB5Rk=";
 
-  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 ];
   };
 }