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

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

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:

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.

This is what troubleshooting jobs in @ZuulCI looks like when I iterate on @Ansible roles and integration tests for @ARecordsAnsible :) pic.twitter.com/UtjNVKXyvJ — ☁David Moreau-Simard (@dmsimard) May 15, 2019

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.



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 — ARA Records Ansible (@ARecordsAnsible) April 23, 2019

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 ™