Ansible commander development update

Hi everyone,

As I have mentioned earlier, ansible commander is a work in progress to build a REST API on top of Ansible that allows for inventory access, detailed logging, and ability to REST-trigger playbook executions (dry run or check, etc).

Currently we have the project going fairly far along here:

https://github.com/ansible/ansible-commander

Recently, work is underway to make playbooks REST-triggerable and also to build a flexible permissions model around who has what access to edit inventory and launch jobs, and so on. Already you can create inventory objects, projects, teams, users, and all sorts of records via the API.

It’s still not quite usable end-to-end yet, but I wanted to share a bit of where things were going.

Python developers may be interested in seeing “urls.py” which is a list of available REST URLs to date, as well as a stub of an API guide, which I am overdue for updating :slight_smile: Developers may also be interested in the test code, which exposes how nearly everything in the REST API is done and what it is capable of.

You can also track in TODO.md some of the pending things we’ve yet to build or arrange.

If anyone wants to run to run things and talk to early REST methods, you are welcome, but this should not be used in any sort of production or even evaluation capacity, we’ll reset migrations or change methods at any time. You will note we are using PostgreSQL as a database, but there is an ORM in place to support others. Right now we have been doing most of the development on CentOS 6.X, so the playbook that sets things up “make setup” only runs there. That will likely change later with at least an Ubuntu LTS version in addition to the Red Hat compatible version. TBD.

Just wanted to share since I knew people were interested in this project and might want to know what we are up to!

Commander should be a great integration point for lots of services to interact with Ansible and be able to track history of what gets changed where and why. It’s also the future point for a lot of interesting expansions into what we’ll be able to
do with Ansible.

(For those that like not requiring a server, ansible-commander is an optional component!)

Look forward to more updates in the near future!

We’ll have a lot more documentation closer to release.