diff --git a/website/content/blog/2019_03_11_ara-1.0-alpha3-back-to-basics/changelog.png b/website/content/blog/2019_03_11_ara-1.0-alpha3-back-to-basics/changelog.png new file mode 100644 index 0000000..8c44ec1 Binary files /dev/null and b/website/content/blog/2019_03_11_ara-1.0-alpha3-back-to-basics/changelog.png differ diff --git a/website/content/blog/2019_03_11_ara-1.0-alpha3-back-to-basics/index.md b/website/content/blog/2019_03_11_ara-1.0-alpha3-back-to-basics/index.md new file mode 100644 index 0000000..027e847 --- /dev/null +++ b/website/content/blog/2019_03_11_ara-1.0-alpha3-back-to-basics/index.md @@ -0,0 +1,94 @@ +--- +author: "David Moreau Simard" +categories: + - development +tags: + - ansible +date: 2019-03-11 +title: "ARA 1.0 alpha3: back to basics" +slug: ara-1.0-alpha3-back-to-basics +type: post +--- + +The release of ARA 1.0 draws closer with a third alpha milestone ! + +![changelog](changelog.png) + +If there was a theme for this milestone it would be "back to basics". + +In the previous [blog post](https://ara.recordsansible.org/blog/2019/01/16/introducing-new-projects-for-the-upcoming-1.0-release/), +I explained that ARA 1.0 was composed of several projects such as ``ara-server``, +``ara-plugins``, ``ara-clients``, ``ara-web`` and ``ara-infra``. + +As a user, developer and maintainer of these projects myself, I realized that +the added complexity of keeping the projects separated did not provide enough +value to be worth it. + +Things had to be simple because simplicity is a feature in ARA and failing to +be simple meant that we were not staying true to the project's [core values](https://ara.readthedocs.io/en/stable/manifesto.html). + +## One repository instead of three + +The ``ara-server``, ``ara-plugins`` and ``ara-clients`` projects have been +merged into a single repository and you'll be able to find them in the +[feature/1.0 branch](https://github.com/openstack/ara/tree/feature/1.0) of the +main ARA repository. + +This means less burden for contributors and maintainers, for example: + +- We're managing a single repository instead of three +- We no longer need to manage dependencies between the three projects +- We have one project to test, tag, release and contribute to +- Tests and CI no longer need to account for the projects being separated + +By removing this overhead, the project becomes simpler to maintain which +frees up time to do other things. + +For users, this means that there's only a single package with everything +included on PyPi instead of three and 1.0 is already lightweight in terms of +dependencies when compared to 0.x. + +[ara-web](https://github.com/openstack/ara-web) will remain a standalone project +that provides a javascript web client to the API. + +[ara-infra](https://github.com/openstack/ara-infra) will also remain since it's +for managing the infrastructure for the project -- including this blog post and +the Ansible playbooks to deploy it ! + +## Two built-in Ansible roles + +ARA 1.0 will ship with two built-in Ansible roles: + +- [ansible-role-ara-api](https://ara.readthedocs.io/en/feature-1.0/ansible-role-ara-api.html) +- [ansible-role-ara-web](https://ara.readthedocs.io/en/feature-1.0/ansible-role-ara-web.html) + +These roles work are already in use to deploy +[api.demo.recordsansible.org](https://api.demo.recordsansible.org) as +well as [web.demo.recordsansible.org](https://web.demo.recordsansible.org) from +playbooks in [ara-infra](https://github.com/openstack/ara-infra/commit/a797094b61d3dd5f7ccb25849499489ed40cafea). + +These roles are rough around the edges right now but they will evolve over +time to provide a framework for integration testing different ways of deploying +the new ARA API server as well as the web client interface. + +# Beta ? + +There's still some work to do before moving forward with what we'd call a beta. + +For example, we need to iterate on [ara-web](https://github.com/openstack/ara-web) +and make sure the API is able to give it the information it needs. + +Also, while the API and the API clients are nearing completion, we currently do +not yet have a CLI client which would allow users to query the API easily from +the command line (ex: ``ara playbook list``). + +There's other things but I think those are definitely the ones that stand out +the most right now. + +## In the meantime... + +If you would like to contribute code, feedback, documentation or help test the +alpha milestones with us, please reach out ! + +Find us on [#ara](http://webchat.freenode.net/?channels=%23ara) on the freenode IRC +network and on [Slack](https://join.slack.com/t/arecordsansible/shared_invite/enQtMjMxNzI4ODAxMDQxLWU4MmZhZTI4ZjRjOTUwZTM2MzM3MzcwNDU1YzFmNzRlMzI0NTUzNDY1MWJlNThhM2I4ZTViZjUwZTRkNTBiM2I).