install.fairie/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale.tmpl

28 lines
1.3 KiB
Cheetah
Raw Normal View History

2023-03-19 23:38:30 -07:00
{{- if or (and (ne .host.distro.family "windows") (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "TAILSCALE_AUTH_KEY")) (env "TAILSCALE_AUTH_KEY")) -}}
#!/usr/bin/env bash
### Install the Tailscale system daemon
if [ -d /Applications ] && [ -d System ]; then
# macOS
if command -v tailscaled > /dev/null; then
logg info 'Ensuring `tailscaled` system daemon is installed'
sudo tailscaled install-system-daemon
logg info '`tailscaled` system daemon is now installed and will load on boot'
else
logg info '`tailscaled` does not appear to be installed'
fi
fi
### Connect to Tailscale network
2023-03-19 23:38:30 -07:00
TAILSCALE_AUTH_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "TAILSCALE_AUTH_KEY")) }}{{ includeTemplate "secrets/TAILSCALE_AUTH_KEY" | decrypt }}{{ else }}{{ env "TAILSCALE_AUTH_KEY" }}{{ end }}"
if command -v tailscale > /dev/null && [ "$TAILSCALE_AUTH_KEY" != "" ]; then
logg info 'Connecting to Tailscale with user-defined authentication key'
timeout 14 tailscale up --authkey="$TAILSCALE_AUTH_KEY" --accept-routes || EXIT_CODE=$?
if [ -n "$EXIT_CODE" ]; then
logg warn '`tailscale up` timed out'
else
logg success 'Connected to Tailscale network'
fi
fi
{{- end -}}