udelarinterior.sympa

Sympa

This is an Ansible role designed to set up a Sympa mailing list manager.

Requirements

You need a Debian stretch or Ubuntu server. You can choose between MySQL/MariaDB or PostgreSQL for the database. The database manager can be already installed on the host (default) or optionally installed by this role. The webserver for Sympa must be set up separately.

Role Variables

For complete documentation, refer to https://sympa-community.github.io/. This role has been tested with Sympa Version 6.2.16 (Debian stretch package).

List Templates

sympa_template_lists is a list of templates that need to be defined. You can find more information in the template list documentation. Each entry creates a folder in /etc/sympa/create_list_templates/ named after the name attribute and contains comment.tt2 and config.tt2.

Name Required Description
name ✔️ Name of the folder for the template
config ✔️ Content for config.tt2 file
comment ✔️ Content for comment.tt2 file

Datasources

sympa_data_sources is a list of data sources to be defined. For details, see the data source documentation. Each entry results in a file with the .incl extension, created in /etc/sympa/data_sources/.

Name Required Description
name ✔️ Filename for the data source
content ✔️ Content for the data source file

Alias Manager

sympa_alias_manager gives the path to the alias manager executable. If sympa_ldap_alias_entry is defined, it will be written to /etc/sympa/ldap_alias_entry.tt2. If sympa_ldap_alias_manager_conf is defined, it will be written to /etc/sympa/ldap_alias_manager.conf and can contain the following values:

Name Required Description
host ✔️ URL of the LDAP server
bind_dn ✔️ Bind DN of the user
bind_pwd ✔️ User's password
base_dn ✔️ Base DN of the LDAP tree
mail_attribute default: mailRoutingAddress Attribute for writing emails
ssl default: false Enable or disable SSL
queue_transport default: sympa Normal transport name
bouncequeue_transport default: sympabounce Transport for bounced emails

Auth Variables

sympa_auth is a list of authentication methods used in order. Each entry consists of:

Name Required Description
name ✔️ Name of the auth option (e.g., ldap)
options ✔️ Options dictionary for the auth method

Example

sympa_auth:
- name: ldap
  options:
    host: ldap.example.com:636
    timeout: 20
    suffix: yoursuffix
    bind_dn: yourbinddn
    bind_password: yourpw
    use_tls: ldaps
    ca_verify: none
    get_dn_by_uid_filter: "(uid=[sender])"
    email_attribute: mail
    scope: sub
    authentication_info_url: https://example.com
- name: user_table
  options:
    regexp: ".*"

Topic Variables

  • List of topics is under the key sympa_topics.
  • Each entry includes:
Name Required Description
path ✔️ Category path
title ✔️ Category title

Example

sympa_topics:
- path: art
  title: Art
- path: art/expressionism
  title: Expressionism

Database Manager

Name Required Description
sympa_db_type default: mysql Choose a database manager: MySQL or Pg. Only mysql and PostgreSQL are supported.
sympa_install_db_package default: False Whether the database manager is pre-installed (False) or installed by this role (True).

Sympa Variables

Name Required Description
sympa_domain default: "{{ ansible_fqdn }}" Main hostname for the robot
sympa_listmaster default: listmaster@{{ sympa_domain }} Email addresses to promote to listmaster
sympa_wwsympa_url ✔️ URL of main website
sympa_email Local part of the Sympa email address
sympa_db_password ✔️ Password for database connection
sympa_db_name default: sympa Name of the database
sympa_db_host default: localhost Hostname of the database server
sympa_db_port default: 3306 Database server port
sympa_db_user default: sympa Database connection user
sympa_lang default: en Default language (one of the supported languages)
sympa_logo_html_definition HTML snippet for logo
sympa_gecos default: SYMPA Gecos for service mail sent by Sympa
... [other variables omitted for brevity]

Sympa Robots Variables

sympa_robots is a list of definitions for Sympa robots, empty by default. Each entry contains:

Name Required Description
domain ✔️ Mail and web domain for the robot
server_admin ✔️ Admin of the webserver VHost
listmaster ✔️ List of listmaster email addresses
create_list Configuration for creating lists

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Author Information

Informazioni sul progetto

Insert description here

Installa
ansible-galaxy install udelarinterior.sympa
Licenza
cc-by-sa-4.0
Download
80
Proprietario
Red Unidades Informáticas de la UdelaR en el Interior