diff --git a/seed/apache/README.md b/seed/apache/README.md index 9d734927..566d737d 100644 --- a/seed/apache/README.md +++ b/seed/apache/README.md @@ -5,51 +5,33 @@ 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*) #### Apache (*general.apache*) -Paramètrage avancé du serveur web Apache -| Description | Help | Type | Values | -|-----------------------------------------------------------------------------------------------------------------------------------|-------------------|-------------------------------------------------------------------------------------------------------------------------|----------| -| **Temps d'attente des entrées/sorties avant de considérer qu'une requête a échoué** (*[apache_timeout](dictionaries/20_web.xml)*) | Temps en secondes | [number](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | 300 | -| **Autoriser les connexions persistantes** (*[apache_keepalive](dictionaries/20_web.xml)*) | | [boolean](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | True | +Paramètrage avancé du serveur web Apache. +| Description | Help | Type | Values | +|--------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|-------------------------------------------------------------------------------------------------------------------------|----------| +| **Temps d'attente des entrées/sorties avant de considérer qu'une requête a échoué** (*[general.apache.apache_timeout](dictionaries/20_web.xml)*) | Temps en secondes | [number](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | 300 | +| **Autoriser les connexions persistantes** (*[general.apache.apache_keepalive](dictionaries/20_web.xml)*) | | [boolean](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | True | - [+]: 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..e388fa05 100644 --- a/seed/base-machine/README.md +++ b/seed/base-machine/README.md @@ -5,28 +5,28 @@ include_toc: true # base-machine -## Description +## Synopsis Base information for a machine. +## Variables + +### Machine (*machine*) + + +| Description | Type | +|-------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| +| Data disk size (*[machine.data_disk_size](extras/machine/00_base.xml)*) | [number](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | + +- [+]: variable is multiple +- **bold**: variable is mandatory + ## Dependances - [base](../base/README.md) - [dns-local](../dns-local/README.md) - [pki-tls](../pki-tls/README.md) -## Variables - -### Machine (*machine*) - -| Description | Type | -|-----------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| -| Data disk size (*[data_disk_size](extras/machine/00_base.xml)*) | [number](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | - - -- [+]: variable is multiple -- **bold**: variable is mandatory - ## 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..d8b7b804 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). @@ -15,11 +15,10 @@ DNS client with resolution on all zones (especially outside). #### network (*general.network*) -| Description | Values | Supplier | -|-------------------------------------------------------------|----------|-------------| -| *[**dns_is_only_local**](dictionaries/14_dns-external.xml)* | False | | -| *[dns_client_address](dictionaries/14_dns-external.xml)* | | ExternalDNS | +| Description | Values | +|-------------------------------------------------------------|----------| +| *[**dns_is_only_local**](dictionaries/14_dns-external.xml)* | False | - [+]: variable is multiple - **bold**: variable is mandatory 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..289ecb64 100644 --- a/seed/dovecot/README.md +++ b/seed/dovecot/README.md @@ -5,12 +5,91 @@ include_toc: true # dovecot -## Description +## Synopsis Postfix and Dovecot as mail servers (Submission and IMAP). [For more informations](https://www.dovecot.org/) +## Basic variables + +### Général (*general*) + +#### Mail configuration (*general.mail*) + +##### Mail domain (*general.mail.domain*) + + +This a family is a leadership. + +| Description | Type | Example | Supplier | +|----------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|------------------------|---------------| +| **Domaine de courriel géré localement** (*[general.mail.domain.mail_domains](dictionaries/31_dovecot.xml)*) [+] | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | example.net | LMTP:criteria | +| **Domaine exterieur d'accès au serveur IMAP** (*[general.mail.domain.imap_domainname](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.example.net | | +| **Domaine exterieur d'accès au serveur submission** (*[general.mail.domain.submission_domainname](dictionaries/31_dovecot.xml)*) | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | submission.example.net | | + +- [+]: variable is multiple +- **bold**: variable is mandatory + +## Variables + +### Général (*general*) + +#### Annuaire OpenLDAP (*general.ldap*) + +##### Client (*general.ldap.client*) + + +| Description | Type | Values | Supplier | +|------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|--------------|--------------| +| **Nom de la famille LDAP** (*[general.ldap.client.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** (*[general.ldap.client.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** (*[general.ldap.client.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** (*[general.ldap.client.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** (*[general.ldap.client.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) | | | + +#### Reverse proxy (*general.revprox*) + +##### Point d'entrée des clients (*general.revprox.revprox_client*) + + +This a family is a leadership. + +| Description | Type | Values | Example | Supplier | +|---------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|--------------|---------------------|----------------------------| +| **Nom de domaine exterieur du serveur** (*[general.revprox.revprox_client.revprox_client_external_domainnames](dictionaries/31_dovecot.xml)*) [+] | [domainname](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | | service.example.net | ReverseProxy:external | +| **Nom de l'arborescence racine du site** (*[general.revprox.revprox_client.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 (*[general.revprox.revprox_client.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** (*[general.mail.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 | + +- [+]: variable is multiple +- **bold**: variable is mandatory + +## Variables for expert + +### Général (*general*) + +#### NGINX (*general.nginx*) + + +Paramétrage global de NGINX. +##### Client (*general.ldap.client*) + + +| Description | Type | Values | Choices | +|---------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|----------|---------------------| +| **Longueur maximum pour un nom de domaine** (*[general.nginx.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)** (*[general.nginx.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 | | + +- [+]: 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 +107,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 +130,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 +158,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 + +