Skip to content

Feat/tailscale acl serve scope split - #25

Merged
Miguel-DevOps merged 2 commits into
mainfrom
feat/tailscale-acl-serve-scope-split
Nov 3, 2026
Merged

Miguel-DevOps merged 2 commits into
mainfrom
feat/tailscale-acl-serve-scope-split

Conversation

@Miguel-DevOps

Copy link
Copy Markdown
Contributor

This pull request restructures and centralizes Tailscale configuration, separating sensitive and non-sensitive variables for better maintainability and security. It moves global, non-secret Tailscale settings into a new inventory/group_vars/all/tailscale.yml file, removes redundant or misplaced variables from other files, and updates documentation and ACL templates to reflect these changes. Sensitive information such as operator emails remains in the encrypted secrets file. The result is a more declarative, secure, and easier-to-understand Tailscale configuration.

Centralization and Separation of Tailscale Configuration:

  • Added inventory/group_vars/all/tailscale.yml as the single source of truth for all non-sensitive Tailscale settings (toolchain versions, mesh defaults, node attributes, serve flags, and ports), with clear documentation and privacy contract.
  • Removed Tailscale variables from inventory/group_vars/all/main.yml, inventory/group_vars/all/images.yml, and inventory/group_vars/muscle/tailscale.yml, ensuring all non-secret config is now in the new central file. [1] [2] [3] [4] [5] [6]

Sensitive Data Handling and ACL Source Configuration:

  • Introduced tailscale_acl_serve_sources in inventory/group_vars/all/secrets.sops.yml.example for operator email addresses, with fallback logic and documentation, ensuring no PII is stored in public config files.

Role Defaults and Template Logic Updates:

  • Updated roles/L2_compliance/general/defaults/tailscale.yml and roles/L2_compliance/defaults/main.yml to provide only safe fallbacks, deferring all topology and policy configuration to the new group_vars file. [1] [2]
  • Revised the ACL policy template (tailscale-acls.json.j2) to use the new global enable flag and correct variable fallbacks for operator sources, matching the new configuration structure.

Documentation Improvements:

  • Updated OPERATIONS_RUNBOOK.md to document the new declarative, partitioned approach for Tailscale Serve access control and setup, with clear separation between public and encrypted configuration.

Maintenance and Baseline Updates:

  • Updated .secrets.baseline to reflect line number changes and regeneration timestamp due to the config file refactoring. [1] [2]

@Miguel-DevOps
Miguel-DevOps merged commit 84409dd into main Nov 3, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant