Répliquer un dépôt pour préserver la bande passante des sites secondaires

Lorsque WAPT est utilisé sur plusieurs sites distants avec des liens Internet à faible débit, il devient pertinent de mettre en place un système de réplication pour alléger la charge réseau liée aux déploiement des mises à jour WAPT sur les machines de votre parc.

Ainsi, WAPT reste une solution à faible coût d’exploitation car vous n’aurez pas à passer à la fibre pour bénéficier des avantages de WAPT.

Replicating WAPT repositories

Répliquer un dépôt

Le principe est le suivant :

  • un appareil dédié de petite taille sans maintenance ayant le rôle de dépôt secondaire est déployé sur le réseau local de chaque site distant ; un poste de travail peut également être utilisé, bien qu’il puisse ne pas être allumé quand vous souhaiteriez vous y connecter ;

  • le dépôt distant réplique les paquets depuis le dépôt principal WAPT et les éventuels dépôts secondaires ;

  • les clients WAPT consultent en priorité le dépôt le plus proche ;

Indication

L’ancienne méthode utilisée pour synchroniser les dépôts était Syncthing et cette méthode est disponible à la fois pour la version communautaire et la version Entreprise du WAPT.

Vous pouvez trouver l’ancienne documentation ici : (Déclassé) Réplication de dépôts avec Syncthing.

La méthode expliquée ci-dessous s’applique uniquement à la version Enterprise.

Rôle de réplication de l’agent WAPT

Nouveau dans la version WAPT: 1.8 Enterprise

À partir de WAPT 1.8, la réplication du dépôt peut être activée en utilisant un agent WAPT installé sur une machine existante, une appliance dédiée ou une machine virtuelle.

Le rôle de réplication est déployé par le biais d’un paquet WAPT qui active le serveur web Nginx et configure le déclenchement des mises à jour, les types de paquets, la synchronisation des paquets, et bien plus encore.

Cette fonctionnalité permet aux agents WAPT de trouver dynamiquement leur dépôt WAPT disponible le plus proche à partir d’une liste de règles stockées sur le serveur WAPT.

Comportement de réplication

La réplication du dépôt dans WAPT est maintenant nativement gérée par des agents WAPT spéciaux (Versions entreprise uniquement).

Il est basé sur un fichier sync.json qui indexe tous les fichiers présents dans ces dossiers :

  • wapt ;

  • waptwua ;

  • wapt-host ;

Permettre la réplication a les effets suivants :

  • une fois enable_remote_repo activé sur un agent WAPT, il synchronisera les paquets localement dans le dossier local_repo_path ;

  • il ajoute l’agent WAPT dans l’onglet Dépôts comme un dépôt distant, permettant de nouvelles actions telles que Forcer la Syncro ou Vérifier les fichiers ;

  • par défaut, seul le dossier wapt est synchronisé, vous pouvez sélectionner le dossier à synchroniser en ajoutant des éléments dans les paramètres remote_repo_dirs ;

  • La tranche horaire de synchronisation peut être configurée avec les paramètres local_repo_time_for_sync_start et local_repo_time_for_sync_stop ;

  • La bande passante allouée à la synchronisation peut être configurée avec local_repo_limit_bandwidth ;

Tous les paramètres de la synchronisation du dépôt WAPT doivent être définis dans la section [repo-sync] du fichier de configuration wapt-get.ini de l’agent WAPT.

WAPT agent replication behavior

Comportement de réplication

Permettre la réplication sur l’agent WAPT

Pour permettre la réplication sur un agent existant (Linux/Windows), vous devez déployer un paquet WAPT. Son rôle est de :

  • installer et activer le programme Nginx web server ;

  • configurer l’hôte virtuel nginx ;

  • activer la configuration du dépôt distant dans wapt-get.ini ;

Un paquet WAPT prêt à l’emploi est disponible dans notre dépôt public pour permettre la réplication du dépôt sur des agents WAPT Windows ou Linux : https://store.wapt.fr/store/tis-remote-repo-conf.

Configurer la réplication de l’agent WAPT

La configuration de la réplication de l’agent WAPT est définie dans la section [repo-sync] dans le fichier de configuration wapt-get.ini de l’agent WAPT :

Options

Obligatoire

Valeur Exemple

Définition

enable_remote_repo

Yes

True

Déclenche les connexions de synchronisation des dépôts à distance.

local_repo_path

Yes

/var/www/

Définit le chemin racine des paquets locaux

local_repo_time_for_sync_start

No

22:30

Set sync start time (HH:MM / 24h format)

local_repo_time_for_sync_end

No

05:30

Définit l’heure d’arrêt de la synchronisation (HH:MM / format 24h)

local_repo_sync_task_period

No

25

Définit la fréquence de synchronisation (minutes)

local_repo_limit_bandwidth

No

2

Définit la bande passante maximale allouée aux synchronisations (Mbits/s)

remote_repo_dirs

No

wapt,waptwua,wapt-host

Définit les dossiers synchronisés (par défaut : wapt,waptwua)

Vous trouverez ci-dessous un exemple d’un wapt-get.ini :

[global]
...
use_repo_rules = True

[repo-sync]
enable_remote_repo = True
local_repo_path = D:\WAPT\
local_repo_time_for_sync_start = 20:30
local_repo_time_for_sync_end = 05:30
local_repo_sync_task_period = 25
local_repo_limit_bandwidth = 4
remote_repo_dirs = wapt,waptwua,wapt-host

Configuration de la réplication du serveur WAPT

Le serveur WAPT doit connaître les dépôts à synchroniser dans la section [options] de son fichier waptserver.ini présent dans /opt/wapt/conf/ :

Options

Valeur Exemple

Définition

remote_repo_support

True

ajouter la machine distante :

Then we must restart both waptserver and wapttask:

systemctl restart waptserver wapttask

Règles relatives aux dépôts

Comportement des règles de dépôt

En activant la prise en charge des règles du dépôt, les agents WAPT récupéreront automatiquement leur fichier rules.json sur le serveur WAPT.

Le fichier rules.json est un fichier .JSON signé qui contient une liste de règles triées à appliquer à l’agent WAPT, afin de rediriger ses demandes de téléchargements vers le dépôt le plus approprié.

Si aucune règle ne s’applique, alors l’agent WAPT se rabat sur le paramètre repo_url du fichier de configuration wapt-get.ini du serveur WAPT.

WAPT agent replication behavior

Comportement des règles de dépôt

Répliquer un dépôtActiver les règles des dépôts

Les règles de dépôt sont configurées dans la console WAPT.

Les règles peuvent être basées sur plusieurs paramètres :

Options

Valeur Exemple

Définition

Le nom du domaine

ad.domain.lan

Règle basée sur le nom de domaine Active Directory

Sites et services du domaine

Sites et services du domaine

Règle basée sur les sites et services Active Directory

IP de l’agent

192.168.85.0/24

Règle basée sur le sous-réseau IP de l’agent WAPT

IP publique

256.89.299.22/32

Règle basée sur l’IP publique de l’agent WAPT (hôtes NATés)

Nom d’hôte

desktop-04feb1

Règle basée sur le nom d’hôte

Ajouter une règle dans la console WAPT

In Repositories, click on the Add rule button. The following window appears:

..figure:: create_new_rule.png

:align:center

You can then choose from the different above parameters and affect values to a specific secondary WAPT repository. The option No Fallback will prevent from falling back to the main WAPT server and will avoid potential network congestion.

The rules are applied from top to bottom, and the first rule that matches the conditions overrides all the other rules below.

Utiliser des règles de dépôt sur les agents WAPT

Avertissement

Si vous avez configuré des redirections GeoIP sur Nginx, vous devriez les désactiver car elles pourraient entrer en conflit avec les règles du dépôt.

Pour activer les règles du dépôt de l’agent WAPT, vous devez activer ce paramètre dans la section [global] du fichier de configuration wapt-get.ini de l’agent WAPT :

Options

Obligatoire

Valeur Exemple

Définition

use_repo_rules

No

True

Permettre l’utilisation des règles du dépôt

Vous trouverez ci-dessous un exemple d’un wapt-get.ini :

[global]
...
use_repo_rules = True