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:
wget -O /tmp/bootstrap.sh https://gitea.romerozone.top/robert/ansible_pull_master/raw/branch/master/bootstrap.sh
Make the script executable:
chmod +x /tmp/bootstrap.sh
Run the bootstrap:
/tmp/bootstrap.sh
If running from a normal user account, use:
sudo /tmp/bootstrap.sh
What the Bootstrap Does
The bootstrap script:
- Detects the operating system.
- Installs Git and Ansible using the appropriate package manager.
- Selects the corresponding Ansible playbook.
- Runs the initial
ansible-pull. - Retrieves the repository and applies the system configuration.
Ubuntu and Debian
For Ubuntu and Debian systems, the bootstrap additionally:
- Prompts for the Ansible Vault password.
- Stores the password securely in
/root/.ansible_vault_password. - Configures Ansible to use the Vault password.
- Runs
local.yml.
Arch-Based Distributions
For Arch-based distributions, the bootstrap:
- Performs a full system update using Pacman.
- Installs Git and Ansible.
- 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.