NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.11k stars 14.15k forks source link

Packaging request: OpenZiti Tunneler #189696

Open crwxrws opened 2 years ago

crwxrws commented 2 years ago

Project description An OpenZiti Tunneler is purpose-built software designed to connect applications which are not Ziti-aware to the OpenZiti Network.

Metadata

johnalotoski commented 2 years ago

Also have an interest in this and might be able to contribute a package in the near future.

bennyandresen commented 1 year ago

https://github.com/NixOS/nixpkgs/pull/221863 is not what is requested here but still as a FYI I've opened a PR for zrok, which is built on OpenZiti.

johnalotoski commented 1 year ago

I have a flake with the tunneler, controller, router and modules, as well as some darwin support:, all based on the upstream release binaries: https://github.com/johnalotoski/openziti-bins

I can't seem to find any spare time lately, so if anyone wants to use anything from there to make a nixpkgs package, please do.

a-h commented 6 months ago

If anyone just wants the ziti executable, building from source seems fairly straightforward:

{
  description = "OpenZiti";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  };

  outputs = { self, nixpkgs }:
    let
      allSystems = [
        "x86_64-linux" # 64-bit Intel/AMD Linux
        "aarch64-linux" # 64-bit ARM Linux
        "x86_64-darwin" # 64-bit Intel macOS
        "aarch64-darwin" # 64-bit ARM macOS
      ];
      forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f {
        pkgs = import nixpkgs { inherit system; };
      });
      rev = "v1.0.0";
    in
    {
      packages = forAllSystems ({ pkgs }: {
        default = pkgs.buildGo122Module {
          name = "openziti";
          subPackages = [ "ziti" ];
          src = pkgs.fetchFromGitHub {
            owner = "openziti";
            repo = "ziti";
            rev = rev;
            sha256 = "sha256-2li/+XWKk+lybB1DE0unKvQrA0pKE9VIRFoEYMcbLS8=";
          };
          vendorHash = "sha256-uyjQd5kB61UEKSl1Qf1Gu6Fr40l4KixHSnEtTMq58Vc=";
          ldflags = [
            "-X github.com/openziti/ziti/common/version.Version=${rev}"
          ];
        };
      });
    };
}