Merge pull request #157001 from 06kellyjac/opentelemetry-collector

opentelemetry-collector: 0.40.0 -> 0.43.1, opentelemetry-collector-contrib: init at 0.43.0
This commit is contained in:
Uri Baghin 2022-01-31 21:36:33 +11:00 committed by GitHub
commit f8f3b9103c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 105 additions and 10 deletions

View file

@ -452,6 +452,20 @@
directly.
</para>
</listitem>
<listitem>
<para>
The existing <literal>pkgs.opentelemetry-collector</literal>
has been moved to
<literal>pkgs.opentelemetry-collector-contrib</literal> to
match the actual source being the <quote>contrib</quote>
edition. <literal>pkgs.opentelemetry-collector</literal> 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 dont need them update your commands from
<literal>otelcontribcol</literal> to
<literal>otelcorecol</literal> and enjoy a 7x smaller binary.
</para>
</listitem>
<listitem>
<para>
<literal>pkgs.noto-fonts-cjk</literal> is now deprecated in

View file

@ -138,11 +138,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/<registry>/<owner>/<name>/<version>/<os>_<arch>/terraform-provider-<name>_v<version>` (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,

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -8542,7 +8542,12 @@ with pkgs;
opae = callPackage ../development/libraries/opae { };
opentelemetry-collector = callPackage ../tools/misc/opentelemetry-collector { };
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 { };