# Synchronisation du référentiel

Waarp Manager offre la possibilité d’être synchronisé avec un référentiel externe. La synchronisation permet de créer et de mettre à jour les partenaires et les sites définis.

Note

Seuls les partenaires de type Waarp R66 (client et serveurs) et Waarp Gateway FTP sont gérés.

Le référentiel en base de donnée doit être mis à jour par vos propres moyens. Après chaque modification du référentiel, un script doit être exécuté pour synchroniser la base de données interne avec le référentiel :

    ./waarp-manager db sync -c waarp-manager.ini

## Opérations effectuées

Le référentiel doit être injecté dans la table `ref_instances` de la base de données utilisée par Waarp Manager.

Lors de l’exécution de la commande `./waarp-manager db sync`, pour chaque ligne créée dans la table `ref_instances`, les opérations suivantes sont effectuées :

- Si le site indiqué n’existe pas, celui-ci est créé.

- Si le partenaire n’existe pas, celui-ci est créé. Sinon, il est mis à jour.

## Structure de la table

La table `ref_instances` a la structure suivante :

Colonne | Type | Description
--- | --- | ---
app_name | text | Le nom de l’application correspondant au partenaire
id_app | text | Identifiant de l’application
env | text | Environnement de l’application
tiers_id | text unique | Identifiant du partenaire pour les transferts en clair
tiers_id_ssl | text unique | Identifiant du partenaire pour les transferts SSL
host_name | text | Identifiant du serveur sur lequel le partenaire est installé
ip_address | text | Adresse IP du serveur sur lequel le partenaire est installé
site_name | text | Nom du site auquel le partenaire appartient
type | text | Type du partenaire (valeurs possibles: `client`, `server` ou `gwftp`)
port_r66 | int64 | Port utilisé par le moniteur R66
port_r66_ssl | int64 | Port utilisé par le moniteur R66 via SSL
port_r66_monitoring | int64 | Port utilisé par le service de monitoring du moniteur R66
port_r66_admin | int64 | Port utilisé par l’interface d’administration du moniteur R66
port_r66_rest | int64 | Port utilisé par l’interface REST du moniteur R66
port_gwftp | int64 | Port utilisé par la passerelle FTP
port_gwftp_monitoring | int64 | Port utilisé par le service de monitoring de la passerelle FTP
port_gwftp_admin | int64 | Port utilisé par l’interface d’administration de la passerelle FTP
port_gwftp_passive_min | int64 | Port minimal utilisé par la passerelle FTP pour les flux de données passif
port_gwftp_passive_max | int64 | Port maximal utilisé par la passerelle FTP pour les flux de données passif

Elle peut être créée avec le code SQL suivant :

    CREATE TABLE IF NOT EXISTS ref_instances (
        app_name text not null,
        id_app text not null,
        env text not null,
        tiers_id text unique not null,
        tiers_id_ssl text unique not null,
        host_name text not null,
        ip_address text not null,
        site_name text not null,
        type text not null,
        port_r66 integer not null default 6666,
        port_r66_ssl integer not null default 667,
        port_r66_monitoring integer not null default 8066,
        port_r66_admin integer not null default 8067,
        port_r66_rest integer not null default 8088,
        port_gwftp integer not null default 6621,
        port_gwftp_monitoring integer not null default 8068,
        port_gwftp_admin integer not null default 8069,
        port_gwftp_passive_min integer not null default 30000,
        port_gwftp_passive_max integer not null default 40000
     );