Getting started

Example inventory

To install and manage FreeRADIUS on a host, it needs to be included in the [debops_service_freeradius] Ansible inventory group:

[debops_service_freeradius]
hostname

Example playbook

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

---

- name: Manage FreeRADIUS service
  collections: [ 'debops.debops', 'debops.roles01',
                 'debops.roles02', 'debops.roles03' ]
  hosts: [ 'debops_service_freeradius' ]
  become: True

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

  roles:

    - role: ferm
      tags: [ 'role::ferm', 'skip::ferm' ]
      ferm__dependent_rules:
        - '{{ freeradius__ferm__dependent_rules }}'

    - role: cron
      tags: [ 'role::cron', 'skip::cron' ]

    - role: logrotate
      tags: [ 'role::logrotate', 'skip::logrotate' ]
      logrotate__dependent_config:
        - '{{ freeradius__logrotate__dependent_config }}'

    - role: freeradius
      tags: [ 'role::freeradius', 'skip::freeradius' ]

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 host is first configured to speed up playbook execution, when you are sure that most of the configuration has not been changed.

Available role tags:

role::freeradius

Main role tag, should be used in the playbook to execute all of the role tasks as well as role dependencies.

Other resources

List of other useful resources related to the debops.freeradius Ansible role: