ansible/roles/base/README.md
ilia 579f0709ce Update Makefile and inventory configurations for improved task execution and organization
- 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.
2025-10-09 21:24:45 -04:00

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 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)