RETIRED, this project has moved to https://github.com/ansible-community/ara
Go to file
Florian Apolloner 9b0c08f77a
Add distributed_sqlite db backend and WSGI app
This new feature is an implementation equivalent to the sqlite
middleware from 0.x but in Django instead of Flask.

It uses a WSGI middleware to map an URL to a location on
the filesystem which is then loaded by the database backend.

Fixes: https://github.com/ansible-community/ara/issues/57

Co-Authored-By: Florian Apolloner <florian@apolloner.eu>
Co-Authored-By: David Moreau-Simard <dmsimard@redhat.com>
Change-Id: I338dae2fabda2af7fd0a75c795c7b4fd6b179940
2019-07-02 11:53:10 -04:00
.github/ISSUE_TEMPLATE Add GitHub issue templates for bugs and enhancements 2019-06-07 23:03:07 -04:00
.zuul.d Add distributed_sqlite db backend and WSGI app 2019-07-02 11:53:10 -04:00
ara Add distributed_sqlite db backend and WSGI app 2019-07-02 11:53:10 -04:00
doc/source Add distributed_sqlite db backend and WSGI app 2019-07-02 11:53:10 -04:00
playbooks Re-structure integration tests 2019-06-20 10:22:27 -04:00
roles Add distributed_sqlite db backend and WSGI app 2019-07-02 11:53:10 -04:00
tests Add distributed_sqlite db backend and WSGI app 2019-07-02 11:53:10 -04:00
.black.toml Rename pyproject.toml to .black.toml to address pep517 2019-04-24 21:17:34 -04:00
.editorconfig 💥 first commit 2018-03-29 12:36:14 -04:00
.gitignore Also ignore .venv directories. 2019-05-13 21:35:09 +02:00
.gitreview Switch default branch from feature/1.0 to master 2019-06-04 20:33:00 -04:00
LICENSE 💥 first commit 2018-03-29 12:36:14 -04:00
README.rst Switch default branch from feature/1.0 to master 2019-06-04 20:33:00 -04:00
manage.py Make manage.py executable 2019-05-21 16:56:59 -04:00
requirements.txt Add a comment in requirements.txt about location of server deps 2019-06-02 21:19:29 -04:00
setup.cfg Move github references from openstack/ara to ansible-community/ara 2019-05-21 11:08:57 -04:00
setup.py Bootstrap the repository with the basic machinery (#1) 2018-03-29 12:36:22 -04:00
test-requirements.txt Updated black dependency. 2019-05-13 21:32:58 +02:00
tox.ini Re-structure integration tests 2019-06-20 10:22:27 -04:00

README.rst

ARA Records Ansible

ARA Records Ansible playbooks and makes them easier to understand and troubleshoot.

image

ARA saves playbook results to a local or remote database by using an Ansible callback plugin and provides an API to integrate this data in tools and interfaces.

This project provides the ARA API as well as the Ansible components.

For the web client interface, see ara-web.

Quickstart

Here's how you can get started from scratch with sane defaults:

# Create a python3 virtual environment and activate it so we don't conflict
# with system or distribution packages
python3 -m venv ~/.ara/virtualenv
source ~/.ara/virtualenv/bin/activate

# Install Ansible, ARA and it's API server dependencies
pip install ansible ara[server]

# Tell Ansible to use the ARA callback plugin
export ANSIBLE_CALLBACK_PLUGINS="$(python -m ara.setup.callback_plugins)"

# Run your playbook as usual
ansible-playbook playbook.yml

If nothing went wrong, your playbook data should have been saved in a local database at ~/.ara/server/ansible.sqlite.

You can browse this data through the API by executing ara-manage runserver and pointing your browser at http://127.0.0.1:8000/.

That's it !

Live demos

You can find live demos deployed by the built-in ara_api and ara_web Ansible roles at https://api.demo.recordsansible.org and https://web.demo.recordsansible.org.

Documentation

Documentation for installing, configuring, running and using ARA is available on readthedocs.io.

Community and getting help

Contributors

See contributors on GitHub.

Copyright

Copyright (c) 2019 Red Hat, Inc.

ARA Records Ansible is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

ARA Records Ansible is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with ARA Records Ansible.  If not, see <http://www.gnu.org/licenses/>.