# dependencies (role) This ansible-role for dealing with installing the dependencies for deploying the system used from **c3infodesk**. ## Mentions This role uses great part of it from [geerlingguy](https://github.com/geerlingguy) for installing **docker** at the target host. The original code used can be found at: [https://github.com/geerlingguy/ansible-role-docker](https://github.com/geerlingguy/ansible-role-docker) ## Requirements - To have [ansible](https://docs.ansible.com/ansible/latest/installation_guide/installation_distros.html) installed at your system. - Set your **remote_user** configuration at the **ansible.cfg** file. - Set your **inventories/host_vars/<TARGET_NAME>** file. ## Role Variables Here are the variables setted: - ### From: inventories/host_vars/<TARGET_NAME> Here are the variables that you should be changing for your own deployment. - **docker_users**: DEFAULT="test-user" - The users to be added to the docker group. - These users should should contain at least the same user setted on **ansible.cfg** at the **remote_user** - **ansible_become_pass**: DEFAULT="Please change this" - The password used from the user setted on **ansible.cfg** at the **remote_user** - ### From: inventories/group_vars/<TARGET_GROUP> This role needs no variable setted on **group_vars** - ### From: roles/clone-repositories/defaults/main.yml Here are the variables used for this role. Please don't change then here but instead in **inventories/host_vars/<TARGET_NAME>** - **docker_users** - **ansible_become_pass** - **os_dependencies_packages** - **docker_edition** - **docker_packages** - **docker_packages_state** - **docker_obsolete_packages** - **docker_obsolete_packages** - **docker_service_manage** - **docker_service_state** - **docker_service_enabled** - **docker_restart_handler_state** - **docker_install_compose_plugin** - **docker_compose_package** - **docker_compose_package_state** - **docker_install_compose** - **docker_compose_version** - **docker_compose_arch** - **docker_compose_url** - **docker_compose_path** - **docker_add_repo** - **docker_apt_release_channel** - **docker_apt_ansible_distribution** - **docker_apt_arch** - **docker_apt_repository** - **docker_apt_ignore_key_error** - **docker_apt_gpg_key** - **docker_apt_gpg_key_checksum** - **docker_apt_filename** - **docker_yum_repo_url** - **docker_yum_repo_enable_nightly** - **docker_yum_repo_enable_test** - **docker_yum_gpg_key** - **docker_daemon_options** - ### From: roles/dependencies/vars/main.yml - **docker_packages** - **docker_compose_package** ## Dependencies This role have no dependency from any another role. ## Example Playbook - ### Using the provided example For using the playbook **playbook_example_02_dependencies.yml** file you only nned to: - Change the user at the **ansible.cfg** file at the field **remote_user** for acessing your target. - Update the file **inventories/host_vars/example_server.yml** and change the value for **ansible_become_pass** from the **remote_user** - Update the **inventories/hosts** file and change the **example_server** with the IP address from your target. And run the command: ```bash ansible-playbook -i inventories/hosts playbook_example_02_dependencies.yml ``` - ### Setting your own example After setting your variables at **inventories/host_vars/<HOST_NAME>**, you can add this role to your playbook as a regular role. Here is an example using the **<HOST_NAME>** as **test_servers** ```yaml - hosts: - test_servers roles: - dependencies ``` And call the playbook as: ```bash ansible-playbook -i <INVENTORY> <PLAYBOOK_NAME>.yml ``` ## License MIT / BSD ## Author Information  [https://chaos.social/@fejao](https://chaos.social/@fejao)