Configuration avancée de l’agent

Le fichier de configuration wapt-get.ini définit le comportement de l’agent WAPT.

Emplacement du wapt-get.ini par le système

Système

Localisation

Windows

C:\Program Files(x86)\wapt\wapt-get.ini

Linux

/opt/wapt/

Mac OS

/opt/wapt/

La section [global] est obligatoire.

[global]

Après l’installation standard, la configuration par défaut est la suivante :

[global]
waptupdate_task_period=120
wapt_server=https://srvwapt.mydomain.lan
repo_url=https://srvwapt.mydomain.lan/wapt/
use_hostpackages=1

Tous les paramètres ne sont pas disponibles lors de la génération de l’agent. Il est possible de faire des changements dans wapt-get.ini manuellement ou en déployant un paquet WAPT avec les nouveaux paramètres de configuration.

Un exemple de paquet est disponible dans le dépôt Tranquil IT :

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():

  print('Modify max_gpo_script_wait')
  inifile_writestring(WAPT.config_filename,'global','max_gpo_script_wait',180)

  print('Modify Preshutdowntimeout')
  inifile_writestring(WAPT.config_filename,'global','pre_shutdown_timeout',180)

  print('Disable Hyberboot')
  inifile_writestring(WAPT.config_filename,'global','hiberboot_enabled',0)

  print('Disable Notify User')
  inifile_writestring(WAPT.config_filename,'global','notify_user',0)

  print('Reload WAPT configuration')
  WAPT.reload_config_if_updated()

La définition de la fonction inifile_writestring est :

inifile_writestring(inifilename,section,key,value)

Description des sections disponibles

Description des sections disponibles pour l’agent WAPT

Section

Description

[global]

Options de l’agent global.

[wapt]

Options du dépôt principal.

[wapt-template]

Options du dépôt externe à distance.

[wapt-host]

Dépôt pour les paquets de l’hôte options.

[waptwua]

Options de l’agent WUA.

[repo-sync]

Options de dépôt multiple.

Toutes les sections sont détaillées ci-dessous.

Description des options disponibles par section

[global]

Paramètres généraux

Description des options disponibles pour l’agent WAPT sur la section globale

Options / Valeur par défaut

Description

Exemple

WAPT Enterprise feature only allow_remote_reboot = False

Permet de redémarrer le ou les hôtes sélectionnés à distance à partir de la console WAPT.

allow_remote_reboot = True

WAPT Enterprise feature only allow_remote_shutdown = False

Permet d’arrêter le ou les hôtes sélectionnés à distance à partir de la console WAPT.

allow_remote_reboot = True

check_certificates_validity = False

Force la vérification de la date et de la CRL du certificat du paquet.

check_certificates_validity = True

dbpath = WAPT root dir)\wapt\db\waptdb.sqlite

Chemin d’accès au fichier de la base de données locale.

dbpath = C:\Program Files(x86\db\waptdb.sqlite

download_after_update_with_waptupdate_task_period = True

Définit si un téléchargement des paquets en attente doit être lancé après une mise à jour avec waptupdate_task_period.

download_after_update_with_waptupdate_task_period = False

WAPT Enterprise feature only host_organizational_unit_dn = None

Permet de forcer une unité organisationnelle sur l’agent WAPT (pratique pour attribuer un fake OU pour un PC hors-domaine). Assurez-vous qu’il respecte une casse cohérente (ne pas mélanger les « dc « s et les « DC « s, par exemple), que vous pouvez trouver dans la console (dans les champs DN/computer_ad_dn pour chaque hôte)

host_organizational_unit_dn = OU=TOTO,OU=TEST,DC=MYDOMAIN,DC=LAN

WAPT Enterprise feature only host_profiles = non défini

Permet de définir une liste de paquets WAPT que l’agent WAPT doit installer.

host_profiles = tis-firefox,tis-java

language = langue par défaut sur le client

Force la langue par défaut pour l’interface graphique (pas pour le filtrage des paquets)

language = fr

locales = locale par défaut sur le client

Permet de définir la liste des langues de l’agent WAPT pour pré-filtrer la liste des paquets visibles par l’agent WAPT (pour le filtrage des paquets). Le paramètre accepte plusieurs entrées (par exemple, locales=fr,en) ordonnées par préférence.

locales = en

log_to_windows_events = False

Envoie les journaux WAPT dans le journal des événements de Windows.

log_to_windows_events = True

loglevel = warning

Niveau de journalisation de l’agent WAPT. Les valeurs possibles sont : debug, info, warning, critical.

loglevel = critical

maturités = (par défaut PROD)

Liste des maturités de paquets qui peuvent être visualisées et installées par l’agent WAPT. La valeur par défaut est PROD. Seules les valeurs DEV, PREPROD et PROD sont utilisées par Tranquil IT, cependant toute valeur peut être utilisée pour s’adapter à vos processus internes.

échéances = PROD, PREPROD

repo_url = l’adresse de votre dépôt WAPT

Adresse du dépôt principal de WAPT.

repo_url = https://srvwapt.mydomain.lan/wapt

repositories (par défaut None)

Liste des dépôts activés, séparés par une virgule. Chaque valeur définit une section du fichier wapt-get.ini. Plus d’info ici.

repositories = dépôt1, dépôt2

send_usage_report = True

Permet à la console WAPT d’envoyer des statistiques anonymes à Tranquil IT. Mettre à 0 pour désactiver la télémétrie.

send_usage_report = True

service_auth_type = system

Comment fonctionne l’authentification du self-service. Les valeurs possibles sont : system, waptserver-ldap ou waptagent-ldap.

service_auth_type = waptserver-ldap

WAPT Enterprise feature only uninstall_allowed = True

S’il est possible ou non pour l’utilisateur de désinstaller des applications via le self-service.

uninstall_allowed = False

WAPT Enterprise feature only use_ad_groups = False

Pour l’utilisation de paquet groupe (par défaut False).

use_ad_groups = True

use_fqdn_as_uuid = False

Permet d’utiliser le FQDN plutôt que l’UUID du BIOS comme identifiant unique de la machine dans WAPT.

use_fqdn_as_uuid = True

use_hostpackages = False

Utilisez paquets host (par défaut False).

use_hostpackages = True

WAPT Enterprise feature only use_repo_rules = False

Pour utiliser les dépôts secondaires (par défaut False).

use_repo_rules = True

waptaudit_task_period = None

Définit la fréquence à laquelle les audits sont déclenchés.

waptaudit_task_period = 120

wapt_server (par défaut None)

URL du serveur WAPT. Si cet attribut n’est pas présent, aucun serveur WAPT ne sera contacté.

wapt_server = https://srvwapt.mydomain.lan

waptservice_port = 8088

Loopback de l’agent WAPT. Il n’est pas accessible depuis le réseau.

waptservice_port = 8080

waptupdate_task_period = 120m

Fréquence de mise à jour (120 minutes par défaut).

waptupdate_task_period = 24h

waptupgrade_task_period = None

Fréquence de mise à niveau.

waptupgrade_task_period = 360

wol_relay (si remote_repo = False alors la valeur par défaut : False, si remote_repo = True la valeur par défaut = True)

Permet à l’agent d’être utilisé comme un Wake On Lan wol_relay

wol_relay = True

Note

  • S’il n’y a pas d’attribut repo_url, un dépôt dans la section [wapt] devra être explicitement défini. Il devra être activé en l’ajoutant à l’attribut repositories.

  • S’il n’y a pas d’attribut wapt_server, aucun serveur WAPT ne sera utilisé.

Paramètres du serveur WAPT

Ces options définissent le comportement de l’agent WAPT lors de la connexion au serveur WAPT.

Description des options disponibles pour l’agent WAPT dans la section [globale] pour la configuration du serveur

Options / Valeur par défaut

Description

Exemple

public_certs_dir = None

Dossier des certificats autorisés à vérifier la signature des paquets WAPT.

public_certs_dir = C:\Program Files (x86)\wapt\ssl (sous Windows) public_certs_dir = /opt/wapt/ssl/ (sous Linux et MacOS)

use_kerberos (par défaut False)

Utiliser l’authentification kerberos pour l’enregistrement initial sur le serveur WAPT (par défaut False).

use_kerberos = True

verify_cert (par défaut False)

Voir la documentation sur l’activation de la vérification des certificats HTTPS.

verify_cert = True

wapt_server (par défaut None)

URL du serveur WAPT. Si cet attribut n’est pas présent, aucun serveur WAPT ne sera contacté.

wapt_server = https://srvwapt.mydomain.lan

wapt_server_timeout = 30

Délai de connexion HTTPS du serveur WAPT en secondes.

wapt_server_timeout = 10

Paramètres pour le wapttray

Description des options disponibles pour l’agent WAPT sur la section globale pour le wapttray

Options / Valeur par défaut

Description

Exemple

“”allow_cancel_upgrade”” = True

Empêche les utilisateurs d’annuler les mises à jour des paquets à l’arrêt du poste. Si désactivé, les utilisateurs ne seront pas en capacité d’annuler les mises à jour des paquets à l’arrêt du poste. Si cette valeur n’est pas renseignée, elle sera par défaut a 10.

“”allow_cancel_upgrade”” = True

hiberboot_enabled = None

Désactive Hiberboot sur Windows 10 pour waptexit.

hiberboot_enabled = True

max_gpo_script_wait = None

Délai d’exécution des GPO à l’arrêt de l’ordinateur.

max_gpo_script_wait = 180

pre_shutdown_timeout = None

Délai d’attente pour les scripts à l’arrêt de l’ordinateur.

pre_shutdown_timeout = 180

“”upgrade_only_if_not_process_running”” = False

Empêche la mise à niveau du logiciel si celui-ci est en cours d’exécution sur l’hôte (attribut impacted_process du packaging).

“”upgrade_only_if_not_process_running”” = True

upgrade_priorities (par défaut None)

Ne mettre à niveau que les paquets ayant une priorité spécifique.

upgrade_priorities = high

“”waptexit_countdown”” = 1

Temps avant le démarrage automatique des installations.

“”waptexit_countdown”” = 25

Paramètres pour l’authentification WAPT Self-Service et Waptservice

Description des options disponibles pour l’agent WAPT dans la section globale pour le self-service WAPT et l’authentification Waptservice

Options / Valeur par défaut

Description

Exemple

ldap_auth_base_dn = None

Utile avec waptagent-ldap, définit le dn de base pour la requête LDAP.

ldap_auth_base_dn = dc=mydomain,dc=lan

ldap_auth_ssl_enabled = False

Utile avec waptagent-ldap, définit si la requête LDAP doit être chiffré.

ldap_auth_ssl_enabled = True

ldap_auth_server = None

Utile avec waptagent-ldap, définit le serveur LDAP à contacter.

ldap_auth_server = srvads.mydomain.lan

service_auth_type = system

Définit le système d’authentification du service WAPT, les valeurs disponibles sont system, waptserver-ldap, waptagent-ldap.

service_auth_type = waptagent-ldap

verify_cert_ldap = False

Utile avec waptagent-ldap, définit si le certificat doit être vérifié.

verify_cert_ldap = True

waptservice_admin_filter = False

Appliquer un filtrage d’affichage pour les paquets self-service pour les administrateurs locaux.

waptservice_admin_filter = True

waptservice_password = None

mot de passe haché en sha256 lorsque waptservice_user est utilisé (la valeur NOPASSWORD désactive la nécessité d’un mot de passe).

waptservice_password = 5e884898da

waptservice_user = None

Force un utilisateur à s’authentifier sur le service WAPT.

waptservice_user = admin

Paramètres pour le wapttray

Description des options disponibles pour l’agent WAPT sur la section globale pour le wapttray

Options / Valeur par défaut

Description

Exemple

notify_user (par défaut False)

Empêche wapttray d’envoyer des notifications (popup).

notify_user = True

Paramètres du Proxy

Description des options disponibles pour l’agent WAPT sur la section globale pour le proxy

Options / Valeur par défaut

Description

Exemple

http_proxy (par défaut None)

Définit l’adresse du proxy HTTP.

http_proxy = http://user:pwd@host_fqdn:port

use_http_proxy_for_repo = False

Utilisez un proxy pour accéder aux dépôts.

use_http_proxy_for_repo = True

use_http_proxy_for_server = False

Utilisez un proxy pour accéder au serveur WAPT.

use_http_proxy_for_server = True

Paramètres pour la création de paquets WAPT

Description des options disponibles pour l’agent WAPT dans la section globale pour la création de paquets WAPT

Options / Valeur par défaut

Description

Exemple

default_package_prefix = tis

Définit le préfixe par défaut pour les nouveaux paquets ou ceux importés.

default_package_prefix = doc

default_sources_root = C:\waptdev (Windows) ou ~/waptdev (Linux)

Définit le répertoire de stockage des paquets en cours de développement.

default_sources_root = C:\waptdev

default_sources_suffix = wapt

Définit le suffixe par défaut pour les paquets nouveaux ou importés.

default_sources_suffix = doc

personal_certificate_path = None

Définit le chemin d’accès à la clé privée de l’administrateur.

personal_certificate_path = None

[wapt-wua]

Reportez-vous à configurer WAPTWUA sur l’agent WAPT.

Paramètres pour l’utilisation de dépôts multiples

Pour ajouter plus de dépôts, de nouvelles sections [nom_du_dépôt] peuvent être ajoutées dans le wapt-get.ini.

Note

Les dépôts actifs sont listés dans l’attribut « repositories » de la section [global].

Attention

Ce paramètre peut être configuré à la fois dans la configuration de l’agent WAPT et dans le fichier de configuration de la console WAPT C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

Pour des informations sur la configuration de la console WAPT, veuillez vous référer à cette élément de la documentation.

[sections]

Indication

Si cette section n’existe pas, les paramètres sont lus à partir de la section [global].

[wapt-templates]

Dépôts distants externes qui seront utilisés dans la console WAPT pour importer des nouveaux paquets ou leur mises à jour. Le dépôt Tranquil IT est défini par défaut.

[wapt-host]

Dépôt pour les paquets hôtes. Si cette section n’existe pas, les emplacements par défaut utilisés seront le dépôt principal.

Plus d’informations sur cette utilisation peuvent être trouvées dans cette article sur le travail avec plusieurs dépôts publics ou privés.

Configuration de la console WAPT

Indication

la configuration de la console WAPT est stocké à 2 endroits:

  • C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

  • C:\Users\%username%\AppData\Roaming\waptconsole\waptconsole.ini.

Ces fichiers sont générés automatiquement lors du premier lancement de waptconsole et sont générés à partir du fichier wapt-get.ini configuré sur le poste de travail de l” Administrateur ;

Description des sections disponibles

Description des sections disponibles pour l’agent WAPT

Section

Description

[global]

options globales de la console

[sections]

options du dépôt externe. [wapt-template] est le dépôt Tranquil IT par défaut

[waptwua]

Options WUA

Toutes les sections sont détaillées ci-dessous.

Les autres sections présentes dans C:\Users\%username%\AppData\Roaming\waptconsole\waptconsole.ini ne sont pas modifiables manuellement, elles ne sont donc pas détaillées.

Attention

Pour les paramètres présents à la fois dans wapt-get.ini et waptconsole.ini, les valeurs sont définies dans wapt-get.ini et copiées dans waptconsole.ini. Ne modifiez pas manuellement ces paramètres.

Description des options disponibles par section

[global]

Plusieurs options sont disponibles dans la section [global] du fichier waptconsole.ini.

Description des options disponibles sur AppData\Local

Options / Valeur par défaut

Description

Exemple

advanced_mode = False

Lance la console en mode débogage.

advanced_mode = True

WAPT Enterprise feature only allow_remote_reboot = False

Permet de redémarrer le ou les hôtes sélectionnés à distance à partir de la console WAPT.

allow_remote_reboot = True

WAPT Enterprise feature only allow_remote_shutdown = False

Permet d’arrêter le ou les hôtes sélectionnés à distance à partir de la console WAPT.

allow_remote_shutdown = True

client_certificate = None

Définit si le dépôt distant utilise l’authentification SSL côté client.

client_certificate = C:\private\org-coder.crt

client_private_key = None

Définit si le dépôt distant utilise l’authentification SSL côté client.

client_private_key = C:\private\org-coder.pem

check_certificates_validity = False

Force la vérification de la date et de la CRL du certificat du paquet.

check_certificates_validity = True

default_maturity (par défaut None)

Définit la maturité de téléchargement par défaut pour les paquets WAPT.

default_maturity = “”

default_package_prefix = tis

Définit le préfixe par défaut pour les nouveaux paquets ou ceux importés.

default_package_prefix = doc

default_sources_root = C:\waptdev (Windows) ou ~/waptdev (Linux)

Définit le répertoire de stockage des paquets en cours de développement.

default_sources_root = C:\waptdev

grid_hosts_plugins = W10=

Liste Les plugins externes pour la console WAPT. La valeur par défaut est W10= car [] en base64.

grid_hosts_plugins = W3siZXhlY3V0YWJsZSI6ImV4cGxd

host_profiles (par défaut None)

Définit une liste de paquets WAPT que l’agent WAPT doit installer.

host_profiles = tis-firefox,tis-java

hiberboot_enabled = False

Désactive Hiberboot sur Windows 10 pour waptexit

hiberboot_enabled = True

http_proxy (par défaut None)

Définit l’adresse du serveur proxy dans la console WAPT.

http_proxy = https://proxy.domain.lan

last_usage_report (par défaut None)

Indique la date à laquelle la console WAPT a été utilisée pour la dernière fois.

last_usage_report = 12/05/2021 18:45:51

lastwaptserveruser (par défaut None)

Fournit le dernier utilisateur connecté sur cette console WAPT.

lastwaptserveruser = admin

max_gpo_script_wait = 180

Définit le délai d’exécution des GPO à l’arrêt de l’ordinateur.

max_gpo_script_wait = 360

personal_certificate_path = None

Définit le chemin d’accès au certificat associé à la clé privée de l’administrateur.

personal_certificate_path = C:\private\mykey.crt

pre_shutdown_timeout = 180

Définit le délai d’attente pour les scripts à l’arrêt de l’ordinateur.

pre_shutdown_timeout = 360

repo_url = l’adresse de votre dépôt WAPT

Définit l’adresse du dépôt principal de WAPT.

repo_url = https://srvwapt.mydomain.lan/wapt

send_usage_report = True

Permet à la console WAPT d’envoyer des statistiques anonymes à Tranquil IT. Mettre à 0 pour désactiver la télémétrie.

send_usage_report = True

sign_digests = sha256

Liste des algorithmes de signature autorisés pour les paquets WAPT.

sign_digests = sha1

WAPT Enterprise feature only use_ad_groups = False

Permet l’utilisation des paquets unit.

use_ad_groups = True

use_fqdn_as_uuid = False

Permet d’utiliser le FQDN plutôt que l’UUID du BIOS comme identifiant unique de la machine dans WAPT.

use_fqdn_as_uuid = True

use_kerberos (par défaut False)

Permet d’utiliser l’authentification kerberos pour l’enregistrement initial des agents WAPT avec le serveur WAPT.

use_kerberos = True

use_hostpackages = False

Permet d’utiliser les paquets hôtes.

use_hostpackages = True

use_http_proxy_for_repo = False

Permet d’utiliser un proxy pour se connecter au dépôt principal de WAPT à partir de la console.

use_http_proxy_for_repo = True

use_http_proxy_for_server = False

Permet d’utiliser un proxy pour se connecter au serveur WAPT à partir de la console.

use_http_proxy_for_server = True

WAPT Enterprise feature only use_repo_rules = False

Permet d’utiliser replication pour les dépôts.

use_repo_rules = True

verify_cert (par défaut False)

Pour la vérification des certificats SSL / TLS.

verify_cert = True

wapt_server (par défaut None)

Définit le port du serveur PostgreSQL.

wapt_server = https://srvwapt.mydomain.lan

Description des options disponibles sur AppData\Roaming

Options / Valeur par défaut

Description

Exemple

advanced_mode = False

Lance la console en mode débogage.

advanced_mode = True

enable_external_tools = False

Affiche les actions qui appellent des applications externes (RDP, outils Windows etc…).

enable_external_tools = True

enable_management_features = False

Affiche le bouton pour créer des certificats auto-signés ou pour créer l’installateur de l’agent WAPT.

enable_management_features = True

hide_unavailable_actions = False

Masque les actions qui ne sont pas disponibles pour l’agent WAPT

hide_unavailable_actions = True

HostsLimit (par défaut 2000)

Limite des hôtes affichés dans la console WAPT.

HostsLimit = 300

language = langue par défaut sur le client

Force la langue par défaut pour l’interface graphique (pas pour le filtrage des paquets)

language = fr

lastappinifilename (par défaut None)

Définit le fichier .ini utilisé pour stocker la configuration de la console WAPT.

lastappinifilename = C:\Users\%username%\AppData\Roaming\waptconsole\waptconsole.ini

show_host_audit_data_tab = False

Affiche l’onglet Données d’audit sur l’inventaire des machines.

show_host_audit_data_tab = True

WAPT Enterprise feature only use_ad_groups = False

Permet l’utilisation des paquets unit.

use_ad_groups = True

use_fqdn_as_uuid = False

Permet d’utiliser le FQDN plutôt que l’UUID du BIOS comme identifiant unique de la machine dans WAPT (par défaut False).

use_fqdn_as_uuid = True

waptconsole.version (par défaut None)

Version de la console

waptconsole.version = 2.0.0.9424

waptwua_enabled = False

Pour afficher l’onglet Mises à jour Windows sur la console

waptwua_enabled = True

[sections]

Vous pouvez ajouter plusieurs dépôts externes en ajoutant [sections] dans C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

Attention

Ce paramètre peut être configuré à la fois dans la configuration de l’agent WAPT et dans la configuration de la console WAPT C:\Users\%username%\AppData\Local\waptconsole\waptconsole.ini.

Pour des informations sur la configuration de l’agent WAPT, veuillez vous référer à ce point.

Voir les paramètres et configurations disponibles ici.

Configuration du serveur WAPT

Le fichier de configuration du serveur WAPT sur les systèmes GNU/ Linux et macOS se trouve dans /opt/wapt/conf/waptserver.ini ou dans /opt/wapt/waptserver/waptserver.ini.

Le fichier de configuration du serveur WAPT sur les systèmes Windows se trouve dans C:\wapt\conf\waptserver.ini.

Attention

La modification de ces fichiers est réservée aux utilisateurs avancés !

Section [option] de waptserver.ini

Plusieurs options peuvent être définies dans cette section.

[options]
Paramètres disponibles pour la section [option] de waptserver.ini

Options / Valeur par défaut

Description

Exemple

allow_unauthenticated_connect = None

Définit si les connexions websocket doivent être authentifiées. Si use_kerberos = True, alors allow_unauthenticated_connect DOIT ÊTRE** défini à False ou il sera prioritaire.

allow_unauthenticated_connect = True

allow_unauthenticated_registration = False

Permet l’enregistrement initial de l’agent WAPT en utilisant un login et un mot de passe.

allow_unauthenticated_registration = True

allow_unsigned_status_data = False

Débogage uniquement - Permet à l’agent d’envoyer des données d’état non signées.

allow_unsigned_status_data = True

application_root (par défaut None)

Définit un chemin racine personnalisé pour l’application du serveur WAPT.

application_root = wapt

client_certificate_lifetime = 3650

Définit la durée de vie du certificat de la machine (en jours).

client_certificate_lifetime = 500

cleanup_kbs (par défaut True)

Définit si les KB Windows non utilisés :ref:` doivent être automatiquement supprimés <auto_kb_clean>` du serveur WAPT.

cleanup_kbs = False

clients_read_timeout = 5

Définit le délai d’attente du client websocket.

clients_read_timeout = 10

clients_signing_certificate = None

Définit le chemin du certificat de signature de l’hôte.

clients_signing_certificate = C:\private\org-coder.crt

clients_signing_crl_days = 30

Définit la durée de vie de la signature du certificat de la machine CRL (en jours).

clients_signing_crl_days = 15

clients_signing_crl_url = None

Définit le chemin de la CRL de signature du certificat de la machine.

clients_signing_crl = C:\private\org-coder.crt

clients_signing_crl_url = None

Définit l’URL de la CRL de signature du certificat de la machine.

clients_signing_crl_url = https://srvwapt.mydomain.lan/crl

clients_signing_key = None

Définit le chemin de la clé de signature du certificat de la machine.

clients_signing_key = C:\private\org-coder.crt

client_tasks_timeout = 5

Définit le délai maximum autorisé avant que l’agent WAPT n’indique un timeout.

client_tasks_timeout = 5

db_connect_timeout = 3

Définit le délai maximum autorisé avant que les requêtes PostgreSQL n’expirent.

db_connect_timeout = 10

db_host (par défaut None)

Définit l’url du serveur PostgreSQL (par défaut WAPT utilise un Socket Unix local).

db_host = https://sql.mydomain.lan

db_max_connections = 90

Définit l’url du serveur PostgreSQL (par défaut WAPT utilise un Socket Unix local).

db_max_connections = 100

nom_bd (par défaut wapt)

Définit la base de données PostgreSQL à laquelle le serveur WAPT se connectera.

db_name = wapt

db_password (par défaut None)

Définit le mot de passe pour authentifier l’utilisateur sur la base de données PostgreSQL (par défaut WAPT utilise un socket UNIX local).

db_password = WAPT_DB_PASSWORD

db_port (par défaut 5432)

Définit le port du serveur PostgreSQL.

db_port = 5432

db_stale_timeout = 300

Définit le délai du timeout de la base de données.

db_stale_timeout = 500

db_user (par défaut wapt)

Définit l’utilisateur PostgreSQL qui se connecte à la base de données.

db_user = wapt

enable_store (par défaut False)

Active le Webui du magasin WAPT (Deprecated).

enable_store = False

encrypt_host_packages = False

Chiffre le paquet machine avec le certificat du client.

encrypt_host_packages = True

htpasswd_path (par défaut None)

Ajoute l’authentification de base au serveur WAPT.

htpasswd_path = True

http_proxy (par défaut None)

Définit le serveur proxy pour permettre au serveur WAPT de récupérer sa CRL.

http_proxy = http://srvproxy.mydomain.lan:3128

known_certificates_folder = dossier par défaut de WAPT /ssl/ folder

Ajoute une CA supplémentaire connue pour vérifier les certificats.

known_certificates_folder = /opt/wapt/ssl/

ldap_auth_base_dn = None

Définit le DN de base de l’authentification LDAP.

ldap_auth_base_dn = dc=mydomain,dc=lan

ldap_auth_server = None

Définit le serveur d’authentification LDAP.

ldap_auth_server = srvads.mydomain.lan

ldap_auth_ssl_enabled = True

Définit l’authentification SSL sur les connexions LDAP.

ldap_auth_ssl_enabled = False

loglevel (par défaut warning)

Définit le niveau du journal. Les valeurs possibles sont : debug, info, warning, critical.

loglevel = debug

max_clients = 4096

Définit la connexion maximale simultanée des clients WAPT.

max_clients = 2048

min_password_length = 10

Définit la longueur minimale du mot de passe administrateur.

min_password_length = 15

nginx_http (par défaut 80)

Définit le port HTTP du serveur web Nginx (Windows uniquement).

nginx_http = 8080

nginx_https (par défaut 443)

Définit le port HTTPS du serveur web Nginx (Windows uniquement).

nginx_https = 44380

remote_repo_support = False

Active la fonctionnalité de dépôts distants à partir du serveur WAPT.

remote_repo_support = True

remote_repo_websockets = True

Permet la communication par websocket avec les agents configurés en tant que dépôts distants.

remote_repo_websockets = False

secret_key (par défaut None)

Définit la chaîne aléatoire pour initialiser le serveur d’application Python Flask. Elle est générée lors de la première installation du serveur WAPT et est unique pour chaque serveur WAPT.

secret_key = FKjfzjfkF687fjrkeznfkj7678jknk78687

server_uuid (par défaut None)

Définit le serveur WAPT UUID (cet identifiant anonyme est utilisé pour les statistiques WAPT).

server_uuid = 76efezfa6-b309-1fez5-92cd-8ea48fc122dc

signature_clockskew = 300

Définit la différence de temps maximale autorisée pour les websockets (en secondes).

signature_clockskew = 72000

token_lifetime = 43200

Définit la durée de vie du jeton d’authentification (en secondes).

token_lifetime = 43200

trusted_signers_certificates_folder = None

Définit le chemin d’accès au répertoire des certificats des signataires de confiance.

trusted_signers_certificates_folder = C:\private\org-coder.crt

trusted_users_certificates_folder = None

Définit le chemin d’accès au répertoire des certificats CA des utilisateurs de confiance.

trusted_users_certificates_folder = C:\private\org-coder.crt

use_kerberos (par défaut False)

Permet à un agent WAPT de s’enregistrer en utilisant son compte kerberos. Si use_kerberos = True, alors allow_unauthenticated_connect DOIT ÊTRE** défini à False ou il sera prioritaire.

use_kerberos = True

use_ssl_client_auth = False

Active l’authentification par certification du client.

use_ssl_client_auth = True

wapt_admin_group_dn (par défaut None)

DN LDAP du groupe d’utilisateurs Active Directory autorisé à se connecter à la console WAPT.

wapt_admin_group_dn = CN=waptadmins,OU=groups,DC=ad,DC=mydomain,DC=lan

wapt_folder = /var/www/wapt ou /var/www/html/wapt ou WAPT root_dir/waptserver/repository/wapt

Définit le chemin du répertoire du dépôt WAPT.

wapt_folder = /var/www/wapt

wapt_huey_db (par défaut None)

Définit le chemin d’accès à la base de données qui gère les tâches.

wapt_huey_db = C:\Program Files(x86)\wapt\db\waptservertasks.sqlite

wapt_password (par défaut None)

Définit le mot de passe SuperAdmin pour la connexion à la console WAPT.

wapt_password = 46642dd2b1dfezfezgfezgadf0ezgeezgezf53d

waptserver_port = 8080

Définit le port du service python du serveur WAPT, la valeur par défaut est 8080.

waptserver_port = 1313

wapt_user (par défaut admin)

Définit le nom d’utilisateur SuperAdmin dans la console WAPT.

wapt_user = wapt_admin

waptwua_folder = dossier_wapt + “wua”

Définit l’emplacement du dossier WAPT WUA.

waptwua_folder = /var/www/waptwua

wol_port (par défaut 9)

Définit la liste des ports UDP de WakeOnLAN auxquels envoyer des paquets magiques.

wol_port = 9,123,4000

wapt_bind_interface = 127.0.0.1

Définit comment écouter le service waptserver.

wapt_bind_interface = 127.0.0.1

ipxe_script_jinja_path (par défaut ``/opt/wapt/waptserver/templates/ipxe-default.j2`)

Définit l’emplacement du modèle jinja utilisé pour le script WAPT ipxe.

ipxe_script_jinja_path = /opt/wapt/waptserver/templates/ipxe-autoregister.j2

Configuration de Nginx

La configuration par défaut de Nginx est la suivante :

server {
  listen                      80;
  listen                      443 ssl;
  server_name                 _;
  ssl_certificate             "/opt/wapt/waptserver/ssl/cert.pem";
  ssl_certificate_key         "/opt/wapt/waptserver/ssl/key.pem";
  ssl_protocols               TLSv1.2;
  ssl_dhparam                 /etc/ssl/certs/dhparam.pem;
  ssl_prefer_server_ciphers   on;
  ssl_ciphers                 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
  ssl_stapling                on;
  ssl_stapling_verify         on;
  ssl_session_cache           none;
  ssl_session_tickets         off;
  index index.html;

  location ~ ^/wapt.* {
    proxy_set_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
    proxy_set_header Pragma "no-cache";
    proxy_set_header Expires "Sun, 19 Nov 1978 05:00:00 GMT";
    root "/var/www";
    }

  location / {
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

  location  ~ ^/(api/v3/upload_packages|api/v3/upload_hosts/|upload_waptsetup)  {
    proxy_pass http://127.0.0.1:8080;
    client_max_body_size 4096m;
    client_body_timeout 1800;
    }

  location /wapt-host/Packages {
    return 403;
    }

  location /wapt-host/add_host_kerberos {
    return 403;
    }

  location / {
    proxy_pass http://127.0.0.1:8080;
    }

  location /socket.io {
    proxy_http_version 1.1;
    proxy_buffering off;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_pass http://127.0.0.1:8080/socket.io;
    }
  }
}

Configuration du serveur WAPT pour les grands déploiements

Les paramètres par défaut du système d’exploitation, de Nginx et de Postgresql sont adaptés pour environ 400 agents WAPT. Si vous avez plus de 400 clients, il est nécessaire de modifier quelques paramètres au niveau du système ainsi que la base de données PostgreSQL, le serveur web Nginx et le serveur python WAPT Server.

Dans le futur, le script postconf.sh pourra prendre en charge cette configuration en fonction du nombre d’ordinateurs clients attendus.

Avec les paramètres suivants, un serveur WAPT devrait pouvoir fonctionner avec environ 5000 clients actifs simultanés. Vous pouvez avoir plus de clients dans la base de données s’ils ne fonctionnent pas tous en même temps. Si vous avez plus de 5000 clients, il est recommandé d’avoir plus d’un serveur WAPT.

La limite du nombre de clients finaux est due à un goulot d’étranglement dans le code python et le backend PostgreSQL. Les performances de WAPT s’améliorent avec le temps et, à l’avenir, le serveur WAPT pourrait supporter une large base sur un seul serveur. Cependant, la partie Nginx s’adapte très bien et peut tirer pleinement parti d’une connexion 10Gbps pour les déploiements de paquets à forte charge.

Note

Les paramètres à modifier ci-dessous sont liés entre eux et doivent être modifiés globalement et non individuellement.

Configuration de Nginx

nginx.conf emplacement du fichier de configuration

Type d’OS

Localisation

Debian / Ubuntu

/etc/nginx/nginx.conf

Redhat et dérivés

/etc/nginx/nginx.conf

Windows

C:\wapt\waptserver\nginx\conf\nginx.conf

Dans le fichier nginx.conf, modifiez le paramètre worker_connections. La valeur doit être d’environ 2,5 fois le nombre de clients WAPT (n connexions pour les websockets et n connexions pour les téléchargements de packages et le téléchargement d’inventaire + une certaine marge).

events {
  worker_connections 4096;
}

Mettez ensuite à niveau le nombre de filedescriptors dans le fichier /etc/nginx/nginx.conf (pour Windows C:\wapt\waptserver\nginx\conf\nginx.conf) :

worker_rlimit_nofile 32768;

En fonction du partitionnement de votre serveur WAPT, vous devrez peut-être faire attention au répertoire de téléchargement de fichiers temporaires de Nginx. Nginx agit comme un proxy inverse pour le moteur Python de WAPTServer et fait une mise en cache des paquets téléchargés lors du téléchargement d’un nouveau paquet depuis la console.

Les paquets sont stockés dans le répertoire /var/lib/nginx/proxy. Vous devez vous assurer que la partition qui héberge ce répertoire est suffisamment grande. Vous pouvez modifier l’emplacement de ce répertoire en utilisant le paramètre de configuration suivant de Nginx.

$client_body_temp_path

Configuration du système Linux

Augmenter le nombre de filedescriptors. Le fichier d’unité du système demande une augmentation du nombre autorisé de filedescriptors (LimitNOFILE=32768). Nous devrions avoir la même chose pour Nginx. Il y a quelques limites à modifier.

Tout d’abord, nous modifions au niveau du système le nombre de filedescriptors autorisés pour Nginx et WAPT.

  • Créer /etc/security/limits.d/wapt.conf.

cat > /etc/security/limits.d/wapt.conf <<EOF
wapt         hard    nofile      32768
wapt         soft    nofile      32768
www-data     hard    nofile      32768
www-data     soft    nofile      32768
EOF

Nginx sert de proxy inverse et établit un grand nombre de connexions. Chaque client WAPT maintient une connexion websocket en permanence afin de répondre aux actions du serveur WAPT.

Le noyau Linux a une protection contre le fait d’avoir trop de connexions TCP ouvertes en même temps et on peut obtenir le message SYN flooding on port dans le journal de Nginx. Afin d’éviter ces messages, il est nécessaire de modifier les deux paramètres suivants. Il doit être environ 1,5 fois le nombre de clients WAPT.

cat > /etc/sysctl.d/wapt.conf <<EOF
net.ipv4.tcp_max_syn_backlog=4096
net.core.somaxconn=4096
EOF

sysctl --system

Configuration de la base de données PostgreSQL

postgresql.conf emplacement du fichier de configuration

Type d’OS

Localisation

Debian / Ubuntu

/etc/postgresql/{version}/main/postgresql.conf

Redhat et dérivés

/var/lib/pgsql/{version}/data/postgresql.conf

Windows

C:\wapt\waptserver\pgsql{version}_data\postgresql.conf

Un plus grand nombre de clients nécessite un plus grand nombre de connexions à la base de données PostgreSQL. Dans le fichier postgresql.conf file (file:/etc/postgresql/11/main/postgresql.conf sur debian 10 par exemple ou pour Windows C:\wapt\waptserver\pgsql9.6_data\postgresql.conf), vous devez augmenter le paramètre suivant pour atteindre approximativement 1/4 du nombre d’agents WAPT actifs.

max_connections = 1000

Dans le fichier /opt/wapt/conf/waptserver.ini (pour Windows C:\wapt\conf\waptserver.ini, db_max_connections` doit être égal au max_connections` de PostgreSQL moins 10 (PostgreSQL a besoin de garder quelques connexions pour son ménage). Le paramètre max_clients devrait être fixé à environ 1,2 fois le nombre d’agents WAPT :

[options]
...
max_clients = 4096
db_max_connections = 990