/ansible-role-openwrt_bootstrap

Bootstrap Python on OpenWrt devices by installing the required Python packages for Ansible to run.

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

ansible-lint Publish to Ansible Galaxy markdown link check markdownlint pyspelling commitlint

pre-commit Conventional Commits License: GPL v2

openwrt_bootstrap

Bootstrap Python on OpenWrt devices by installing the required Python packages for Ansible to run.

Please note:

  • Since Python is probably not installed on the OpenWrt device at this point, please make sure to disable gathering of facts in the playbook (gather_facts: false - see the example playbook)

Requirements

A device that has enough flash storage space available to hold either a full-blown python3 installation or the minimal set of Python dependencies:

  • python3-light
  • python3-base
  • libffi
  • python3-logging
  • python3-multiprocessing
  • python3-distutils
  • python3-email
  • python3-urllib

Role Variables

variable default required description
bts_minimal_required_package See defaults/main.yml false Minimal required packages for Ansible to work
bts_full_required_packages ['python3'] false Python3 full installation packages
bts_install_full_python false false Whether to install the full Python3 version
bts_update_opkg_cache true false Whether to update opkg cache before attempting to install the packages

Dependencies

None

Example Playbook

---
- hosts: 'all'
  gather_facts: false
  vars:
    install_full_python: true
  roles:
    - 'openwrt_bootstrap'
...

Contributing

First off, thanks for taking the time to contribute! ❤️

All types of contributions are encouraged and valued. Please see CONTRIBUTING.md for different ways to help and details about how this project handles contributions.

License

GPL-2.0-or-later