diff --git a/seed/apache/README.md b/seed/apache/README.md index 9d734927..61ef55f7 100644 --- a/seed/apache/README.md +++ b/seed/apache/README.md @@ -5,34 +5,12 @@ include_toc: true # apache -## Description +## Synopsis Apache as web server. [For more informations](https://httpd.apache.org/) -## Examples - -Zone names are provided as examples. Think about adapting with the value of provider_zone in configuration file. - -``` -apache: - applicationservice: apache - zones_name: - - reverseproxy -``` - -``` -apache: - applicationservice: apache - zones_name: - - reverseproxy -``` - -## Dependances - -- [reverse-proxy-client](../reverse-proxy-client/README.md) - ## Variables ### Général (*general*) @@ -50,6 +28,10 @@ Paramètrage avancé du serveur web Apache - [+]: variable is multiple - **bold**: variable is mandatory +## Dependances + +- [reverse-proxy-client](../reverse-proxy-client/README.md) + ## Used by [nextcloud](../nextcloud/README.md) diff --git a/seed/apache/applicationservice.yml b/seed/apache/applicationservice.yml index 11682e47..6ba1732c 100644 --- a/seed/apache/applicationservice.yml +++ b/seed/apache/applicationservice.yml @@ -3,4 +3,3 @@ description: Apache as web server website: https://httpd.apache.org/ depends: - reverse-proxy-client -service: true diff --git a/seed/base-debian-bullseye/README.md b/seed/base-debian-bullseye/README.md index 88b74434..790189df 100644 --- a/seed/base-debian-bullseye/README.md +++ b/seed/base-debian-bullseye/README.md @@ -5,7 +5,7 @@ include_toc: true # base-debian-bullseye -## Description +## Synopsis Base information of a Debian Bulleye server. diff --git a/seed/base-debian/README.md b/seed/base-debian/README.md index dbc7fe76..ad5cd36f 100644 --- a/seed/base-debian/README.md +++ b/seed/base-debian/README.md @@ -5,7 +5,7 @@ include_toc: true # base-debian -## Description +## Synopsis Base information of a Debian server. diff --git a/seed/base-fedora-35/README.md b/seed/base-fedora-35/README.md index ae84cc8a..3946f2b8 100644 --- a/seed/base-fedora-35/README.md +++ b/seed/base-fedora-35/README.md @@ -5,7 +5,7 @@ include_toc: true # base-fedora-35 -## Description +## Synopsis Base information of a Fedora 35. diff --git a/seed/base-fedora-36/README.md b/seed/base-fedora-36/README.md index 52691035..bb3b08e8 100644 --- a/seed/base-fedora-36/README.md +++ b/seed/base-fedora-36/README.md @@ -5,7 +5,7 @@ include_toc: true # base-fedora-36 -## Description +## Synopsis Base information of a Fedora 36. diff --git a/seed/base-fedora-37/README.md b/seed/base-fedora-37/README.md index c6e0d141..0e336e66 100644 --- a/seed/base-fedora-37/README.md +++ b/seed/base-fedora-37/README.md @@ -5,7 +5,7 @@ include_toc: true # base-fedora-37 -## Description +## Synopsis Base information of a Fedora 37. diff --git a/seed/base-fedora-38/README.md b/seed/base-fedora-38/README.md index eb1a2e42..5db3cbfe 100644 --- a/seed/base-fedora-38/README.md +++ b/seed/base-fedora-38/README.md @@ -5,7 +5,7 @@ include_toc: true # base-fedora-38 -## Description +## Synopsis Base information of a Fedora 38. diff --git a/seed/base-fedora/README.md b/seed/base-fedora/README.md index be44494c..932ea54b 100644 --- a/seed/base-fedora/README.md +++ b/seed/base-fedora/README.md @@ -5,7 +5,7 @@ include_toc: true # base-fedora -## Description +## Synopsis Base information of a Fedora. diff --git a/seed/base-machine/README.md b/seed/base-machine/README.md index d32ffb39..00a4bbbb 100644 --- a/seed/base-machine/README.md +++ b/seed/base-machine/README.md @@ -5,16 +5,10 @@ include_toc: true # base-machine -## Description +## Synopsis Base information for a machine. -## Dependances - -- [base](../base/README.md) -- [dns-local](../dns-local/README.md) -- [pki-tls](../pki-tls/README.md) - ## Variables ### Machine (*machine*) @@ -27,6 +21,12 @@ Base information for a machine. - [+]: variable is multiple - **bold**: variable is mandatory +## Dependances + +- [base](../base/README.md) +- [dns-local](../dns-local/README.md) +- [pki-tls](../pki-tls/README.md) + ## Used by [systemd](../systemd/README.md) diff --git a/seed/base/README.md b/seed/base/README.md index cf694db8..b8308440 100644 --- a/seed/base/README.md +++ b/seed/base/README.md @@ -5,7 +5,7 @@ include_toc: true # base -## Description +## Synopsis Base of all application services. diff --git a/seed/base/funcs/base.py b/seed/base/funcs/base.py index acbeed06..95f02e44 100644 --- a/seed/base/funcs/base.py +++ b/seed/base/funcs/base.py @@ -60,3 +60,12 @@ def get_zones_info(zones: dict, continue ret.append(val) return ret + + +def get_first_value(lst: list): + if lst: + if isinstance(lst[0], list): + if lst[0] and lst[0][0]: + return lst[0][0] + else: + return lst[0] diff --git a/seed/dns-external/README.md b/seed/dns-external/README.md index 2707d752..016bb9fb 100644 --- a/seed/dns-external/README.md +++ b/seed/dns-external/README.md @@ -5,7 +5,7 @@ include_toc: true # dns-external -## Description +## Synopsis DNS client with resolution on all zones (especially outside). diff --git a/seed/dns-local/README.md b/seed/dns-local/README.md index c039e27f..78203c7b 100644 --- a/seed/dns-local/README.md +++ b/seed/dns-local/README.md @@ -5,7 +5,7 @@ include_toc: true # dns-local -## Description +## Synopsis DNS client with access to local zones. diff --git a/seed/dovecot/README.md b/seed/dovecot/README.md index 2a464a07..5a530051 100644 --- a/seed/dovecot/README.md +++ b/seed/dovecot/README.md @@ -5,12 +5,99 @@ include_toc: true # dovecot -## Description +## Synopsis Postfix and Dovecot as mail servers (Submission and IMAP). [For more informations](https://www.dovecot.org/) +## Variables + +### Général (*general*) + +| Description | Type | Values | Supplier | +|---------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|--------------|------------| +| **Nom de domaine du serveur LMTP** (*[lmtp_relay_address](dictionaries/30_lmtp.xml)*) | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | LMTP | + +#### systemd-journald (*general.journald*) + +| Description | Type | Supplier | Values | +|--------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|---------------|--------------| +| *[journal_client_server_domainname](dictionaries/20_journald.xml)* | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | Journald | | +| *[journal_host_name](dictionaries/20_journald.xml)* | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | Journald:host | | + +#### Client SMTP (*general.smtp*) + +| Description | Type | Supplier | +|----------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|------------| +| **Nom de domaine du serveur SMTP** (*[smtp_relay_address](dictionaries/20_smtp_client.xml)*) | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | SMTP | + +#### Annuaire OpenLDAP (*general.ldap*) + +##### Serveur (*general.ldap.server*) + +| Description | Type | Supplier | +|----------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|------------| +| **Nom DNS du serveur LDAP** (*[ldap_server_address](dictionaries/21_ldap-client.xml)*) | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | LDAP | + +##### Client (*general.ldap.client*) + +| Description | Type | Values | Supplier | +|----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|--------------|--------------| +| **Nom de la famille LDAP** (*[ldapclient_family](dictionaries/31_dovecot.xml)*) | [unix_user](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | all | LDAP:family | +| **Base DN de l'annuaire** (*[ldapclient_base_dn](dictionaries/21_ldap-client.xml)*) | [string](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | LDAP:base_dn | +| **Base DN de l'annuaire des utilisateurs** (*[ldapclient_search_dn](dictionaries/21_ldap-client.xml)*) | [string](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | | +| **Base DN de l'annuaire des groupes** (*[ldapclient_group_dn](dictionaries/21_ldap-client.xml)*) | [string](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | | +| **Base DN de l'annuaire des utilisateurs n'appartenant à une famille** (*[ldapclient_user_dn](dictionaries/21_ldap-client.xml)*) | [string](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | | + +#### NGINX (*general.nginx*) + +Paramétrage global de NGINX + +| Description | Help | Type | Values | Choices | +|-------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|----------|---------------------| +| Nom de domaine du serveur mandataire inverse par défaut (*[nginx_default](dictionaries/21_nginx.xml)*) | Si un client accède au serveur avec un nom de domaine non déclaré, le flux est redirigé vers ce domaine | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | | +| **Longueur maximum pour un nom de domaine** (*[nginx_hash_bucket_size](dictionaries/21_nginx.xml)*) | | [choice](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | 128 | 128
64
32 | +| **Taille maximale des données reçues par la méthode POST (en Mo)** (*[nginx_post_max_size](dictionaries/21_nginx.xml)*) | | [number](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | 32 | | + +#### Reverse proxy (*general.revprox*) + +##### Point d'entrée des clients (*general.revprox.revprox_client*) + +This a family is a leadership. + +| Description | Example | Type | Values | Supplier | +|--------------------------------------------------------------------------------------------------------------------|---------------------|----------------------------------------------------------------------------------------------------------------------------|--------------|----------------------------| +| **Nom de domaine exterieur du serveur** (*[revprox_client_external_domainnames](dictionaries/31_dovecot.xml)*) [+] | service.example.net | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | ReverseProxy:external | +| **Nom de l'arborescence racine du site** (*[revprox_client_location](dictionaries/21_revprox_client.xml)*) | | [filename](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | ReverseProxy:location | +| Taille maximum du corps (*[revprox_client_max_body_size](dictionaries/21_revprox_client.xml)*) | | [string](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | ReverseProxy:max_body_size | + +#### Mail configuration (*general.mail*) + +| Description | Type | Values | Choices | +|------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|-----------|----------------------------| +| **Autorité de certification signant les certificats des domaines extérieurs** (*[mail_crt_provider](dictionaries/31_dovecot.xml)*) | [choice](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | autosigne | autosigne
letsencrypt | + +##### Mail domain (*general.mail.domain*) + +This a family is a leadership. + +| Description | Example | Type | Supplier | +|--------------------------------------------------------------------------------------------------------------|------------------------|----------------------------------------------------------------------------------------------------------------------------|---------------| +| **Domaine de courriel géré localement** (*[mail_domains](dictionaries/31_dovecot.xml)*) [+] | example.net | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | LMTP:criteria | +| **Domaine exterieur d'accès au serveur IMAP** (*[imap_domainname](dictionaries/31_dovecot.xml)*) | imap.example.net | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | +| **Domaine exterieur d'accès au serveur submission** (*[submission_domainname](dictionaries/31_dovecot.xml)*) | submission.example.net | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | + +#### IMAP mail server (*general.dovecot*) + +| Description | Type | Provider | +|----------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|------------| +| **IMAP client address** (*[imap_internal_addresses](dictionaries/31_dovecot.xml)*) [+] | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | IMAP | + + +- [+]: variable is multiple +- **bold**: variable is mandatory + ## Examples Zone names are provided as examples. Think about adapting with the value of provider_zone in configuration file. @@ -28,6 +115,13 @@ dovecot: - smtp - lmtp - oauth2 + values: + general.mail.domain.mail_domains: + - example.net + general.mail.domain.imap_domainname: + '0': imap.example.net + general.mail.domain.submission_domainname: + '0': submission.example.net ``` With all providers: @@ -44,6 +138,13 @@ dovecot: - smtp - lmtp - oauth2 + values: + general.mail.domain.mail_domains: + - example.net + general.mail.domain.imap_domainname: + '0': imap.example.net + general.mail.domain.submission_domainname: + '0': submission.example.net ``` ## Dependances @@ -65,66 +166,6 @@ dovecot: - [nginx-common](../nginx-common/README.md) - [reverse-proxy-client](../reverse-proxy-client/README.md) -## Variables - -### Général (*general*) - -#### network (*general.network*) - -| Description | Values | -|---------------------------------------------------------|--------------| -| *[**incoming_ports**](dictionaries/26_dovecot.xml)* [+] | 587
993 | - -#### ldap (*general.ldap*) - -##### client (*general.ldap.client*) - -| Description | Values | -|----------------------------------------------------------|----------| -| *[**ldapclient_family**](dictionaries/26_dovecot.xml)* | all | -| *[**ldap_key_file_owner**](dictionaries/26_dovecot.xml)* | dovecot | - -#### Mail configuration (*general.mail*) - -| Description | Type | Values | Choices | -|------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|-----------|----------------------------| -| **Autorité de certification signant les certificats des domaines extérieurs** (*[mail_crt_provider](dictionaries/26_dovecot.xml)*) | [choice](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | autosigne | autosigne
letsencrypt | - -##### Mail domain (*general.mail.domain*) - -This a family is a leadership. - -| Description | Type | Supplier | -|---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|---------------| -| **Domaine de courriel géré localement** (*[mail_domains](dictionaries/26_dovecot.xml)*) [+] | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | LMTP:criteria | -| *[**imap_domainname**](dictionaries/26_dovecot.xml)* | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | -| *[**submission_domainname**](dictionaries/26_dovecot.xml)* | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | - -#### IMAP mail server (*general.dovecot*) - -| Description | Type | Provider | -|----------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|------------| -| **IMAP client address** (*[imap_internal_addresses](dictionaries/26_dovecot.xml)*) [+] | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | IMAP | - -#### revprox (*general.revprox*) - -##### revprox_client (*general.revprox.revprox_client*) - -| Description | Values | -|----------------------------------------------------------------------|--------------| -| *[revprox_client_external_domainnames](dictionaries/26_dovecot.xml)* | | -| *[revprox_client_web_address](dictionaries/26_dovecot.xml)* | | - -#### nginx (*general.nginx*) - -| Description | Values | -|-------------------------------------------------|---------------| -| *[**nginx_root**](dictionaries/26_dovecot.xml)* | /var/www/html | - - -- [+]: variable is multiple -- **bold**: variable is mandatory - ## Supplier [imap-client](../imap-client/README.md) diff --git a/seed/dovecot/dictionaries/26_dovecot.xml b/seed/dovecot/dictionaries/31_dovecot.xml similarity index 93% rename from seed/dovecot/dictionaries/26_dovecot.xml rename to seed/dovecot/dictionaries/31_dovecot.xml index 28971b21..95c2f907 100644 --- a/seed/dovecot/dictionaries/26_dovecot.xml +++ b/seed/dovecot/dictionaries/31_dovecot.xml @@ -65,10 +65,10 @@ - + autosigne @@ -91,6 +91,8 @@ /var/www/html + +