diff --git a/doc/source/development/development.rst b/doc/source/development/development.rst index 7c2203db1..48b3737fd 100644 --- a/doc/source/development/development.rst +++ b/doc/source/development/development.rst @@ -2,6 +2,46 @@ Development =========== +Source Code Orientation +======================= + +There are a number of layers to Kayobe, so here we provide a few pointers to +the major parts. + +CLI +--- + +The Command Line Interface (CLI) is built using the `cliff +`__ library. Commands are exposed as Python +entry points in `setup.cfg +`__. These +entry points map to classes in `kayobe/cli/commands.py +`__. +The helper modules `kayobe/ansible.py +`__ +and `kayobe/kolla_ansible.py +`__ +are used to execute Kayobe playbooks and Kolla Ansible commands respectively. + +Ansible +------- + +Kayobe's Ansible playbooks live in `ansible/*.yml +`__, and these +typically execute roles in `ansible/roles/ +`__. +Global variable defaults are defined in group variable files in +`ansible/group_vars/all/ +`__ +and these typically map to commented out variables in the configuration files +in `etc/kayobe/*.yml +`__. +A number of custom Jinja filters exist in `ansible/filter_plugins/*.py +`__. +Kayobe depends on roles hosted on Ansible Galaxy, and these and their version +requirements are defined in `requirements.yml +`__. + Ansible Galaxy ==============