From c2df0ad3201b5269df95b2a534031c17404ddd69 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 27 Jan 2022 13:11:34 +0000 Subject: [PATCH 1/2] opentelemetry-collector: 0.40.0 -> 0.43.1 --- .../misc/opentelemetry-collector/default.nix | 40 ++++++++++++++----- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix index 6c83d72976d9..e0abe89359ed 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 ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf57f5623156..02158152b161 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8474,7 +8474,9 @@ with pkgs; opae = callPackage ../development/libraries/opae { }; - opentelemetry-collector = callPackage ../tools/misc/opentelemetry-collector { }; + opentelemetry-collector = callPackage ../tools/misc/opentelemetry-collector { + buildGoModule = buildGo117Module; + }; opentracing-cpp = callPackage ../development/libraries/opentracing-cpp { }; From f32263250b9a9df0715a1cafe7304e79bce0d1f1 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 28 Jan 2022 12:52:58 +0000 Subject: [PATCH 2/2] opentelemetry-collector-contrib: init at 0.43.0 --- .../from_md/release-notes/rl-2205.section.xml | 14 ++++++ .../manual/release-notes/rl-2205.section.md | 9 ++++ .../misc/opentelemetry-collector/contrib.nix | 45 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 4 files changed, 71 insertions(+) create mode 100644 pkgs/tools/misc/opentelemetry-collector/contrib.nix diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 8d8d70440e84..113be2a559df 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -428,6 +428,20 @@ directly. + + + The existing pkgs.opentelemetry-collector + has been moved to + pkgs.opentelemetry-collector-contrib to + match the actual source being the contrib + edition. pkgs.opentelemetry-collector is + now the actual core release of opentelemetry-collector. If you + use the community contributions you should change the package + you refer to. If you don’t need them update your commands from + otelcontribcol to + otelcorecol and enjoy a 7x smaller binary. + + pkgs.noto-fonts-cjk is now deprecated in diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 61305fe70d65..213e1c1d757b 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -130,11 +130,20 @@ In addition to numerous new and upgraded packages, this release has the followin - MultiMC has been replaced with the fork PolyMC due to upstream developers being hostile to 3rd party package maintainers. PolyMC removes all MultiMC branding and is aimed at providing proper 3rd party packages like the one contained in Nixpkgs. This change affects the data folder where game instances and other save and configuration files are stored. Users with existing installations should rename `~/.local/share/multimc` to `~/.local/share/polymc`. The main config file's path has also moved from `~/.local/share/multimc/multimc.cfg` to `~/.local/share/polymc/polymc.cfg`. + - The terraform 0.12 compatibility has been removed and the `terraform.withPlugins` and `terraform-providers.mkProvider` implementations simplified. Providers now need to be stored under `$out/libexec/terraform-providers/////_/terraform-provider-_v` (which mkProvider does). This breaks back-compat so it's not possible to mix-and-match with previous versions of nixpkgs. In exchange, it now becomes possible to use the providers from [nixpkgs-terraform-providers-bin](https://github.com/numtide/nixpkgs-terraform-providers-bin) directly. +- The existing `pkgs.opentelemetry-collector` has been moved to + `pkgs.opentelemetry-collector-contrib` to match the actual source being the + "contrib" edition. `pkgs.opentelemetry-collector` is now the actual core + release of opentelemetry-collector. If you use the community contributions + you should change the package you refer to. If you don't need them update your + commands from `otelcontribcol` to `otelcorecol` and enjoy a 7x smaller binary. + + - `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans` and `pkgs.noto-fonts-cjk-serif` because they each have different release schedules. To maintain compatibility with prior releases of Nixpkgs, diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix new file mode 100644 index 000000000000..b89868460e29 --- /dev/null +++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix @@ -0,0 +1,45 @@ +{ buildGoModule +, fetchFromGitHub +, lib +}: + +buildGoModule rec { + pname = "opentelemetry-collector-contrib"; + version = "0.43.0"; + + src = fetchFromGitHub { + owner = "open-telemetry"; + repo = "opentelemetry-collector-contrib"; + rev = "v${version}"; + sha256 = "sha256-ktzP+ugG2sa0v8B1Zp47o8Bmpxv98zQyFyWf9QfQRoQ="; + }; + # proxy vendor to avoid hash missmatches between linux and macOS + proxyVendor = true; + vendorSha256 = "sha256-0E52YSWlq1ebHA3kR9Qo/6ufug9R+z1cSD9AfbN/Mi0="; + + subPackages = [ "cmd/otelcontribcol" ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/open-telemetry/opentelemetry-collector-contrib/internal/version.Version=v${version}" + ]; + + meta = with lib; { + homepage = "https://github.com/open-telemetry/opentelemetry-collector-contrib"; + changelog = "https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v${version}/CHANGELOG.md"; + description = "OpenTelemetry Collector superset with additional community collectors"; + 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. The Contrib + edition provides aditional vendor specific receivers/exporters and/or + components that are only useful to a relatively small number of users and + is multiple times larger as a result. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ uri-canva jk ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 02158152b161..bc949ec9f9cb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8477,6 +8477,9 @@ with pkgs; opentelemetry-collector = callPackage ../tools/misc/opentelemetry-collector { buildGoModule = buildGo117Module; }; + opentelemetry-collector-contrib = callPackage ../tools/misc/opentelemetry-collector/contrib.nix { + buildGoModule = buildGo117Module; + }; opentracing-cpp = callPackage ../development/libraries/opentracing-cpp { };