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.