The first beta milestone for ARA 1.0 is out and ready for testing !
Main changes since 1.0.0a4
- API:
/api/v1/info
has moved to/
and/
was improved with a link to the API index - API:
CORS_ORIGIN_WHITELIST
now requires the scheme (http/https) as per django-cors-headers - API: Playbook arguments are now provided when listing playbooks at
/api/v1/playbooks
- Clients: API clients now support authenticating with specified credentials
- Ansible roles: The ara_api role now supports using postgresql for the server database
Packaging
The API server dependencies are now optional when installing ARA 1.0.
They can be installed by specifying the [server]
extra requirement:
# Note: --pre is required when installing an ARA 1.0 pre-release
pip install [--pre] ara[server]
Local or offline usage of ARA 1.0 still requires the API server dependencies installed but the server does not need to be running.
In addition, when using postgresql, the psycopg2 library can be installed by
specifying the [postgresql]
extra requirement:
pip install [--pre] ara[server,postgresql]
Miscellaneous
- The code review and CI infrastructure was rebranded from OpenStack to OpenDev
- The GitHub mirror is now available at https://github.com/ansible-community/ara
- Bug, issue and feature tracking have been moved to https://github.com/ansible-community/ara/issues
Want to try it out ?
The live demos on api.demo.recordsansible.org and web.demo.recordsansible.org have been updated with this latest beta release.
If you want a quick start, you can have a look at the README or there is otherwise plenty of documentation available to get started:
- Installing the 1.0 pre-release
- Configuring Ansible to use ARA
- Configuring the ARA Ansible plugins
- Customizing the API server configuration
- Setting up authentication and security considerations
- API endpoint documentation and object relationships
- How to use the API with the built-in API clients
- Architecture and workflows: how ARA records data
There are even built-in Ansible roles to help you set up an API server as well as the new web interface:
In fact, these roles are the ones used to deploy the live demos on api.demo.recordsansible.org and web.demo.recordsansible.org:
You’ll find the Ansible roles in the source repository.
Help wanted
ARA is a free and open source community project and it needs help from users and contributors for maintenance, new features and improvements.
As a user, your feedback is invaluable to know if the project is living up to your expecations.
Was the documentation clear ? Did you encounter an issue when trying ARA ? Do you have an idea for a new feature ? Join the community and chat with us on IRC or on Slack to tell us about it !
As a contributor, there is a wide range of things we could use your help for.
Issues and features are now tracked on GitHub for ara, ara-web as well as ara-infra.
The API server is based on Django and django-rest-framework while the web interface is a stateless javascript application built with patternfly and react.
With this beta release, the API should be mostly settled although we are interested in feedback for the database model if you are familiar with Django.
The web interface needs the most love but hey, it works and it is able to query the API successfully.
All commits are code reviewed, unit and integration tested before being merged to the project.
If you have time to contribute, I can help point you in the right direction to get started.
You can find me as dmsimard
on IRC, Slack and Twitter.
After the beta: releasing ARA 1.0
Installing and configuring ARA 1.0 is very similar to ARA 0.x on purpose.
However, there will be no support for upgrading an existing 0.x database to 1.0. The backend and database model is now based on Django instead of Flask and everything was essentially re-written from scratch.
If you are currently using ARA 0.x, now might be a good time to make sure you don’t upgrade unexpectedly:
ARA 1.0 will not be fully backwards compatible with 0.x.
— ARA Records Ansible (@RecordsAnsible) April 23, 2019
With the release of 1.0 in the near future, now would be a good time to pro-actively pin ara to <1.0.0 in your installation scripts or requirements.txt order to prevent an unexpected upgrade. pic.twitter.com/xLITXmctQ1
It is important to note that 1.0 will be released without full feature parity with 0.x. It was a tough decision to make but I’m convinced the new API provides too much value to keep it unreleased while we implement the missing features.
Namely, these are some of the things that will be missing from the 1.0 release:
- A command-line interface (ex:
ara playbook list
) - Generating and exporting data (ex:
ara generate html
,ara generate junit
) - An approach for large scale distributed environments similar to sqlite over http in 0.x
If these features are important to you, we could use your help to port them to use the new API or you can hold out until they are eventually shipped in a future release.
Otherwise, the plan is to have a sufficient amount of users try out the beta to see if there are any bugs or gaps we might have missed and then tag the release once these have been resolved.
Soon ™