depot/third_party/nixpkgs/pkgs/tools/networking/nebula/default.nix
Default email 94427deb9d Project import generated by Copybara.
GitOrigin-RevId: f91ee3065de91a3531329a674a45ddcb3467a650
2023-05-24 16:37:59 +03:00

50 lines
1.7 KiB
Nix

{ lib
, buildGoModule
, fetchFromGitHub
, nixosTests
}:
buildGoModule rec {
pname = "nebula";
version = "1.7.1";
src = fetchFromGitHub {
owner = "slackhq";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-2FQ/mX1Y2UBl9SiIBVkll0W7P9RWAWJpQwEGKTtplrU=";
};
vendorHash = "sha256-VZzSdl8R1y7rCF2vz7e+5nAkb3wlJymNWCXwZZUvg4A=";
subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
ldflags = [ "-X main.Build=${version}" ];
passthru.tests = {
inherit (nixosTests) nebula;
};
meta = with lib; {
description = "Overlay networking tool with a focus on performance, simplicity and security";
longDescription = ''
Nebula is a scalable overlay networking tool with a focus on performance,
simplicity and security. It lets you seamlessly connect computers
anywhere in the world. Nebula is portable, and runs on Linux, OSX, and
Windows. (Also: keep this quiet, but we have an early prototype running
on iOS). It can be used to connect a small number of computers, but is
also able to connect tens of thousands of computers.
Nebula incorporates a number of existing concepts like encryption,
security groups, certificates, and tunneling, and each of those
individual pieces existed before Nebula in various forms. What makes
Nebula different to existing offerings is that it brings all of these
ideas together, resulting in a sum that is greater than its individual
parts.
'';
homepage = "https://github.com/slackhq/nebula";
changelog = "https://github.com/slackhq/nebula/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ Br1ght0ne numinit ];
};
}