Subscribed Ansible – Documentation¶
Ansible-based server configuration management for Subscribed web and database infrastructure (Ubuntu).
Quick navigation¶
| Guide | Description |
|---|---|
| Getting started | Prerequisites, SSH setup, first run |
| Playbooks | All playbooks and when to run them |
| New server | End-to-end guide: bootstrap → configure → lockdown |
| Inventory & variables | How inventories, host_vars, and group_vars work |
| Vault – secrets management | View, edit, create, and rekey encrypted files |
| Cloudflare Zero Trust | Tunnels, Access applications, lockdown mode |
| Sandbox – local testing | Test playbooks locally with Docker |
| Roles reference | What each role does and its key variables |
Repository layout¶
subscribed-ansible/
├── ansible.cfg # Default config (stage inventory, vault file, etc.)
├── Makefile # Shorthand for common playbook commands
├── requirements.yml # Ansible collection dependencies
│
├── inventories/
│ ├── prod/ # Production hosts and variables
│ └── stage/ # Staging hosts and variables
│
├── group_vars/all/ # Variables shared across all hosts
│ ├── common.yml # Timezone, SSH, firewall defaults, users
│ ├── allowlist.yml # IP allowlists (office, Plecto, Supermetrics, …)
│ ├── cronjobs.yml # Cron job definitions
│ └── deployment.yml # Deployment user definition
│
├── roles/ # All Ansible roles (see roles.md)
├── cronjobs/ # Cron shell scripts deployed to servers
├── keys/ # SSH public keys for operator users
├── sandbox/ # Local Docker test environment
└── docs/ # This documentation
Environments¶
| Environment | Inventory | Default? |
|---|---|---|
stage | inventories/stage/hosts.yml | Yes (ansible.cfg) |
prod | inventories/prod/hosts.yml | No – pass -i inventories/prod/hosts.yml or ENV=prod |