The ara-server standalone repository is being discontinued.
The clear and logical separation of components was nice but the overhead
in complexity was not worth it.
Change-Id: I9d5e3096db4972405932ae2af46ee63bfeef43b5
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
This moves manage.py inside the package and sets up an "ara-manage"
console entry point for doing something like "ara-manage runserver"
instead of "python manage.py runserver".
Putting this under __main__ also allows users to do "python -m
ara.server".
Change-Id: I86b57f11fed2fea0295b1980e2734e35289d84f3
This is a structure that will allow us to install everything under
"ara" as separate packages but inside the same module.
For example, installing ara-server will provide ara.server and
ara.api.
Installing ara-clients will provide ara.clients, ara-plugins will
supply ara.plugins, etc.
Change-Id: I27ee431c4e5d946f558befc12937ba2f3c0d020b
- Make the project installable with pbr
- Use tox to run tests, build docs, runserver
- Flesh out the README a little bit
- Real docs is WIP.
Change-Id: I3dc92250cd93add0cdf11c6a67d8f1081560d4e1