Table of Contents

AAROC is DevOps

The mission of the Africa-Arabia Regional Operations Centre is to promote and support collective, coherent and sustainable interoperability of e-Infrastructures within the region and beyond, to peer infrastructures in the rest of the world; and to act as a point of coordination and support to computational resource providers in the region, in order to promote and develop regional scientific and technical collaboration.

Accounting Portal : The accounting portal where usage by various communities is reported.

Software-Defined Infrastructure

We develop abstract descriptions of services which can be executed on relevant hardware configurations. These can then be instantiated

Communicating and Collaborating.

We're on Slack. Come on over if you want to hang out and work with us. If you have something you want to help on, see Contributing.md. The usual workflow for collaboration on Github is recommended. If you want to request documentation or guides, or would like to contrbute to the more 'meta' aspects, discuss these things with on the forum.

Development Status and Roadmap

You can see the development roadmap on the project milestones. Feel free to propose new milestones based on features you would like to see.

There is a development status board at https://waffle.io/aaroc/devops, a snapshot of the current state is below.

Contributing

Quickstart guide for site administrators

This is the repository for the DevOps code which executes AAROC infrastructure. We support Ansible and Puppet.
Site administrators have freedom of choice in managing the services at their site, as long as they

Ansible

Create create a new branch with your site name as defined in GOCDB : git branch <site-name>

Propose the local site configuration :
4. Inventory. Contribute your inventory to to Ansible/inventories/inventory.<site-name>. If your playbooks are very site-specific, create a subdirectory in Ansible/sites for your site as declared in the GOCDB and work there.

Variables. Create two variables files for your site in Ansible/group_vars :

<site-name>, where <site-name> is the name of your site in the GOCDB (e.g. za-meraka). This will contain the site-specific variables, but not sensitive information.

<site-name>-passwords (e.g.za-meraka-passwords) : This is the site-specific variables file containing sensitive information. It should be encrypted with ansible-vault before being committed : ansible-vault encrypt Ansible/group_vars/passwords-<site-name>.

Send a pull request to the repository so that the configuration can be checked and verified.

Create your <site-name>.yml playbook to deploy the services which you need at your site - use as many of the provided roles as you need.