MyLittleAnsible is a Python command-line program designed to configure remote hosts using Infrastructure as Code (IaC) principles. It allows you to automate system configuration tasks on remote hosts, leveraging a declarative approach to infrastructure setup. In this exemple i's for two Virtual machines.
MyLittleAnsible executes tasks defined in a YAML file (todos.yml). Tasks include managing packages, copying files, templating configurations, and administering systemd services.
MyLittleAnsible supports three methods of SSH authentication:
- Default SSH configuration
- Username/password authentication
- Private key authentication
Define the hosts to configure in an inventory file (inventory.yml). Each host includes SSH connection details such as address and port.
copy
: Copy files or directories to remote hosts.template
: Render Jinja2 templates on remote hosts.service
: Manage systemd services on remote hosts.sysctl
: Modify kernel parameters on remote hosts.apt
: Manage APT packages on remote hosts.command
: Execute arbitrary shell commands on remote hosts.
docker build -t my_image:tag .
docker run --network host -ti my_image:tag
A simple star to this project repo is enough to keep me motivated on this project for days. If you find your self very much excited with this project let me know with a tweet.
- Github: @Haroun-Azoulay