diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/vi/victoriametrics/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/vi/victoriametrics/package.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/vi/victoriametrics/package.nix b/nixpkgs/pkgs/by-name/vi/victoriametrics/package.nix new file mode 100644 index 000000000000..f441e03d8371 --- /dev/null +++ b/nixpkgs/pkgs/by-name/vi/victoriametrics/package.nix @@ -0,0 +1,67 @@ +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: + +buildGoModule rec { + pname = "VictoriaMetrics"; + version = "1.99.0"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + hash = "sha256-IHUmxdCOzvA2JL06k/ei6/OTVWHTL1TiKKYZB1hgqyA="; + }; + + vendorHash = null; + + subPackages = [ + "app/victoria-logs" + "app/victoria-metrics" + "app/vlinsert" + "app/vlselect" + "app/vlstorage" + "app/vmagent" + "app/vmalert-tool" + "app/vmauth" + "app/vmctl" + "app/vminsert" + "app/vmselect" + "app/vmstorage" + "app/vmbackup" + "app/vmrestore" + "app/vmui" + ]; + + postPatch = '' + # main module (github.com/VictoriaMetrics/VictoriaMetrics) does not contain package + # github.com/VictoriaMetrics/VictoriaMetrics/app/vmui/packages/vmui/web + # + # This appears to be some kind of test server for development purposes only. + rm -f app/vmui/packages/vmui/web/{go.mod,main.go} + + # Increase timeouts in tests to prevent failure on heavily loaded builders + substituteInPlace lib/storage/storage_test.go \ + --replace "time.After(10 " "time.After(120 " \ + --replace "time.NewTimer(30 " "time.NewTimer(120 " \ + --replace "time.NewTimer(time.Second * 10)" "time.NewTimer(time.Second * 120)" \ + ''; + + ldflags = [ "-s" "-w" "-X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${version}" ]; + + preCheck = '' + # `lib/querytracer/tracer_test.go` expects `buildinfo.Version` to be unset + export ldflags=''${ldflags//=${version}/=} + ''; + + __darwinAllowLocalNetworking = true; + + passthru.tests = { inherit (nixosTests) victoriametrics; }; + + meta = with lib; { + homepage = "https://victoriametrics.com/"; + description = "fast, cost-effective and scalable time series database, long-term remote storage for Prometheus"; + license = licenses.asl20; + maintainers = with maintainers; [ yorickvp ivan ]; + changelog = "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v${version}"; + mainProgram = "victoria-metrics"; + }; +} |