RETIRED, this project was merged into a single ara repository
Go to file
David Moreau Simard 5a7eeb93af First iteration of authentication and security docs
This is a first iteration on basic security and authentication
documentation. It documents the security settings users might want to
pay attention to and explains how to configure them.

We're bumping the version of sphinx in order to enable the
"autosectionlabel" extension so we don't need to create explicit
labels for sections.

Change-Id: I694eb1a2aa03193335f11cbda40ed6962357c428
2019-01-24 17:07:36 +00:00
.zuul.d Replace the ansible-integration job by the new integration jobs 2019-01-23 13:44:28 -05:00
ara Added very basic read/write authentication. 2019-01-24 17:07:31 +00:00
doc/source First iteration of authentication and security docs 2019-01-24 17:07:36 +00: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/>.