make_ansible_portable Overview
The portable Ansible runtime shipped inside dbbot release packages is built through the make_ansible_portable toolchain. This project is most useful when you want to understand that upstream path or reuse the same portable build outside dbbot.
1. What it solves
The project follows a straightforward approach:
- Keep the official Ansible runtime code unchanged
- Install the official package into a directory with
pip --target - Place a custom launcher in that directory
- Run it directly with commands such as
python3 ./ansibleandpython3 ./ansible-playbook
Use this project when you want to:
- build a standalone portable Ansible bundle
- control the target controller-side Python version and dependency set
- inject extra Python packages or Ansible collections into the bundle
2. Relationship with dbbot
The portable-ansible runtime shipped inside dbbot releases follows this build direction.
For dbbot users, this project is mainly useful when you want to:
- understand how the portable runtime is produced
- rebuild a bundle with your own controller Python, dependency constraints, or size-cutting options
3. Capabilities worth checking
--source: choose the official Ansible package version--python: choose the controller-side Python used for the bundle--build-constraint: pin dependency versions for reproducible builds--without-vault: reduce size whenansible-vaultis not needed- extras / collections injection: add Python dependencies and collections into the bundle
4. Recommended reading path
- If you want to use the runtime directly inside
dbbot, read: Quick Guide to the Portable Ansible Package in dbbot - If you want the setup workflow in
dbbot, read: Deploy dbbot and configure Ansible - If you want the upstream code and build scripts, go to: https://github.com/fanderchan/make_ansible_portable