Skip to content

Release 1.0.3 - Refactor Tailscale systemd override architecture#28

Merged
sbaerlocher merged 2 commits intomainfrom
release/1.0.3
Feb 2, 2026
Merged

Release 1.0.3 - Refactor Tailscale systemd override architecture#28
sbaerlocher merged 2 commits intomainfrom
release/1.0.3

Conversation

@sbaerlocher
Copy link
Member

Summary

  • Refactor Tailscale systemd service override handling for better maintainability
  • Fix systemd directive placement (Unit vs Service sections)
  • Consolidate templates and move configuration to Ansible defaults
  • Update documentation with detailed examples

Changes

Tailscale Role Refactoring:

  • Consolidated config-override.conf.j2 and override.conf.j2 into single unified template
  • Moved ExecStart override logic from template to tailscale_service_override in defaults/main.yml
  • Fixed Unit vs Service section directive handling (After, Wants, PartOf now in [Unit] section)
  • Added automatic cleanup task for legacy config-override.conf file
  • Improved YAML formatting with multiline syntax for better readability

Documentation:

  • Updated argument_specs.yml with detailed documentation and usage examples
  • Added examples for customizing systemd overrides
  • Documented default ExecStart configuration

Files Changed:

  • roles/tailscale/defaults/main.yml - Added tailscale_service_override with ExecStart default
  • roles/tailscale/tasks/configure.yml - Simplified tasks, added cleanup
  • roles/tailscale/templates/.../override.conf.j2 - Unified template with Unit/Service separation
  • roles/tailscale/meta/argument_specs.yml - Enhanced documentation
  • Deleted: config-override.conf.j2 (consolidated)

Test Plan

  • Verify systemd override file generation
  • Test with default configuration (config enabled)
  • Test with custom tailscale_service_override
  • Verify legacy config-override.conf cleanup
  • Confirm no systemd warnings about directive placement
  • Validate argument_specs documentation

🤖 Generated with Claude Code

Refactor Tailscale role systemd service override handling for better
maintainability and correct systemd directive placement. Consolidate
two separate override templates into one, move configuration defaults
to Ansible variables, and fix Unit vs Service section handling.

Key changes:
- Consolidated config-override.conf.j2 and override.conf.j2 templates
- Moved ExecStart override to tailscale_service_override in defaults
- Fixed systemd directive section placement (Unit vs Service)
- Added cleanup task for legacy config-override.conf
- Updated argument_specs.yml with detailed documentation
- Improved code readability with YAML multiline formatting
Break long ExecStart line into multiple lines to comply with
yamllint line-length rule (max 160 characters).
@sbaerlocher sbaerlocher merged commit 4f2f6c8 into main Feb 2, 2026
11 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