* Package name : headscale Version : 0.26.0-1 Upstream Author : Juan Font * URL : https://github.com/juanfont/headscale * License : BSD-3-clause Programming Lang: Go Description : An open source, self-hosted implementation of the Tailscale control server Headscale aims to implement a self-hosted, open source alternative to the Tailscale (https://tailscale.com/) control server. Headscale's goal is to provide self-hosters and hobbyists with an open-source server they can use for their projects and labs. It implements a narrow scope, a *single* Tailscale network (tailnet), suitable for a personal use, or a small open-source organisation. . About Tailscale: . Tailscale is a modern VPN (https://tailscale.com/) built on top of Wireguard (https://www.wireguard.com/). It works like an overlay network (https://tailscale.com/blog/how-tailscale-works/) between the computers of your networks - using NAT traversal (https://tailscale.com/blog/how-nat-traversal-works/). . Everything in Tailscale is Open Source, except the GUI clients for proprietary OS (Windows and macOS/iOS), and the control server. . The control server works as an exchange point of Wireguard public keys for the nodes in the Tailscale network. It assigns the IP addresses of the clients, creates the boundaries between each user, enables sharing machines between users, and exposes the advertised routes of your nodes. . A Tailscale network (tailnet) (https://tailscale.com/kb/1136/tailnet/) is private network which Tailscale assigns to a user in terms of private users or an organisation.
I noticed this ITP after doing some initial packaging [1]. This is definitely dependent on getting tailscale in, too, and I have some progress on that, too [2]. There might be some relatively simple changes that could cut down the volume of dependencies. Tailscale is good about having ts_omit_* to disable features, and I suspect that a few strategic new go tags might cut the number of dependencies a lot. The current package builds and runs (I am running it.). Best, Antonio [1] https://salsa.debian.org/aerusso/headscale [2] https://salsa.debian.org/aerusso/golang-tailscale.com-tailscale
Awesome! improving dh-make-golang to make it easier to package the dependencies. Progress has been slow and tedious on that front. Very cool. I'm guessing we'll have to chip away at packaging those vendorized dependencies before the Debian Go team will be happy publishing headscale. In the meantime, we could use an Ubuntu PPA <https://launchpad.net/~headscale/+archive/ubuntu/ppa> or openSUSE Build Service <https://wiki.debian.org/OpenSuseBuildService> to make rough drafts (with the vendorized sources) available to the public for testing and feedback. What do you think? I think it would be useful to pick a (temporary?) Salsa project that both of us can access. Options: * We could make yours the temporary home. * I gave you access to my repo; we could make that the temporary home. * We could create <https://salsa.debian.org/go-team/packages/headscale> now, but I'm not sure if @go-team reserves that namespace for already published (or imminent) packages. * I created <https://salsa.debian.org/headscale-team> and gave you access. We can move any projects from @headscale-team to @go-team once they're ready to upload to Debian. I think I prefer that last option. Thoughts? Thanks, Richard
I can certainly imagine! I'm quite happy to work from the top down, and meet you in the middle. I neglected to mention it, but I have a (very crude, not even really worth sharing) packaging of bufbuilder [1], which is also necessary for headscale. I've been meaning to look at openSUSE build services. I have no objection to that (and will look into it a bit). Let's go with that, then! My progress on this will probably be "bursty." Like, I'll probably be AWOL for a while after this, but I wanted to make sure that others can see what is happening/maybe chip in/use what progress I've been able to make. Best, Antonio [1] https://github.com/bufbuild/buf.git
headscale-team/headscale. Let's also use the headscale-team namespace to work on new packages for headscale dependencies until we think they're ready, then move them to @go-team. For anyone else paying attention to this bug report: Ping me if you want to help prune or package dependencies and need access to the @headscale-team group. (I would invite @go-team to the group, but I'm not sure if that will fire off hundreds of invitation emails to all of the @go-team members. I might try later; apologies in advance if it spams everyone.) No problem, that's expected for open source work. Thank you for sharing!