Skip to content
Snippets Groups Projects

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 for installing docker at the target host.

The original code used can be found at: https://github.com/geerlingguy/ansible-role-docker

Requirements

  • To have ansible 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:

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

- hosts:
    - test_servers
  roles:
    - dependencies

And call the playbook as:

ansible-playbook -i <INVENTORY> <PLAYBOOK_NAME>.yml

License

MIT / BSD

Author Information

fejao logo https://chaos.social/@fejao