diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index d04b3d679b4..91f5f7c26f1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5071,6 +5071,11 @@ github = "thedavidmeister"; name = "David Meister"; }; + thefloweringash = { + email = "lorne@cons.org.nz"; + github = "thefloweringash"; + name = "Andrew Childs"; + }; thesola10 = { email = "thesola10@bobile.fr"; github = "thesola10"; diff --git a/pkgs/servers/monitoring/sensu-go/default.nix b/pkgs/servers/monitoring/sensu-go/default.nix new file mode 100644 index 00000000000..21f731a0e3e --- /dev/null +++ b/pkgs/servers/monitoring/sensu-go/default.nix @@ -0,0 +1,60 @@ +{ buildGoPackage, fetchFromGitHub, lib }: + +let + generic = { subPackages, pname, postInstall ? "" }: + buildGoPackage rec { + inherit pname; + version = "5.9.0"; + shortRev = "078f625"; # for internal version info + + goPackagePath = "github.com/sensu/sensu-go"; + + src = fetchFromGitHub { + owner = "sensu"; + repo = "sensu-go"; + rev = version; + sha256 = "1rivnq7m4p44zz1fl46j06aakb0yjsjb3mjqyfq4r0235xr01ajw"; + }; + + inherit subPackages postInstall; + + 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 + ''${!outputBin}/bin/sensuctl completion zsh > ''${!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" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a63d79816af..6963debd91e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14749,6 +14749,11 @@ in sensu = callPackage ../servers/monitoring/sensu { }; + inherit (callPackages ../servers/monitoring/sensu-go { }) + sensu-go-agent + sensu-go-backend + sensu-go-cli; + uchiwa = callPackage ../servers/monitoring/uchiwa { }; shishi = callPackage ../servers/shishi {