Variables des Outils du Serveur¶
Ansible utilise des variables pour gérer les écarts entre les systèmes. Dans dhis2-server-tools, des variables spécifiques sont définies pour PostgreSQL, l'instance dhis2, le proxy et les systèmes de surveillance. Bien que vous puissiez définir des variables à différents endroits comme les playbooks, les rôles, ou les fichiers d'hôtes, nous les définissons principalement dans le fichier dhis2-server-tools/deploy/inventory/hosts, créé à partir de hosts.template. Personnalisez ces variables pour qu'elles s'adaptent à votre environnement.
Dans le fichier hosts de l'inventaire, les hôtes sont regroupés en [noms de_groupe], dans notre cas nous avons les groupes [bases de données],[instances],[web] et [surveillance] Les variables qui ne sont pas affectées à un groupe spécifique appartiennent au groupe [ tous]. Pour lier des variables à un groupe particulier, placez-les sous [ nom de_groupe:vars], par exemple, [instances:vars]. Si vous voulez qu'une variable s'applique à un hôte spécifique, ajoutez-la à la ligne de l'hôte. Par exemple, pour ajouter base de_données et version_de dhis2 à l'hôte dhis dans le groupe instances, utilisez le format suivant :
[instances]
dhis ansible_host=172.19.2.11 database_host=postgres dhis2_version=2.39
inventory/host_vars/ (invention/hôte vars/) avec le même nom que l'hôte dans votre fichier inventory/hosts (invention/hôte). L'avantage de cette approche est que vous pouvez crypter le fichier en utilisant ansible-vault (voute-ansible) pour plus de sécurité. Toutes les variables que vous définissez dans le répertoire host_vars (variables d'hôtes) auront la priorité sur celles du fichier inventory/hosts (invention/hôtes). touch inventory/host_vars/dhis
vim inventory/host_vars/dhis
yaml comme indiqué ci-dessous ansible_host: 172.19.2.11
database_host: postgres
dhis2_version: 2.39
Voici la liste des paramètres de configuration disponibles et leurs valeurs par défaut¶
Variables générales¶
| Variable | Commentaires |
|---|---|
fuseau horaire | lister tous les fuseaux horaires disponibles avec timedatectl liste des fuseaux horaires Exemples
|
connexion_ansible | Dépend de l'architecture que vous adoptez, la valeur par défaut est lxd Options
|
réseau_lxd | Vous définissez ici le réseau dans lequel vos serveurs seront créés, le réseau, par défaut est 172.19.2.1/24 |
interface_pont_lxd | Le nom par défaut du pont lxd créé est lxdbr1 |
Variables de l'instance¶
| Variable | Comments |
|---|---|
fqdn | This is the domain used to access dhis2 application Strictly required for Letsencrypt to work. When set, Ansible writes server.base.url and server.https = on into dhis.conf. |
server_base_url | Optional override for server.base.url in dhis.conf (CDN or a public hostname that is not inventory fqdn). Must be an absolute https:// URL with no trailing slash. If unset, the value is https://<fqdn>[/<dhis2_base_path or instance name>], with https_port appended when it is not 443. The key is omitted when fqdn is empty. |
dhis2_base_path | Public path of the instance. Defaults to the inventory hostname. Use ROOT to serve at / (no extra path, no trailing slash on server.base.url). |
create_db | Whether the database should be created or not Choices:
|
database_host | Host to use as your database server Default= postgres |
dhis2_war_file | Source for your dhis2 war file, can either be remote or available locally as file Examples
|
dhis2_version | You can specify just the major version of dhis2 and it will get its latest stable iteration from https://releases.dhis2.org. If your have both dhis2_war_file and dhis2_version defined, dhis2_war_file wins, Examples
|
heap_memory_size | This is tomcat Java Heap Memory Size, Example heap_memory_size=2G |
dhis2_auto_upgrade | Enables automatic DHIS2 upgrades when a newer patch version is available. Choices:
Prior to enabling, ensure you have a backup of your instance database. |
app_monitoring | Enables application monitoring. Currently supports glowroot. Options:
Example: app_monitoring=glowroot |
Les variables de PostgreSQL¶
| Variable | Observations |
|---|---|
postgresql_version | PostgreSQL version to install. Default is 16 for fresh installs. |
pg_max_connections | Maximum allowed database connections. |
pg_shared_buffers | Shared buffers for PostgreSQL. Recommended: 0.25 x Available_RAM. |
pg_work_mem | Work memory per query. Recommended: (0.25 x Available_RAM) / max_connections. |
pg_maintenance_work_mem | Memory for maintenance tasks like index creation. Allocate as much as reasonably possible. |
pg_effective_cache_size | Approx. 80% of (Available_RAM - maintenance_work_mem - max_connections * work_mem). |
Variables de proxy¶
| Variable | Commentaires |
|---|---|
email | Strictement indispensable si vous utilisez Letsencrypt |
proxy | Logiciel proxy de votre choix Options
|
SSL_TYPE | Ce paramètre permet de préciser si l'on souhaite utiliser letsencrypt ou votre propre certificat customssl,Options
|
munin_base_path | Chemin de base pour accéder à munin, par ex.: https://domain.example.com/munin_base_path defaults to munin |
munin_users | Liste des utilisateurs autorisés à se connecter à munin, avec leurs mots de passe correspondants: Exemple:
Le nom d'utilisateur et le mot de passe par défaut sont respectivement admin et district. |
| Variable | Observations |
|---|---|
email | Strictly required if you are using Let's Encrypt. |
proxy | Proxy software of your choice. Options: - nginx ← (default) - apache2 |
SSL_TYPE | Choose whether to use letsencrypt or a customssl certificate.Options: - letsencrypt ← (default) - customssl |
munin_base_path | Base path for accessing Munin, e.g., https://domain.example.com/munin_base_path. Defaults to munin. |
munin_users | A list of users and passwords allowed to log into Munin. See example below. |
Exemple:
munin_users:
- name: admin
password: admin_password
- name: user2
password: user2_passsword
Variables relatives à la sauvegarde¶
Ces variables concernent le serveur de la base de données PostgreSQL et contiennent des informations sensibles. Il est conseillé de les sécuriser en utilisant le cryptage ansible-vault. Vous avez la possibilité de définir ces variables à différents endroits, mais il est recommandé de les placer dans le fichier host du répertoire host_vars, comme indiqué ci-dessous :
dhis2-server-tools/deploy/inventory/host_vars/postgres
| Variable | Observations |
|---|---|
s3_access_key | This is a unique identifier for a cloud user or programmatic entity (like an application) that needs to interact with object storage. |
s3_secret_key | This is a secret piece of information associated with the access key. It is used to digitally sign requests made to object storage and possibly other services. This key must be kept confidential, as it authenticates and authorizes requests on behalf of the access key. |
s3_cluster_id | Cluster URL for Object Storage is unique to each data center. Different data centers have unique cluster IDs. Refer to Linode Object Storage Guide for Linode. |
s3_bucket | This is a container or storage resource for storing files in the context of object storage. |