Description of assignment
Ansible is already used as an automation tool by several of our clients. The output of Ansible is usually only shown via the command line. This makes it not user-friendly and, because the playbooks contain multiple tasks, also not very clear. Ansible Tower can be used to get an overview of an executed playbook via dashboards and a web interface.
Ansible Tower has quite high licensing costs. There are several open-source alternatives to Ansible Tower. This internship is divided into two parts:
- A local setup of a real-world implementation of an Ansible project. This is a solution that will be used by one of our clients.
- A study of the alternatives to Ansible Tower with the pros and cons of the different tools. The intern will then choose a tool to implement in the Ansible project.
Objectives
Setting up an Ansible project that automatically creates federation clients on an access management (AM) system. This will use an open-source alternative to Ansible Tower (automation platform). This project needs to be generic so that it can be used for different types of AM systems with minimal adjustments.
It is expected that the Ansible playbooks can be started via a user-friendly (web) interface. The output and any errors can also be viewed here via a dashboard.
Optional
Expanding the web interface with additional playbooks, for example, to re-execute for a specific client that failed in a previous run. Expanding the web interface to execute the playbooks with data from a file upload or form.
Technologies / concepts involved
Project methodology
IS4U uses agile project methodologies such as XP and SCRUM for its projects. The project described above is no exception. These methodologies focus on the quality of software solutions. This is achieved by dividing the project into shorter iterations and maintaining very intense communication within and outside the project team. Intensive communication is inherent to agile and consequently leads to thorough internship supervision.