ara/doc/source/architecture.rst
David Moreau Simard b89ce1af99 Documentation updates post-merge of plugins/server/clients
This updates some of the documentation bits that referred to individual
components like ara-server, ara-plugins and ara-clients.

Change-Id: I8ab3fdfb543786daacec22f7f1b90af4f17b5a2b
2019-03-04 22:48:46 +00:00

21 lines
1.1 KiB
ReStructuredText

Architecture and Workflows
==========================
Recording data from Ansible
---------------------------
.. image:: _static/graphs/recording-workflow.png
0. A human (*or a system, script, etc.*) installs ARA and configures Ansible to use the ARA callback
1. A human (*or a system, script, etc.*) executes an ``ansible-playbook`` command
2. Ansible sends hooks for every event to `callback plugins`_ (``v2_playbook_on_start``, ``v2_runner_on_failed``, etc.)
3. The callback plugin, organizes the data sent by Ansible and sends it to the API client
4. The API client sends the data to the API over HTTP or locally offline through an internal implementation
5. The API server receives the POST from the client, validates it and sends it to the database model backend
6. The API server sends a response back to the client with the results
7. The API client sends the response back to the callback with the results
8. The callback plugin returns, ending the callback hook
9. Ansible continues running until it is complete (back to step 2)
.. _callback plugins: https://docs.ansible.com/ansible/latest/plugins/callback.html