Salt Phase 3: nftables firewall (default deny inbound) #5
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
forgejo_admin/pal-e-platform#5
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?
Plan
plan-2026-02-26-salt-host-management— Phase 3Repo
pal-e-platform— Forgejo (private)User Story
As a platform operator
I need a Salt-managed nftables firewall with default deny inbound
So that the host is hardened against unauthorized access while preserving Tailscale, k3s, and LAN SSH connectivity
Acceptance Criteria
When I run
salt-call state.apply firewall test=TrueThen it shows the expected nftables changes (install, config, enable service)
When I run
nft list rulesetafter applyingThen the rules match the pillar data (default deny inbound, allow tailscale0/lo/flannel/k8s/LAN SSH/established+related)
When the firewall is active
Then Tailscale connectivity is uninterrupted (outbound never restricted, tailscale0 fully allowed)
Additional Information
See
issue-pal-e-platform-salt-phase-3-nftablesin pal-e-docs for full details.Safety constraint: Tailscale is the remote access safety net. Outbound must NEVER be restricted.
tailscale0must be fully allowed. Operator applies manually with revert timer.Checklist
salt-call state.apply firewall test=TruesucceedsRelated
plan-2026-02-26-salt-host-management— parent planplan-2026-02-26-network-security-hardening— depends on this