Change Tailscale SSH ACL from "check" to "accept" for admin devices #262
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/pal-e-platform#262
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Standalone — discovered during SSH debugging session (2026-04-04).
Termius on iPhone cannot complete the browser-based approval flow that
"check"requires.Repo
forgejo_admin/pal-e-platformUser Story
As an admin using Termius on my iPhone
I want direct SSH access to archbox via Tailscale
So that I can manage the platform from mobile without needing a browser approval step
Context
The Tailscale ACL SSH rule in
terraform/modules/networking/main.tf:73-80is currently:"check"maps to Tailscale'sholdAndDelegatebehavior — every SSH session requires browser-based approval. This works withtailscale sshCLI but breaks standalone SSH clients (Termius, PuTTY, any standard SSH client) because they can't follow the HTTP redirect.The
ts-inputiptables chain also DROPs all100.64.0.0/10traffic (Tailscale CGNAT range), confirming the ACL blocks peer SSH at the firewall level when Tailscale SSH isn't intercepting.Changing to
"accept"forautogroup:member→autogroup:selfis safe because:autogroup:selflimits SSH to your own devices onlyautogroup:adminfull access on all ports via the grants blockFile Targets
Files the agent should modify:
terraform/modules/networking/main.tf— changeaction = "check"toaction = "accept"in thesshblock (line 76)Files the agent should NOT touch:
terraform/modules/networking/variables.tf— no new variables neededAcceptance Criteria
tofu planshows only the ACL policy update (no other resource changes)tofu apply,tailscale debug netmapSSH policy showsaccept: true(notholdAndDelegate)Test Expectations
tofu validatepassestofu plan -lock=falseshows exactly 1 resource change (tailscale_acl.this)Constraints
tofu fmtbefore committingtofu planoutput in PR-lock=falsefor plan commands (state lock blocks CI)Checklist
tofu planoutput includedRelated
pal-e-platform— project this affectssop-platform-tf-changes— SOP for terraform changes in this repoScope Review: READY
Review note:
review-802-2026-04-04Ticket is well-scoped: 1-line change, file target verified at line 75, all template sections complete, story note confirmed.
arch-networkingarchitecture note in pal-e-docs — create it to complete the traceability triangle.