Skip to content

Project of master for school this Ansible project, written in Python, automated system configuration tasks.

Notifications You must be signed in to change notification settings

Haroun-Azoulay/python_ansible

Repository files navigation

My little ansible

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.

Execution of Todos

MyLittleAnsible executes tasks defined in a YAML file (todos.yml). Tasks include managing packages, copying files, templating configurations, and administering systemd services.

SSH Authentication

MyLittleAnsible supports three methods of SSH authentication:

  • Default SSH configuration
  • Username/password authentication
  • Private key authentication

Inventory Management

Define the hosts to configure in an inventory file (inventory.yml). Each host includes SSH connection details such as address and port.

Execution Modules

  • 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.

Screen

Cover

🛠️ Tech Stack

🧐 Features

🛠️ Install Dependencies

Docker image building

docker build -t my_image:tag .

Docker run

docker run --network host -ti my_image:tag

❤️ Support

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.

🙇 Author

Haroun Azoulay

About

Project of master for school this Ansible project, written in Python, automated system configuration tasks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published