Aller au contenu

Installation sur site

AppArch peut fonctionner entièrement sur votre propre infrastructure. Le paquet d’installation et la licence vous sont remis par l’équipe AppArch dans le cadre de votre contrat.

ÉlémentÀ quoi il sert
LicenceDéfinit les limites et la durée de votre installation, et ne fonctionne que sur une seule installation. Les installations connectées la récupèrent automatiquement au premier démarrage avec vos identifiants d’installation ; les installations isolées reçoivent un fichier apparch.lic lié à leur code d’installation - voir Une licence, une installation.
Identifiant d’installationLe nom d’utilisateur pour vous connecter au registre d’images AppArch.
Clé d’installationLe mot de passe de cette même connexion. Communiquée une seule fois.
Paquet d’installationLes fichiers de configuration qui démarrent les services, avec le guide pas à pas.

L’identifiant et la clé sont liés à votre licence : les images ne sont pas listées publiquement et ne peuvent être téléchargées qu’avec ces identifiants.

Fenêtre de terminal
docker login hub.apparch.io -u <identifiant-installation> -p <clé-installation>

Une fois la connexion réussie, suivez les étapes de votre paquet d’installation pour démarrer les services.

Il n’y a aucun fichier de clé à déposer : la clé qui prouve qu’une licence a été émise par AppArch est intégrée aux images.

Une licence fonctionne sur une seule installation. La première installation qui la récupère en ligne (identifiant + clé d’installation) la lie à elle-même ; une autre installation qui demande la même licence est refusée avec le message “Cette licence est déjà utilisée par une autre installation”.

Une installation, c’est tout ce qui partage une même base de données : chaque pod ou réplique lit le même code d’installation. Passer l’Api ou l’UI à plusieurs pods fonctionne donc avec la même licence et ne demande rien à AppArch.

Les installations isolées reçoivent un fichier de licence lié à leur code d’installation :

  1. Démarrez les services.
  2. Ouvrez l’étape licence de l’assistant de configuration et choisissez l’option de collage d’un fichier de licence, ou, sur une installation déjà configurée, allez dans Administration → Paramètres → Licence.
  3. Copiez le code d’installation affiché et envoyez-le à AppArch.
  4. Placez le fichier .lic reçu dans ./license/apparch.lic, ou collez son contenu dans l’assistant.

Ce fichier ne fonctionne que sur cette installation.

Migration vers un nouveau serveur : demandez à AppArch de libérer la licence, puis récupérez-la à nouveau depuis le nouveau serveur.

Une installation en ligne contacte AppArch toutes les heures (https://gateway.apparch.io, HTTPS sortant). Chaque contact renouvelle sa licence ; rien n’est à faire à la main, mais le serveur doit pouvoir joindre cette adresse.

  • Une licence avec date de fin continue de fonctionner deux semaines sans contact réussi : un changement de pare-feu ou une panne n’arrête donc rien tout de suite. Si deux semaines passent sans contact, l’installation s’arrête jusqu’à ce qu’elle puisse de nouveau joindre AppArch.
  • Une licence sans date de fin ne dépend pas de ce contact.
  • Les installations isolées (air-gapped) ne contactent jamais AppArch : leur fichier de licence fonctionne jusqu’à sa date de fin.

Quand l’installation s’arrête - la licence a été révoquée, le contact a échoué pendant deux semaines, ou la licence a expiré il y a plus de 14 jours - chaque écran sauf l’Administration affiche « Cette installation est arrêtée » avec la raison, et rien n’est analysé ni enregistré. Les étapes de CI n’échouent pas : le collector affiche un avertissement et réussit, une licence ne bloque donc jamais vos merge requests. Installer une licence valide dans Administration → Paramètres → Licence lève l’arrêt aussitôt, sans redémarrage.

Limites mensuelles. Votre licence peut limiter les rapports ArchScan, les exécutions ArchSecurity et les commentaires ArchPilot par mois civil, pour toute l’installation. Un rapport au-delà de la limite n’est pas enregistré et le collector réussit avec un avertissement ; ArchPilot continue d’enregistrer les revues mais cesse de publier des commentaires dans les merge requests. Les limites repartent à zéro le 1er du mois ; l’utilisation actuelle s’affiche dans Administration → Paramètres → Licence.

Fonctions sous licence. Trois fonctions dépendent de votre licence : l’authentification unique (connexion LDAP), le journal d’audit (consultation d’Administration → Audit ; les actions sont toujours enregistrées) et le reporting avancé (exports de rapports et e-mails de rapports planifiés). La même page de licence indique celles que la vôtre inclut.

  • Docker Engine 24+ avec le plugin compose
  • PostgreSQL et Redis (fournis dans le paquet d’installation)
  • Une adresse HTTP(S) accessible à vos utilisateurs
  • Installations en ligne : HTTPS sortant vers gateway.apparch.io (vérification horaire de la licence) et hub.apparch.io (images)
  • Au premier démarrage, l’assistant de configuration vous permet de créer le compte administrateur.
  • Le schéma de base de données se met à jour à chaque démarrage : aucun SQL à exécuter manuellement.
  • L’e-mail (SMTP ou Postmark), la connexion LDAP et le renouvellement de licence se gèrent depuis l’espace Administration de l’application.

La licence sur site et les tarifs sont traités par l’équipe commerciale : apparch.io.

L’API raconte son démarrage dans le journal du conteneur (docker compose logs -f api) : connexion à la base (hôte et port, jamais d’identifiants), verrou de bootstrap, migrations en attente, seed des données de référence, chargement de la licence, puis Boot complete - accepting requests. En cas d’échec, une seule ligne au-dessus de la trace nomme la phase morte.

Les deux conteneurs exposent des sondes non authentifiées :

PointSignification
GET /health/liveLe processus sert HTTP. Aucune vérification de dépendance.
GET /health/readyPrêt pour le trafic - l’API vérifie PostgreSQL et Redis, l’UI vérifie l’API.

Le docker-compose.yml livré les câble comme healthchecks de conteneur (l’UI attend une API saine, pas simplement démarrée). Sur Kubernetes : livenessProbe sur /health/live, readinessProbe sur /health/ready, avec une fenêtre de démarrage généreuse pour l’API - le premier démarrage exécute migrations et seed.

  • Vérification du commit. Chaque rapport ArchScan, ArchSecurity et SmartScan nomme son commit, et l’API le cherche dans le dépôt du projet avec l’identifiant du projet. Un commit que le dépôt n’a certainement pas est refusé avec 422 report_commit_not_found et l’étape CI échoue : le jeton du projet est utilisé dans le pipeline d’un autre dépôt ou sur un travail jamais poussé. Si le commit ne peut pas être vérifié (pas d’identifiant, fournisseur injoignable), le rapport est enregistré. COMMIT_VERIFICATION=Record journalise seulement, Off saute la vérification.
  • Rapports compressés. Les collectors actuels envoient les rapports compressés en gzip (un gros rapport est environ huit fois plus petit) ; rien à configurer.

Pointez les tags d’image vers la nouvelle version puis docker compose pull && docker compose up -d. Les migrations en attente s’appliquent dans l’ordre, une par une, quel que soit le nombre de versions sautées - une installation 1.0.0 passant à 1.0.12 applique les douze au premier démarrage, sous un verrou de base qui sérialise les réplicas. Sauvegardez la base avant la mise à niveau ; les migrations ne vont que vers l’avant.

Vérifiez d’abord la licence. La nouvelle image peut dire, avant de remplacer celle qui tourne, si elle acceptera la licence de cette installation. La vérification lit la base, ne modifie rien, et la version actuelle continue de servir :

Fenêtre de terminal
APPARCH_API_IMAGE=hub.apparch.io/apparch/api:<nouvelle-version> docker compose run --rm --no-deps api --check-license

Elle se termine par Result: safe to upgrade. (code de sortie 0) ou Result: do not upgrade yet. (code de sortie 1) et indique ce qui manque : une installation en ligne a besoin de son id et de sa clé d’installation et d’un accès à AppArch ; une installation isolée (air-gapped) d’un fichier de licence lié à son code d’installation dans license/apparch.lic. Ne mettez à niveau qu’après un succès.