RETIRED, this project has moved to https://github.com/ansible-community/ara
Go to file
David Moreau Simard f61531ab9a
Rename the ara role to ara_api and move nginx out to it's own role
Moving nginx out to it's own role allows us to re-use it for ara-web.
Renaming ara to ara_api and namespacing it's variables helps removing
ambiguities and opportunities for clashing names.

Change-Id: Ie1fc53fa25b00bc86aafda708df9866f02ced6fd
2019-03-07 19:53:00 -05:00
ara Use whitenoise for serving static files 2019-03-07 15:39:13 -05:00
doc/source Rename the ara role to ara_api and move nginx out to it's own role 2019-03-07 19:53:00 -05:00
playbooks Rename the ara role to ara_api and move nginx out to it's own role 2019-03-07 19:53:00 -05:00
roles Rename the ara role to ara_api and move nginx out to it's own role 2019-03-07 19:53:00 -05:00
tests Move Ansible role to set up ARA 1.0 from ara-infra 2019-03-05 16:04:31 -05:00
.editorconfig 💥 first commit 2018-03-29 12:36:14 -04:00
.gitignore Add pip-wheel-metadata to gitignore 2019-01-25 12:33:20 -05:00
.gitreview Rename references to ara-{server,plugins,clients} back to ara 2019-03-01 15:29:19 -05:00
.zuul.yaml Rename the ara role to ara_api and move nginx out to it's own role 2019-03-07 19:53:00 -05:00
LICENSE 💥 first commit 2018-03-29 12:36:14 -04:00
README.rst Documentation updates post-merge of plugins/server/clients 2019-03-04 22:48:46 +00: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 Use whitenoise for serving static files 2019-03-07 15:39:13 -05:00
setup.cfg Rename references to ara-{server,plugins,clients} back to ara 2019-03-01 15:29:19 -05: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 Use whitenoise for serving static files 2019-03-07 15:39:13 -05:00

README.rst

ARA Records Ansible

image

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

The project provides several distinct components in order to make this happen:

  • An API server for sending and querying data relative to playbook execution results
  • An API client library for communicating with the API
  • An Ansible callback plugin to record events as they happen throughout the execution
  • An Ansible action module to associate arbitrary key/values to your playbook reports

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/venv/bin/pip install git+https://github.com/openstack/ara@feature/1.0

# Tell Ansible to use the ARA callback plugin
# "python -m ara.plugins" provides the path to the ARA plugins directory
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 will be saved in real time throughout the execution of the Ansible playbook.

What happens behind the scenes is that the ARA Ansible callback plugin used the built-in API client to send the data to the 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 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
cd ara
git checkout feature/1.0

# 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

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/>.