DEBOPS.PROSODY(5)

NAME
debops.prosody - Manage Prosody XMPP server with Ansible

SYNOPSIS

debops run service/prosody [--limit group,host,...] [--diff] [--check] [--tags tag1,tag2,...] [--skip-tags tag1,tag2,...] [<ansible-playbook options>] ...

DESCRIPTION

debops.prosody configures and manages the XMPP server prosody.

GETTING STARTED

  Default configuration

The configuration is split into 3 basic parameters, this is because of limitation of YAML and easier representation.

•   prosody__*_config_global

•   prosody__*_config_components

•   prosody__*_config_virtual_hosts

    By default there are two components active prosody__http_upload prosody__muc Set this variables to false to disable the specific component.

  Domains

The default virtual host uses prosody__domain as domain.

The components uses two subdomains: conference.`prosody__domain and upload.`prosody__domain`

  Ports

By default the ports are: - 5222 (c2s) - 5269 (s2s) - 5280 http - 5281 https

  Example inventory

To enable Prosody server support on a host, it needs to be included in the Ansible inventory in a specific group:

[debops_service_prosody]
hostname

  Example playbook

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

---
- name: Manage Prosody
  collections: [ 'debops.debops', 'debops.roles01',
                 'debops.roles02', 'debops.roles03' ]
  hosts: [ 'debops_service_prosody' ]
  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:
        - '{{ prosody__ferm__dependent_rules }}'
    - role: prosody
      tags: [ 'role::prosody', 'skip::prosody' ]

  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::prosody
    Main role tag, should be used in the playbook to execute all of the role tasks as well as role dependencies.

role::ferm
    Role tag for configure the firewall ferm.

AUTHOR
Norbert Summer

COPYRIGHT
2014-2024, Maciej Delmanowski, Nick Janetakis, Robin Schneider and others