File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3333 - mei
3434 - metal-agent
3535 - nebula
36+ - newt
3637 - nfsd
3738 - nut-client
3839 - nvidia-container-toolkit-lts
Original file line number Diff line number Diff line change @@ -88,6 +88,7 @@ TARGETS += mdadm
8888TARGETS += mei
8989TARGETS += metal-agent
9090TARGETS += nebula
91+ TARGETS += newt
9192TARGETS += nfsd
9293TARGETS += nut-client
9394TARGETS += nvidia-container-toolkit-lts
@@ -264,4 +265,3 @@ release-notes: $(ARTIFACTS)
264265conformance :
265266 @docker pull $(CONFORMANCE_IMAGE )
266267 @docker run --rm -it -v $(PWD ) :/src -w /src $(CONFORMANCE_IMAGE ) enforce
267-
Original file line number Diff line number Diff line change @@ -105,6 +105,7 @@ cosign verify --certificate-identity-regexp '@siderolabs\.com$' --certificate-oi
105105| Name | Image | Description | Version Format |
106106| ----------------------------------- | ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------ |
107107| [ cloudflared] ( network/cloudflared/ ) | [ ghcr.io/siderolabs/cloudflared] ( https://github.com/siderolabs/extensions/pkgs/container/cloudflared ) | [ Cloudflared] ( https://github.com/cloudflare/cloudflared/ ) | ` upstream version ` |
108+ | [ newt] ( network/newt/ ) | [ ghcr.io/siderolabs/newt] ( https://github.com/siderolabs/extensions/pkgs/container/newt ) | [ Cloudflared] ( https://github.com/fosrl/newt/ ) | ` upstream version ` |
108109| [ nebula] ( network/nebula/ ) | [ ghcr.io/siderolabs/nebula] ( https://github.com/siderolabs/extensions/pkgs/container/nebula ) | [ Nebula] ( https://github.com/slackhq/nebula ) | ` upstream version ` |
109110| [ lldpd] ( network/lldpd/ ) | [ ghcr.io/siderolabs/lldpd] ( https://github.com/siderolabs/extensions/pkgs/container/lldpd ) | [ LLDP] ( https://github.com/lldpd/lldpd ) | ` upstream version ` |
110111| [ tailscale] ( network/tailscale/ ) | [ ghcr.io/siderolabs/tailscale] ( https://github.com/siderolabs/extensions/pkgs/container/tailscale ) | [ Tailscale] ( https://tailscale.com ) | ` upstream version ` |
Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ NVIDIA LTS: 535.247.01
3434NVIDIA Production: 570.140.08
3535NVIDIA Container Toolkit: 1.17.8
3636vmtoolsd: 1.1.0
37+ newt: 1.2.1
3738"""
3839
3940 [notes .youki ]
@@ -54,4 +55,10 @@ vmtoolsd: 1.1.0
5455[HailoRT](https://github.com/hailo-ai/hailort-drivers) driver is now supported as an extension.
5556"""
5657
58+ [notes .newt ]
59+ title = " Newt client"
60+ description = """ \
61+ [Newt](https://github.com/fosrl/newt) client is now supported as an extension.
62+ """
63+
5764[make_deps ]
Original file line number Diff line number Diff line change 1010 - /.cache/go-build
1111 - /tmp/go/pkg
1212 sources :
13- - url : https://github.com/slackhq/nebula/archive/refs/tags/v{{ .NEBULA_VERSION}}.tar.gz
13+ - url : https://github.com/slackhq/nebula/archive/refs/tags/v{{ .NEBULA_VERSION }}.tar.gz
1414 destination : nebula.tar.gz
1515 sha256 : {{ .NEBULA_SHA256 }}
1616 sha512 : {{ .NEBULA_SHA512 }}
Original file line number Diff line number Diff line change 1+ # Newt client
2+
3+ Newt is a fully user space WireGuard tunnel client and TCP/UDP proxy, designed to securely expose private resources controlled by Pangolin.
4+ By using Newt, you don't need to manage complex WireGuard tunnels and NATing.
5+ More info: https://github.com/fosrl/newt
6+
7+ ## Installation
8+
9+ Newt system extension can be installed by customising boot assets or after installation with the ` installer `
10+
11+ You can use the following schematic file:
12+ ``` yaml
13+ # newt-ext.yaml
14+ customization :
15+ systemExtensions :
16+ officialExtensions :
17+ - siderolabs/newt
18+ ` ` `
19+
20+ Check documentation for install:
21+ * https://www.talos.dev/latest/talos-guides/configuration/system-extensions/
22+ * https://www.talos.dev/latest/talos-guides/install/boot-assets/
23+
24+ ## Usage
25+
26+ Configure the extension via ` ExtensionServiceConfig` document.
27+
28+ ` ` ` yaml
29+ # newt-config.yaml
30+ ---
31+ apiVersion: v1alpha1
32+ kind: ExtensionServiceConfig
33+ name: newt
34+ environment:
35+ - PANGOLIN_ENDPOINT=https://example.com
36+ - NEWT_ID=2ix2t8xk22ubpfy
37+ - NEWT_SECRET=nnisrfsdfc7prqsp9ewo1dvtvci50j5uiqotez00dgap0ii2
38+ ` ` `
39+
40+ Then apply the patch to your node's MachineConfigs
41+ ` ` ` bash
42+ talosctl patch mc -p @newt-config.yaml
43+ ` ` `
44+
45+ You will then be able to verify that it is in place with the following command
46+ ` ` ` bash
47+ talosctl get extensionserviceconfigs
48+
49+ NODE NAMESPACE TYPE ID VERSION
50+ mynode runtime ExtensionServiceConfig newt 1
51+ ` ` `
52+
53+ # # Configuration
54+
55+ See all run parameters here (use environment variables) : https://docs.fossorial.io/Newt/overview#cli-args
Original file line number Diff line number Diff line change 1+ version : v1alpha1
2+ metadata :
3+ name : newt
4+ version : " $NEWT_VERSION"
5+ author : Fossorial
6+ description : |
7+ Newt is a fully user space WireGuard tunnel client and TCP/UDP proxy, designed to securely expose private resources controlled by Pangolin.
8+ By using Newt, you don't need to manage complex WireGuard tunnels and NATing.
9+ More info: https://github.com/fosrl/newt
10+ compatibility :
11+ talos :
12+ version : " >= v1.5.0"
Original file line number Diff line number Diff line change 1+ name : newt
2+ depends :
3+ - service : cri
4+ - network :
5+ - addresses
6+ - connectivity
7+ - etcfiles
8+ - hostname
9+ - configuration : true
10+ container :
11+ entrypoint : /usr/local/bin/newt
12+ restart : always
Original file line number Diff line number Diff line change 1+ name : newt
2+ variant : scratch
3+ shell : /bin/bash
4+ dependencies :
5+ - stage : base
6+ steps :
7+ - env :
8+ GOPATH : /tmp/go
9+ - cachePaths :
10+ - /.cache/go-build
11+ - /tmp/go/pkg
12+ sources :
13+ - url : https://github.com/fosrl/newt/archive/refs/tags/{{ .NEWT_VERSION }}.tar.gz
14+ destination : newt.tar.gz
15+ sha256 : {{ .NEWT_SHA256 }}
16+ sha512 : {{ .NEWT_SHA512 }}
17+ - network : default
18+ prepare :
19+ - |
20+ sed -i 's#$NEWT_VERSION#{{ .NEWT_VERSION }}#' /pkg/manifest.yaml
21+ - |
22+ mkdir newt
23+ tar -xzvf newt.tar.gz --strip-components=1 -C newt
24+ - | # https://github.com/fosrl/newt?tab=readme-ov-file#binary
25+ cd newt
26+ if [ -f main.go ]; then
27+ sed -i 's/Newt version replaceme/Newt version '"{{ .NEWT_VERSION }}"'/' main.go
28+ echo "Updated main.go with version {{ .NEWT_VERSION }}"
29+ else
30+ echo "main.go not found"
31+ fi
32+ make local
33+ - network : none
34+ install :
35+ - |
36+ mkdir -p /rootfs/usr/local/lib/containers/newt/usr/local/bin
37+ cp -p newt/newt /rootfs/usr/local/lib/containers/newt/usr/local/bin/
38+ chmod +x /rootfs/usr/local/lib/containers/newt/usr/local/bin/newt
39+ - |
40+ mkdir -p /rootfs/usr/local/etc/containers
41+ cp /pkg/newt.yaml /rootfs/usr/local/etc/containers/
42+ test :
43+ - |
44+ mkdir -p /extensions-validator-rootfs
45+ cp -r /rootfs/ /extensions-validator-rootfs/rootfs
46+ cp /pkg/manifest.yaml /extensions-validator-rootfs/manifest.yaml
47+ /extensions-validator validate --rootfs=/extensions-validator-rootfs --pkg-name="${PKG_NAME}"
48+ - |
49+ [[ $(/rootfs/usr/local/lib/containers/newt/usr/local/bin/newt --version) == *{{ .NEWT_VERSION }}* ]]
50+ finalize :
51+ - from : /rootfs
52+ to : /rootfs
53+ - from : /pkg/manifest.yaml
54+ to : /
Original file line number Diff line number Diff line change 1+ VERSION : " {{ .NEWT_VERSION }}"
You can’t perform that action at this time.
0 commit comments