Getting started

Example inventory

To install packages from NeuroDebian on a given host or set of hosts, they need to be added to the [debops_service_neurodebian] Ansible group in the inventory:

[debops_service_neurodebian]
hostname

Example playbook

If you are using this role without DebOps, here's an example Ansible playbook that uses the debops-contrib.neurodebian role:

---

- name: Install packages from the NeuroDebian repository
  hosts: [ 'debops_service_neurodebian' ]
  become: True

  environment: '{{ inventory__environment | d({})
                   | combine(inventory__group_environment | d({}))
                   | combine(inventory__host_environment  | d({})) }}'

  roles:

    - role: debops.apt_preferences
      tags: [ 'role::apt_preferences' ]
      apt_preferences__dependent_list:
        - '{{ neurodebian__apt_preferences__dependent_list }}'

    - role: debops-contrib.neurodebian
      tags: [ 'role::neurodebian' ]

The playbook is shipped with this role under ./docs/playbooks/neurodebian.yml from which you can symlink it to your playbook directory. In case you use multiple DebOps Contrib roles, consider using the DebOps Contrib playbooks.

Ansible tags

You can use Ansible --tags or --skip-tags parameters to limit what tasks are performed during Ansible run. This can be used after a host was first configured to speed up playbook execution, when you are sure that most of the configuration is already in the desired state.

Available role tags:

role::neurodebian
Main role tag, should be used in the playbook to execute all of the role tasks as well as role dependencies.
role::neurodebian:pkgs
Tasks related to system package management like installing or removing packages.