- Refactor Makefile to enhance command structure, including clearer descriptions and usage examples for targets related to development, inventory, and monitoring tasks. - Update inventory files to ensure correct host configurations and user settings, including adjustments to ansible_user for specific hosts. - Modify group_vars to streamline Tailscale configuration and ensure proper handling of authentication keys. These changes improve the clarity and usability of the Makefile and inventory setup, facilitating smoother operations across the infrastructure.
1.6 KiB
1.6 KiB
Role: base
Description
Installs core system packages and utilities required by all other roles. This is the foundation role that should be applied to all managed hosts.
Requirements
- Ansible 2.9+
- Debian/Ubuntu systems
- Root or sudo access
Installed Packages
Base Utilities
- curl, wget - Download tools
- unzip - Archive extraction
- xclip - Clipboard utility
- tree - Directory visualization
Network & Admin Tools
- net-tools - Network configuration
- ufw - Uncomplicated Firewall
- mailutils - Email utilities
Modern CLI Tools
- jq - JSON processor
- yq - YAML processor (from apt or GitHub binary)
- ripgrep - Fast text search
- fd-find - Fast file finder
Configuration Tasks
- Sets system timezone (default: UTC)
- Configures system locale (default: en_US.UTF-8)
- Creates Ansible temporary directory with proper permissions
- Creates fd symlink for Ubuntu compatibility
Variables
| Variable | Default | Description |
|---|---|---|
timezone |
UTC |
System timezone |
locale |
en_US.UTF-8 |
System locale |
Dependencies
None - this is the foundation role.
Example Playbook
- hosts: all
roles:
- role: base
timezone: America/Toronto
locale: en_US.UTF-8
Tags
base: All base taskssecurity: Security-related tasks
Notes
- This role should be applied before all other roles
- yq is installed from apt if available, otherwise from GitHub binary
- fd-find is symlinked to fd for compatibility across distributions
- UFW firewall is installed but not enabled (handled by SSH role)