Configuring WAPT repository

Replicating a repository WAPT Enterprise feature only

Functional overview

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 Discovery et la version Entreprise de WAPT.

You can find the old documentation here:

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

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

Repository replication can be enabled using a WAPT agent installed on an existing machine, a dedicated appliance or Virtual Machine.

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

Repository replication in WAPT is handled by WAPT agents natively.

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 ;

  • by default, only the wapt folder is synchronized, you can select which folder to sync by adding up elements in remote_repo_dirs parameters;

  • 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

WAPT Agent configuration

To enable replication on an existing WAPT Agent (Linux/Windows) you need to set in the [repo-sync] section in the wapt-get.ini configuration file.

WAPT Agent replication configuration

Options / Default value

Example

Définition

enable_remote_repo = False

Enables remote repository sync connections.

enable_remote_repo = True

local_repo_path = WAPT root dir/repository

Sets local packages root repository path

local_repo_path = /var/www/

local_repo_time_for_sync_start = None

Sets synchronization start time (HH:MM / 24h format)

local_repo_time_for_sync_start = 22:30

local_repo_time_for_sync_end = None

Sets synchronization stop time (HH:MM / 24h format)

local_repo_time_for_sync_end = 05:30

local_repo_sync_task_period = None

Sets synchronization periodicity (minutes)

local_repo_sync_task_period = 25

local_repo_limit_bandwidth = None

Sets synchronization allowed bandwidth (Mbits/s)

local_repo_limit_bandwidth = 2

remote_repo_dirs = wapt,waptwua

Defines folders to synchronize

remote_repo_dirs = wapt,waptwua,wapt-host

use_repo_rules = False

Enable for use repository rules

use_repo_rules = True

Avertissement

If you modify manually wapt-get.ini on repository, you need restart waptservice.

Note

A ready-to-use WAPT package is available in Tranquil’iT public store to enable repository replication on Windows or Linux WAPT agents:

https://store.wapt.fr/store/tis-remote-repo-nginx.

It’s role is to:

  • 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 ;

It possible to automatically configure repository with your preferences by editing this package.

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

WAPT Server configuration

By default the server requeting agent for detecting repositoring agent.

But for optimisation it’s possible to edit waptserver.ini and enable remote_repo_support :

Configuration de la réplication du serveur WAPT

Options / Default value

Description

Example

remote_repo_support = False

Enables remote repositories functionality on WAPT Server

remote_repo_support = True

Avertissement

Then we must restart both waptserver and wapttasks.

Règles relatives aux dépôts

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

WAPT Agent

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 / Default value

Description

Example

use_repo_rules = 0

For using replicating repository.

use_repo_rules = True

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

[global]
...
use_repo_rules = True

Note

It’s possible to enable this option on WAPT agent generation.

WAPT Server

On server remote repositories functionality are automatically enabled.

For control, edit waptserver.ini and read remote_repo_support value.

Options / Default value

Valeur Exemple

Définition

remote_repo_support

True

Enables repository usage

WAPT Console

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 :

Paramètres disponibles de règles du dépôt

Options

Valeur Exemple

Description

IP de l’agent

192.168.85.0/24

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

Domain

ad.domain.lan

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

Nom d’hôte

desktop-04feb1

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

IP publique

256.89.299.22/32

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

Site

Sites et services du domaine

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

Adding a rule

Dans Dépôts, cliquez sur le bouton Ajouter une règle. La fenêtre suivante apparaît :

Creating a new repository rule

Créer une nouvelle règle de dépôt

Detail of values

Options

Valeur Exemple

Description

Name

repo25

Name of rule

Condition

AGENT IP

Condition when which rule are application. List on precedent table.

Value

192.168.25.0/24

Value when condition application. If NOT checked, the reverse condition are applicated.

Repository URL

https://repo25.domain.lan

The replicated repository list. Include http://download.windowsupdate.com/microsoftupdate/v6/wsusscan/ for WUA.

Package type

WAPT

When type of packages replicated

Other

No fallbacks

Detailed on below

  • The option No Fallback will prevent from falling back to the main WAPT server and will avoid undesired network congestion if the secondary repository becomes temporarily unavailable.

  • The option Proxy will using if need proxy for your rule.

Using proxy on rule

You can then choose from the different above parameters and affect values to a specific secondary WAPT repository.

Avertissement

Les règles sont appliquées de haut en bas, et la première règle qui correspond aux conditions l’emporte sur toutes les autres règles placées en dessous.

Danger

Don’t forget to save your rules :

Save rule

Multiple repository

Same Debian repository, it’s possible for the WAPT agent used multiple repository for updating package. WAPT agent check all repositories and download more updated version of package.

Danger

If you use this functionality, for all repositories added her packages are not resign by you’r certificate.

Attention

When using repositories with different signers, the additional signer’s public certificates must be added to C:\Program Files (x86)\wapt\ssl on Windows or /opt/wapt/ssl on Linux and MacOS.

You then must deploy WAPT agent with both keys.

Voir la documentation pour créer l’agent WAPT avec des paramètres de personnalisation.

WAPT Agent configuration

This parameters are modifiable on wapt-get.ini file.

Description of available parameters

[global]
  • paramètre repositories :

    The parameter repositories allows to set several options for package repositories, for example wapt-templates and private, where their settings are set in additional [section]s of that file.

    repositories=wapt-templates,private
    
[section]
  • paramètres des dépôts secondaires

    [wapt-templates]
    repo_url=https://store.wapt.fr/wapt
    verify_cert = 1
    
    [private]
    repo_url=https://srvwapt.mydomain.lan/wapt
    verify_cert = 0
    

    Avec cette configuration, le client verra maintenant les paquets disponibles sur le dépôt secondaire en plus du dépôt principal.

Description of available parameters

Description of available options for the several repository

Options / Default value

Description

Example

http_proxy = None

HTTP proxy address

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

repo_url = None

Address of the main WAPT repository.

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

timeout = None

Time out for connect at repos

timeout = 5

use_http_proxy_for_repo = False

Use the proxy to access the repositories.

use_http_proxy_for_repo = 1

verify_cert = None

For verifying HTTPS certificates.

verify_cert = C:\Program Files (x86)\wapt\ssl\server\srvwapt.mydomain.lan.crt (on Windows)

Note

L’agent WAPT ira rechercher des mises à jours dans les deux dépôts.

wapt-get search

More info on Using WAPT with the Command Line

Indication

Les paquets du dépôt secondaire sont également visibles sur l’interface web http://127.0.0.1:8088 du poste équipé de l’agent WAPT.

WAPT Console configuration

Après avoir paramétré les agents WAPT pour utiliser deux dépôts, on peut faire apparaître ces deux dépôts simultanément dans la console.

To do so, modify %appdata%\local\waptconsole\waptconsole.ini file.

Example:

[wapt-template]
repo_url=https://wapt.tranquil.it/wapt
http_proxy=
verify_cert=1
public_certs_dir=
client_certificate=
client_private_key=
timeout=5

[private]
repo_url=https://srvwapt.mydomain.lan/wapt
http_proxy=
verify_cert=0
public_certs_dir=
client_certificate=
client_private_key=
timeout=5
Description of available options for external repositories

Options / Default value

Description

Example

client_certificate = None

Folder that contains the certificates used to authenticate downloaded external packages.

client_certificate = C:\Program Files (x86)\wapt\ssl\server\srvwapt.mydomain.lan.crt (on Windows)

client_private_key = None

Folder that contains the private key.

client_private_key = C:\Program Files (x86)\wapt\ssl\server\srvwapt.mydomain.lan.pem (on Windows)

http_proxy = None

Address of the proxy to use to access the external repository referenced in the [section].

http_proxy = http://proxy.mydomain.lan:8080

public_certs_dir =

Folder that contains the certificates used to authenticate downloaded external packages.

public_certs_dir = C:\private

repo_url = None

Address of the external WAPT repository.

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

timeout = None

Timeout for the external repository referenced in the [section]. If left empty, no verification is performed.

timeout = 2

verify_cert = None

For verifying HTTPS certificates.

verify_cert = 1