Skip to content

Commit

Permalink
docs(tailscale) Update How To Guide & remove TrueNAS references (#32925)
Browse files Browse the repository at this point in the history
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

⚒️ Update Tailscale How to Guide to remove TrueNAS references.

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [x] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [ ] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [x] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [ ] ⬆️ I increased versions for any altered app according to semantic
versioning
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

**➕ App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Addison McDermid <admin@itconstruct.com.au>
Signed-off-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
Co-authored-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
  • Loading branch information
itconstruct and alfi0812 authored Mar 6, 2025
1 parent af62156 commit 687bb02
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 54 deletions.
2 changes: 1 addition & 1 deletion charts/stable/tailscale/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/tailscale
- https://hub.docker.com/r/tailscale/tailscale
type: application
version: 10.12.0
version: 10.12.0
66 changes: 13 additions & 53 deletions charts/stable/tailscale/docs/How-To-Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ title: How-To
---

This is a quick how-to or setup-guide to use Tailscale on Talos.
This can be applied to other systems but this specific guide is Talos on TrueNAS specific with the prerequisites.

:::caution

Expand All @@ -17,20 +16,8 @@ This guide doesn't cover using Tailscale with individual applications. While the
- Tailscale Truecharts Chart
- Tailscale DNS setup for Talos Cluster Domain

## Prerequisites (LAN access only)

For proper access to your local network (LAN), this chart requires two `sysctl` values set on your TrueNAS or system.
For TrueNAS SCALE the way to change these values are inside `System Settings` then `Advanced`.
On that screen you add the following two values:

- `net.ipv4.ip_forward`
- `net.ipv4.conf.all.src_valid_mark`

Set them to `1` and `Enabled`

![sysctl](./img/Sysctl.png)

Also prepare your Tailscale Auth Key for your setup, easy to generate on the page below
Generate a Tailscale Auth Key for your setup, easy to generate on the page below

![tailscale-auth-key](./img/How-To-Image-1.png)

Expand All @@ -43,20 +30,16 @@ Ideally use `tailscale` but you can use any name here.
### App Configuration

- `Auth Key`: The key you received from tailscale in prerequisites above
- `Userspace`: Now enabled by default, as it is _required_ when using local routes and as an exit node (see below). Userspace restricts clients to only accessing the GUI and Samba. This needs to be _unchecked_ if you need to give Tailscale full access to all the features inside TrueNAS SCALE (not just GUI/SMB, but RSYNC, PING and directly connect to other Tailscale IPs, etc). More info in the [Tailscale Userspace Guide](https://tailscale.com/kb/1112/userspace-networking/).
- `Userspace`: Now enabled by default, as it is _required_ when using local routes and as an exit node (see below). Userspace restricts clients to only accessing the GUI and Samba. More info in the [Tailscale Userspace Guide](https://tailscale.com/kb/1112/userspace-networking/).
- `Accept DNS`: Enabling it will pass your Global Nameservers from Tailscale to your local install.
- `Routes`: Change to the routes you wish Tailscale to have access to on the devices it's connected, such as my LAN in the example. Required if you want to access APPS over Tailscale using TrueNASIP:Port from any Tailscale connected client.
- `Routes`: Change to the routes you wish Tailscale to have access to on the devices it's connected, ie your LAN.
- `Extra Args` passes arguments/flags to the `tailscale up` command.
- `Hostname` You can specify a specific hostname for use inside Tailscale (see image below). (Passes `--hostname HOSTNAME` to `Extra args`)
- `Hostname` You can specify a specific hostname for use inside Tailscale. This is recommended as otherwise it will utilise the tailscale kubernetes podname as the machine name in the console, over time when the chart is upgraded it will add additional machines into Tailscale portal. (Passes `--hostname HOSTNAME` to `Extra args`)
- `Advertise as exit node` This is used to pass traffic through tailscale like a private VPN. (Passes `--advertise-exit-node` to `Extra args`)

For more Extra Args and their usage please check the [Tailscale Knowledge Base](https://tailscale.com/kb/1080/cli/#up)
since we consider these advanced features and these may/not be compatible with everyone's exact setup.

**Hostname example**

![hostname-example](./img/Hostname.png)

## Namespace Privileges Required for Talos Cluster

In your namespace.yaml file add
Expand All @@ -66,42 +49,19 @@ In your namespace.yaml file add

to allow this Chart to run with privileged permissions.

### Networking and Services

The default ports are fine for this chart, you shouldn't need to port forward or open ports on your router.

### Storage and Persistence

Highly recommended to leave it as specified in the Charts values.yaml file.

### Ingress

Shouldn't need to enable this.

### Security and Permissions

Should be left as is, unless you know what you are doing!

### Resources and Devices

You can set custom resources for CPU/RAM, but defaults should be work fine in most cases
Defaults are 4 vCores and 8G RAM.

### Tailscale DNS Setup

In Tailscale Portal on DNS, Namespace section add a new custom nameserver using the Blocky IP address and restrict to domain (SplitDNS) for the Domain used in ClusterTool for Talos.

![tailscale-nameserver](./img/tailscale-nameserver.png)

### Addons

Shouldn't need to enable any.
### Working Values Example

## Support

- You can also reach us using [Discord](https://discord.gg/tVsPTHWTtr) for real-time feedback and support
- If you found a bug in our chart, open a Github [issue](https://github.com/truecharts/apps/issues/new/choose)

---

All Rights Reserved - The TrueCharts Project
```yaml
tailscale:
authkey: MY_PRIVATE_AUTHKEY
accept_dns: true
routes: 192.168.1.0/24 # LAN Example
advertise_as_exit_node: true
hostname: "MyHostname"
```
Binary file removed charts/stable/tailscale/docs/img/Hostname.png
Binary file not shown.
Binary file removed charts/stable/tailscale/docs/img/Sysctl.png
Binary file not shown.

0 comments on commit 687bb02

Please sign in to comment.