
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
ara-server
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:
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/>.