# Ansible Pull Master This repository is my main repository for Ansible Pull. ## Supported Distributions The bootstrap script automatically detects the operating system using `/etc/os-release` and selects the appropriate package manager and Ansible playbook. | Distribution | Package Manager | Playbook | |---|---|---| | Ubuntu | APT | `local.yml` | | Debian | APT | `local.yml` | | Arch-based distributions (including CachyOS) | Pacman | `arch.yml` | ## New Server Bootstrap For a new server or workstation, log in as `root` or use an account with sudo privileges. Download the bootstrap script directly from Gitea: ```bash wget -O /tmp/bootstrap.sh https://gitea.romerozone.top/robert/ansible_pull_master/raw/branch/master/bootstrap.sh ``` Make the script executable: ```bash chmod +x /tmp/bootstrap.sh ``` Run the bootstrap: ```bash /tmp/bootstrap.sh ``` If running from a normal user account, use: ```bash sudo /tmp/bootstrap.sh ``` ### What the Bootstrap Does The bootstrap script: 1. Detects the operating system. 2. Installs Git and Ansible using the appropriate package manager. 3. Selects the corresponding Ansible playbook. 4. Runs the initial `ansible-pull`. 5. Retrieves the repository and applies the system configuration. ### Ubuntu and Debian For Ubuntu and Debian systems, the bootstrap additionally: 1. Prompts for the Ansible Vault password. 2. Stores the password securely in `/root/.ansible_vault_password`. 3. Configures Ansible to use the Vault password. 4. Runs `local.yml`. ### Arch-Based Distributions For Arch-based distributions, the bootstrap: 1. Performs a full system update using Pacman. 2. Installs Git and Ansible. 3. Runs `arch.yml`. No Ansible Vault password is required for the Arch playbook. ## After Bootstrap After the initial pull completes, the system is configured and managed by this Ansible Pull repository. The Ubuntu/Debian playbook creates the **Default User** when needed, along with the Ansible service account and other required configuration. The Arch-based playbook configures Fastfetch and ensures it starts in interactive Bash. ## Playbooks - `local.yml` — Ubuntu and Debian server configuration. - `arch.yml` — Arch-based workstation configuration.