Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ron7/ansible-boy
AnsibleBoy aims to use the Asnible `facts` as data, which can then be visualized in a table format
https://github.com/ron7/ansible-boy
ansible ansible-playbook ansible-plays ansibletower frontend tower
Last synced: 3 months ago
JSON representation
AnsibleBoy aims to use the Asnible `facts` as data, which can then be visualized in a table format
- Host: GitHub
- URL: https://github.com/ron7/ansible-boy
- Owner: ron7
- License: apache-2.0
- Created: 2021-04-29T13:56:00.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-05-31T10:25:58.000Z (over 3 years ago)
- Last Synced: 2024-04-20T13:43:13.744Z (7 months ago)
- Topics: ansible, ansible-playbook, ansible-plays, ansibletower, frontend, tower
- Language: PHP
- Homepage:
- Size: 964 KB
- Stars: 23
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-systools - AnsibleBoy
README
# AnsibleBoy - Ansible Frontend Hub
About
-----AnsibleBoy aims to use the Ansible `facts` as data, which can then be visualized as a table
![](/assets/ansibleBoyScreen1.png?raw=true "Screenshot")
![](/assets/ansibleBoyScreen2.png?raw=true "Screenshot")
ToDo
------
(note that this project is very fresh)- Ability to export in CSV or HTML
- Extend the data
- Add options to see each host separately
- Add custom facts
- Add docker-compose setup
- OthersHow to install
------- needs PHP installed (7.4 recommended)
- needs ansible installed
- assumes that your ansible setup utilizes ssh-keys to login to the hostsThis is a straight forward PHP setup, so clone the repo directly in a `web` folder.
Setup `.env` file from the example `.example.env` one
Create a Database with a user.
Import the `.db_users_init` into the DB, which will create the `users` table, and add the initial `admin` user. TODO: this should be automated in the code, and not be a manual step.
Login to `/admin` with user: `admin` and pass `admin`. Make sure to change these.
Once in the Users menu, click the red button to `Reset DB Table Servers`, which recreates the table every time. So be careful with it.In `.env` you would need to setup the absolute paths to your`inventry` file, and `ansible.cfg` files, so the `.cron` can use both of these files to connect to your inventory and pull the `facts`.
You can also use real time environment variables like:
```shell
ANSIBLEBOY_INVENTORY=/path/to/hosts ANSIBLEBOY_CFG=/path/to/ansible.cfg ./.cron
```
in case you need to do this multiple times.Then set that cron to to run at the interval you want to gather new `facts` from your fleet.