diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix b/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix new file mode 100644 index 000000000000..a4e2b1eb313c --- /dev/null +++ b/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix @@ -0,0 +1,69 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +let + generic = { subPackages, pname, postInstall ? "" }: + buildGoModule rec { + inherit pname; + version = "5.14.1"; + shortRev = "1f6d16b"; # for internal version info + + goPackagePath = "github.com/sensu/sensu-go"; + + src = fetchFromGitHub { + owner = "sensu"; + repo = "sensu-go"; + rev = "v${version}"; + sha256 = "1fhvw2hrn2zqpz3ypsx6i1zrn83pdifvsyzpbhzxmff6l9a290bq"; + }; + + inherit subPackages postInstall; + + modSha256 = "0c0cj0ylhifyb7l9kjmgdlfzcz8528fzw8kr3c5y7j5h6pih06sy"; + + buildFlagsArray = let + versionPkg = "github.com/sensu/sensu-go/version"; + in '' + -ldflags= + -X ${versionPkg}.Version=${version} + -X ${versionPkg}.BuildSHA=${shortRev} + ''; + + meta = { + homepage = https://sensu.io; + description = "Open source monitoring tool for ephemeral infrastructure & distributed applications"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ thefloweringash ]; + }; + }; +in +{ + sensu-go-cli = generic { + pname = "sensu-go-cli"; + subPackages = [ "cmd/sensuctl" ]; + postInstall = '' + mkdir -p \ + "''${!outputBin}/share/bash-completion/completions" \ + "''${!outputBin}/share/zsh/site-functions" + + ''${!outputBin}/bin/sensuctl completion bash > ''${!outputBin}/share/bash-completion/completions/sensuctl + + # https://github.com/sensu/sensu-go/issues/3132 + ( + echo "#compdef sensuctl" + ''${!outputBin}/bin/sensuctl completion zsh + echo '_complete sensuctl 2>/dev/null' + ) > ''${!outputBin}/share/zsh/site-functions/_sensuctl + + ''; + }; + + sensu-go-backend = generic { + pname = "sensu-go-backend"; + subPackages = [ "cmd/sensu-backend" ]; + }; + + sensu-go-agent = generic { + pname = "sensu-go-agent"; + subPackages = [ "cmd/sensu-agent" ]; + }; +} |