48 lines
1.5 KiB
Nix
48 lines
1.5 KiB
Nix
{ lib, stdenv, fetchgit, fetchFromGitHub, makeWrapper, git
|
|
, python3, sshfs-fuse, torsocks, sshuttle, conntrack_tools }:
|
|
|
|
let
|
|
sshuttle-telepresence = lib.overrideDerivation sshuttle (p: {
|
|
src = fetchgit {
|
|
url = "https://github.com/datawire/sshuttle.git";
|
|
rev = "8f881d131a0d5cb203c5a530d233996077f1da1e";
|
|
sha256 = "0c760xhblz5mpcn5ddqpvivvgn0ixqbhpjsy50dkhgn6lymrx9bx";
|
|
leaveDotGit = true;
|
|
};
|
|
|
|
buildInputs = p.buildInputs ++ [ git ];
|
|
postPatch = "rm sshuttle/tests/client/test_methods_nat.py";
|
|
postInstall = "mv $out/bin/sshuttle $out/bin/sshuttle-telepresence";
|
|
});
|
|
in stdenv.mkDerivation rec {
|
|
pname = "telepresence";
|
|
version = "0.65";
|
|
name = "${pname}-${version}";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "datawire";
|
|
repo = "telepresence";
|
|
rev = version;
|
|
sha256 = "01hwaybhdmfzmyzvwdx19nc5px2grf4k1vbbj9jdmsh5pmzfrby4";
|
|
};
|
|
|
|
buildInputs = [ makeWrapper ];
|
|
|
|
phases = ["unpackPhase" "installPhase"];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/libexec $out/bin
|
|
cp cli/telepresence $out/libexec/telepresence
|
|
|
|
makeWrapper $out/libexec/telepresence $out/bin/telepresence \
|
|
--prefix PATH : ${lib.makeBinPath [python3 sshfs-fuse torsocks conntrack_tools sshuttle-telepresence]}
|
|
'';
|
|
|
|
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 ];
|
|
};
|
|
}
|