- 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.
65 lines
1.6 KiB
Markdown
65 lines
1.6 KiB
Markdown
# 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
|
|
|
|
```yaml
|
|
- hosts: all
|
|
roles:
|
|
- role: base
|
|
timezone: America/Toronto
|
|
locale: en_US.UTF-8
|
|
```
|
|
|
|
## Tags
|
|
- `base`: All base tasks
|
|
- `security`: 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)
|