Aller au contenu

Zones connectées — vue d'ensemble

Une instance passthrough est le cas d’usage livré de Tobby (jalon 4, train v0.4.x) : un service permanent placé entre deux zones réseau connectées. D’un côté, elle lit depuis les registres sources — directement, ou à travers le proxy d’entreprise. De l’autre, elle pousse dans le registre de la zone, celui dont vos clusters et vos hôtes tirent réellement leur contenu. Entre les deux vivent son propre store et un registre OCI embarqué, si bien que la zone peut aussi consommer le contenu directement depuis Tobby.

Retriever état désiré de la zone relu à chaque cycle Registres sources direct ou via proxy Tobby — passthrough store + registre embarqué chaque cycle : relire → réconcilier → pousser Zone Registre de zone Clients de la zone docker · containerd · helm fetch + vérifier push différentiel recipes comprises pull

La boucle est volontairement simple, et chaque étape est une exigence que vous pouvez auditer :

  1. Relire le Retriever. À chaque cycle, l’instance re-télécharge le document d’état désiré depuis retriever.source (FR-010) et résout chaque recipe listée depuis le cookbook, en respectant les contraintes de version (~, ^, 12.x) à chaque passage — une version corrective arrive par simple publication, sans aucun fichier à modifier.
  2. Réconcilier. Le registre de destination est comparé à ce que les recipes épinglent. Seul ce qui manque est déplacé.
  3. Pousser en différentiel. Les blobs et manifestes déjà présents à la destination ne sont jamais renvoyés (FR-028). Un second cycle sur un contenu inchangé transfère zéro octet — le crucible joue exactement ce scénario.
  4. Re-vérifier avant chaque push. Les signatures sont contrôlées contre la copie locale avant chaque push, et non une seule fois à l’import (FR-033). Un store altéré entre deux cycles ne se propage pas.
  5. Propager les recipes. Les artefacts de recipe signés eux-mêmes sont poussés vers le cookbook de la zone, à côté de leurs ingrédients (FR-034), si bien que le cookbook de la zone reflète toujours ce que la zone détient réellement — et qu’une zone plus en aval peut s’y enchaîner.

Le cycle s’exécute tous les sync.interval (15m par défaut). L’intervalle se change à chaud depuis l’écran d’administration et depuis l’API, sans redéployer (FR-013), et cette modification est auditée comme configuration sensible (FR-094). Une synchronisation peut aussi être déclenchée à la main, depuis l’écran des recipes ou avec POST /api/v1/sync.

Les ingrédients arrivent à destination sous leur hôte source nominal — docker.io/library/nginx devient registry.zone.example/docker.io/library/nginx — digests et signatures inchangés. Tobby ne réécrit jamais et ne re-signe jamais le contenu ; la règle de nommage et ses conséquences pour vos clients font l’objet de Brancher vos clients.

  • Un hôte Linux ou un cluster Kubernetes pour l’instance — voir la matrice OS.
  • Deux répertoires sur des volumes distincts : le store (volumineux, re-téléchargeable) et l’état (petit, la cible de sauvegarde). Ils ne doivent pas être imbriqués l’un dans l’autre ; Tobby refuse de démarrer sinon.
  • Un accès réseau aux registres sources, directement ou à travers un proxy sortant, et au registre de destination.
  • Un registre de destination qui accepte les chemins de dépôt imbriqués — Tobby le teste avant de pousser et échoue explicitement quand ce n’est pas le cas (FR-035).
  • Un document Retriever et des recipes signées dans un cookbook. Pour comprendre ces notions d’abord, lisez recipes, cookbook, retriever.

Les pages sont ordonnées comme se déroule un déploiement réel :

  1. Déployer — Kubernetes (chart Helm ou manifestes bruts), paquets pour VM, image de conteneur, et le premier compte.
  2. Réseau d’entreprise — proxy authentifié, autorités de certification privées, et le TLS que l’instance sert elle-même.
  3. Retriever de zone et cascade — le document d’état désiré, et comment les zones s’enchaînent sans toucher aux recipes.
  4. Brancher vos clients — pourquoi les chemins ont cette forme, les mirrors containerd, les pièges GitOps, et l’endpoint pour les paquets d’OS.
  5. Imports ponctuels — faire entrer une image ou un chart isolé par référence, hors de toute recipe.
  6. Exploiter dans la durée — probes, suivi des tâches et reprise, sauvegarde, croissance, montées de version.

Si vous n’avez encore jamais fait tourner Tobby, le parcours en dix minutes installer et démarrer et le pas à pas première promotion sont l’introduction la plus rapide ; cette section suppose que vous les avez faits et que vous visez la production.