RETIRED, this project was merged into a single ara repository
Go to file
Zuul 4238a0fa06 Merge "Misc updates to security and configuration documentation" 2019-01-25 21:28:59 +00:00
.zuul.d Replace the ansible-integration job by the new integration jobs 2019-01-23 13:44:28 -05:00
ara Added support for external auth via REMOTE_USER provided by webservers. 2019-01-25 17:01:40 +01:00
doc/source Misc updates to security and configuration documentation 2019-01-25 12:29:11 -05:00
tests Set exit code to 1 if at least one linter fails. 2018-11-10 20:20:52 +00:00
.editorconfig 💥 first commit 2018-03-29 12:36:14 -04:00
.gitignore Add *.retry to gitignore for failed playbook files 2018-11-15 11:39:03 -05:00
.gitreview Added .gitreview 2018-03-27 11:35:47 +00:00
LICENSE 💥 first commit 2018-03-29 12:36:14 -04:00
README.rst Replace the ansible-integration job by the new integration jobs 2019-01-23 13:44:28 -05:00
manage.py Alternative approach to manage.py instead of symlink. 2019-01-15 18:14:08 +01:00
pyproject.toml Allow configuration of settings via config files. 2018-10-22 19:48:52 +02:00
requirements.txt Fixed XSS issue from DRF. 2019-01-17 22:40:43 +01:00
setup.cfg Made dynaconf integration more explicit. 2018-12-20 18:46:02 +01:00
setup.py Bootstrap the repository with the basic machinery (#1) 2018-03-29 12:36:22 -04:00
test-requirements.txt First iteration of authentication and security docs 2019-01-24 17:07:36 +00:00
tox.ini Replace the ansible-integration job by the new integration jobs 2019-01-23 13:44:28 -05:00

README.rst

ara-server

image

ARA Records Ansible playbook runs and makes the recorded data available and intuitive for users and systems.

ara-server is a modern python 3 application built with the latest releases of Django and django-rest-framework.

ara-server is the component from ARA that manages the REST API and the database.

image

  • For the ARA Ansible callback plugin or the ara_record action module, look at ara-plugins
  • For the ARA REST API clients, look at ara-clients
  • For the ARA web interface, look at ara-web

Quickstart

Here's how you can get started from scratch with default settings:

# Create a virtual environment
python3 -m venv ~/.ara/venv

# Install Ansible and the required ARA projects
~/.ara/venv/bin/pip install ansible ara-server ara-clients ara-plugins

# Tell Ansible to use the ARA callback plugin from ara-plugins
export ANSIBLE_CALLBACK_PLUGINS="$(~/.ara/venv/bin/python -m ara.plugins)/callback"

# Run your playbook as your normally would
~/.ara/venv/bin/ansible-playbook playbook.yml

The data is saved in real time during the Ansible playbook execution.

What happened behind the scenes is that the ARA Ansible callback plugin (provided by ara-plugins) used the offline API client (provided by ara-clients) to send your data to the ara-server API which then saved it to a database located by default at ~/.ara/server/ansible.sqlite.

You're now ready to start poking at the API with the built-in API clients !

If you'd like to have the ARA web reporting interface, take a look at ara-web.

Documentation

Documentation for installing, configuring, running and using ara-server is available on readthedocs.io.

Community and getting help

You can chat with the ARA community on Slack and IRC. The two are transparently bridged with teamchat which broadcasts messages from one platform to the other.

In addition, you can also find ARA on Twitter: @ARecordsAnsible

IRC

Slack

Development

TL;DR: Using tox is convenient for the time being:

# Retrieve the source
git clone https://github.com/openstack/ara-server
cd ara-server

# Install tox from pip or from your distro packages
pip install tox

# Run test server -> http://127.0.0.1:8000/api/v1/
tox -e runserver

# Run actual tests or get coverage
tox -e linters
tox -e py3
tox -e cover

# Build docs
tox -e docs

Authors and contributors

ARA was created by David Moreau Simard (@dmsimard) and contributors can be found on GitHub.

Copyright

Copyright (c) 2018 Red Hat, Inc.

ARA 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 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.  If not, see <http://www.gnu.org/licenses/>.