feat: add tailscale to mod-v2.json#18
Open
chicohaager wants to merge 1 commit intoIceWhaleTech:mainfrom
Open
Conversation
Adds the Tailscale systemd-sysext module to the ZimaOS Mod-Store. The module ships tailscaled as a native systemd service with state under /DATA/AppData/tailscale, mirroring the upstream Buildroot recipe.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Tailscale as a community systemd-sysext module to the ZimaOS Mod-Store.
tailscale.raw(~36 MB, gzip-squashfs, Tailscale 1.96.4 amd64)What it ships
tailscaledruns as a native systemd service on the ZimaOS host — same model the upstream Buildroot recipe uses. State lives at/DATA/AppData/tailscale/(so it survives ZimaOS updates). The module mirrors thechicohaager/cronprecedent already in this list.Why sysext and not Docker
Subnet-router and exit-node features need direct access to the host network stack (TUN, netfilter, policy routing). Running tailscaled inside a container on ZimaOS works for plain mesh, but loses the routing features and adds NAT hops. The sysext keeps the kernel fast-path and integrates with
systemd-resolved.Verification
Built and running on a ZimaCube Pro (ZimaOS v1.6.1, kernel 6.12.25, x86_64):
The squashfs is built with
-comp gzipbecause the ZimaOS kernel does not enableCONFIG_SQUASHFS_ZSTD— using zstd here makessystemd-sysext refreshfail withInvalid argument.One known limitation (kernel-side, not module-side)
Tailscale logs
disabling tunneled IPv6 due to system IPv6 config: kernel doesn't support IPv6 policy routing. This is because the ZimaOS kernel ships withoutCONFIG_IPV6_MULTIPLE_TABLES/CONFIG_IPV6_SUBTREES. IPv4 tailnet is fully functional; only IPv6 tunneling is disabled. A separate kernel-config request can be filed againstIceWhaleTech/ZimaOSif that's of interest — the sysext module itself can't fix this.Test plan
mod-v2.jsonis valid JSON (python3 -m json.tool)repo-pattern aszima_cronanddoconvertertailscale.rawexists at the linked URL and is publicly downloadable