Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ansibleguy/webui
Basic WebUI for using Ansible
https://github.com/ansibleguy/webui
ansible ansible-webui automation cronjob-scheduler django django-rest-framework iac infrastructure-as-code lightweight nac network-as-code pip portable pypi pypi-package python3 scheduled-tasks webapp
Last synced: 4 days ago
JSON representation
Basic WebUI for using Ansible
- Host: GitHub
- URL: https://github.com/ansibleguy/webui
- Owner: ansibleguy
- License: gpl-3.0
- Created: 2024-01-14T03:46:36.000Z (about 1 year ago)
- Default Branch: latest
- Last Pushed: 2025-01-05T13:36:30.000Z (17 days ago)
- Last Synced: 2025-01-11T08:07:22.443Z (11 days ago)
- Topics: ansible, ansible-webui, automation, cronjob-scheduler, django, django-rest-framework, iac, infrastructure-as-code, lightweight, nac, network-as-code, pip, portable, pypi, pypi-package, python3, scheduled-tasks, webapp
- Language: Python
- Homepage: https://webui.ansibleguy.net
- Size: 2.16 MB
- Stars: 107
- Watchers: 3
- Forks: 8
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
- Security: SECURITY.md
Awesome Lists containing this project
README
# Basic WebUI for using Ansible
[![Lint](https://github.com/ansibleguy/webui/actions/workflows/lint.yml/badge.svg?branch=latest)](https://github.com/ansibleguy/webui/actions/workflows/lint.yml)
[![Test](https://github.com/ansibleguy/webui/actions/workflows/test.yml/badge.svg?branch=latest)](https://github.com/ansibleguy/webui/actions/workflows/test.yml)**DISCLAIMER**: This is an **unofficial community project**! Do not confuse it with the vanilla [Ansible](https://ansible.com/) product!
The goal is to allow users to quickly install & run a WebUI for using Ansible locally.
Keep it simple.
----
## Setup
### Local - PIP
Requires Python >=3.10
```bash
# install
python3 -m pip install ansibleguy-webui# run
python3 -m ansibleguy-webui
```### Docker
Images: [webui](https://hub.docker.com/r/ansible0guy/webui), [webui-unprivileged](https://hub.docker.com/r/ansible0guy/webui-unprivileged), [webui-aws](https://hub.docker.com/r/ansible0guy/webui-aws)
```bash
docker image pull ansible0guy/webui:latest
docker run -d --name ansible-webui --publish 127.0.0.1:8000:8000 ansible0guy/webui:latest# or with persistent data (volumes: /data = storage for logs & DB, /play = ansible playbook base-directory)
docker run -d --name ansible-webui --publish 127.0.0.1:8000:8000 --volume $(pwd)/ansible/data:/data --volume $(pwd)/ansible/play:/play ansible0guy/webui:latest
```----
## Demo
Check out the demo at: [demo.webui.ansibleguy.net](https://demo.webui.ansibleguy.net)
Login: User `demo`, Password `Ansible1337`
----
## Usage
[Documentation](http://webui.ansibleguy.net/)
[![Docs Uptime](https://status.oxl.at/api/v1/endpoints/4--ansibleguy_ansible-webui-documentation/uptimes/7d/badge.svg)](https://status.oxl.at/endpoints/4--ansibleguy_ansible-webui-documentation)
[Alternative Link](https://ansible-webui.readthedocs.io/)
----
## Contribute
Feel free to contribute to this project using [pull-requests](https://github.com/ansibleguy/webui/pulls), [issues](https://github.com/ansibleguy/webui/issues) and [discussions](https://github.com/ansibleguy/webui/discussions)!
Testers are also very welcome! Please [give feedback](https://github.com/ansibleguy/webui/discussions)
See also: [Contributing](https://github.com/ansibleguy/webui/blob/latest/CONTRIBUTE.md)
----
## Advertisement
* Need **professional support** using Ansible? Contact us:
E-Mail: [[email protected]](mailto:[email protected])
Tel: [+43 3115 40 900 0](tel:+433115409000)
Web: [EN](https://www.o-x-l.com) | [DE](https://www.oxl.at)
----
## Roadmap
- [x] Ansible Config
- [x] Static Playbook-Directory
- [x] Git Repository support
- [ ] Users
- [x] Management interface (Django built-in)
- [x] Groups & Job Permissions
- [ ] [LDAP integration](https://github.com/django-auth-ldap/django-auth-ldap)
- [x] [SAML SSO integration](https://github.com/grafana/django-saml2-auth)
- [ ] Jobs
- [x] Execute Ansible using [ansible-runner](https://ansible.readthedocs.io/projects/runner/en/latest/python_interface/)
- [x] Scheduled execution (Cron-Format)
- [x] Manual/immediate execution
- [x] Custom Execution-Forms
- [ ] Support for [ad-hoc commands](https://docs.ansible.com/ansible/latest/command_guide/intro_adhoc.html)
- [ ] Support for [Process-Isolation](https://ansible.readthedocs.io/projects/runner/en/stable/standalone/#running-with-process-isolation)
- [x] Job Logging
- [x] Write job metadata to database
- [x] Write full job-logs to Filesystem
- [x] Secret handling (Connect, Become, Vault)
- [x] User-specific job credentials
- [x] Alerting on Failure
- [x] E-Mail
- [x] Support for external Plugins (*simple Interface for Scripts*)
- [ ] WebUI
- [x] Job Dashboard
Status, Execute, Time of last & next execution, Last run User, Links to Warnings/Errors
- [x] Job Output
Follow the jobs output in realtime
- [ ] Job Errors
UI that allows for easy error analysis. Access to logs and provide links to possible solutions
- [x] Show Ansible Running-Config
- [x] Show Ansible Collections
- [ ] Check Collections for available updates (Galaxy + GitHub releases)
- [x] Mobile Support
- [ ] Multi-Language Support
- [ ] API
- [x] Manage and execute Jobs
- [ ] Database
- [ ] Support for MySQL
- [ ] Testing
- [ ] Unit Tests
- [ ] Integration Tests
- [x] Basic WebUI checks
- [x] API Endpoints
- [ ] Permission system