diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/tools/networking/telepresence/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/tools/networking/telepresence/default.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/networking/telepresence/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/networking/telepresence/default.nix new file mode 100644 index 000000000000..a077ddb3de46 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/networking/telepresence/default.nix @@ -0,0 +1,58 @@ +{ lib, pythonPackages, fetchFromGitHub, makeWrapper, git +, sshfs-fuse, torsocks, sshuttle, conntrack-tools , openssh, coreutils +, iptables, bash }: + +let + sshuttle-telepresence = + let + sshuttleTelepresenceRev = "32226ff14d98d58ccad2a699e10cdfa5d86d6269"; + in + lib.overrideDerivation sshuttle (p: { + src = fetchFromGitHub { + owner = "datawire"; + repo = "sshuttle"; + rev = sshuttleTelepresenceRev; + sha256 = "1lp5b0h9v59igf8wybjn42w6ajw08blhiqmjwp4r7qnvmvmyaxhh"; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION="${sshuttleTelepresenceRev}"; + + postPatch = "rm sshuttle/tests/client/test_methods_nat.py"; + postInstall = "mv $out/bin/sshuttle $out/bin/sshuttle-telepresence"; + }); +in pythonPackages.buildPythonPackage rec { + pname = "telepresence"; + version = "0.108"; + + src = fetchFromGitHub { + owner = "telepresenceio"; + repo = "telepresence"; + rev = version; + sha256 = "6V0sM0Z+2xNDgL0wIzJOdaUp2Ol4ejNTk9K/pllVa7g="; + }; + + buildInputs = [ makeWrapper ]; + + postInstall = '' + wrapProgram $out/bin/telepresence \ + --prefix PATH : ${lib.makeBinPath [ + sshfs-fuse + torsocks + conntrack-tools + sshuttle-telepresence + openssh + coreutils + iptables + bash + ]} + ''; + + doCheck = false; + + meta = { + homepage = "https://www.telepresence.io/"; + description = "Local development against a remote Kubernetes or OpenShift cluster"; + license = with lib.licenses; [ asl20 ]; + maintainers = with lib.maintainers; [ offline ]; + }; +} |