David Moreau Simard 16aa41eaf8 Refactor configuration to use dynaconf
This changes the configuration engine from everett to dynaconf.
dynaconf allows loading configuration from files (json, ini, yaml, toml)
as well as environment variables prefixed by ARA_.

Our usage of dynaconf is similar to the use case from the Pulp [1]
project and they have documented an issue when loading database
parameters [2]. This issue is worked around by importing dynaconf in the
different entry points.

This introduces some other changes as well:
- We're now creating a default configuration and data directory at
  ~/.ara. The location of this directory is controlled with the
  ARA_BASE_DIR environment variable.
- We're now creating a default configuration template in
  ~/.ara/default_config.yaml.
- The default database is now located at ~/.ara/ara.sqlite. The location
  of this database can be customized with the ARA_DATABASE_NAME
  environment variable.
  Note that ARA 0.x used "~/.ara/ansible.sqlite" -- the file name change
  is deliberate in order to avoid user databases clashing between
  versions.

More documentation on this will be available in an upcoming patch.

[1]: https://github.com/pulp/pulp
[2]: https://github.com/rochacbruno/dynaconf/issues/89

Change-Id: I8178b4ca9f2b4d7f4c45c296c08391e84e8b990d
2018-12-20 17:53:11 +01:00
2018-03-29 12:36:14 -04:00
2018-03-27 11:35:47 +00:00
2018-03-29 12:36:14 -04:00
2018-12-20 17:53:11 +01:00

ara-server

image

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

ara-server is a component of ARA which provides an API to store and query Ansible execution results:

image

Disclaimer

ara-server is not yet stable and will be shipped as part of a coordinated ARA 1.0 release. It is not currently recommended for production use.

While most of the major work has landed, please keep in mind that we can still introduce backwards incompatible changes until we ship the first release.

You are free to use this project and in fact, you are more than welcome to contribute feedback, bug fixes or improvements !

If you are looking for a stable version of ARA, you can find the latest 0.x version on PyPi and the source is available here.

Documentation

Work in progress

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 an Ansible playbook integrated ara-server, ara-clients and ara-plugins
# This will exercise all three components and record real data from Ansible
tox -e ansible-integration

# 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/>.
Description
RETIRED, this project was merged into a single ara repository
Readme 1.6 MiB