Aller au contenu

Mettre à jour Tobby en zone isolée

Tobby se met à jour par son propre canal (R-25), exactement comme la base de vulnérabilités : une nouvelle version est une recipe que votre site cuisine et signe, portée par le flux miroir standard, et déployée par une personne. Rien dans Tobby ne cherche une version plus récente, et rien n’en installe une de lui-même (NFR-019).

Depuis la v0.6.0, chaque release publie trois artefacts prêts pour une recipe, signés sans clé par le workflow de release et couverts par une provenance SLSA :

Artefact Référence Type dans la recipe
image conteneur (amd64, arm64) ghcr.io/tobby-fetch/tobby-fetch:vX.Y.Z ContainerImage
chart Helm de référence ghcr.io/tobby-fetch/charts/tobby:X.Y.Z HelmChart
binaires statiques (linux et windows, amd64 et arm64) ghcr.io/tobby-fetch/binaries/tobby:vX.Y.Z FileSet — un index, un fichier par plateforme, identique octet pour octet à l’asset de la release

examples/tobby.yaml est la recipe qui les emporte, avec des digests à remplacer.

  1. En zone connectée, vérifiez la release comme l’indique la page de vérification d’une release : cosign verify sur l’image, le chart et l’index des binaires, et slsa-verifier sur la provenance.
  2. Copiez examples/tobby.yaml, fixez metadata.version et les trois versions, et remplacez chaque digest par celui qu’indiquent les notes de release (ou crane digest <ref>:<version>).
  3. Signez la recipe cuisinée avec votre clé de qualification et publiez-la dans votre cookbook. La destination fait confiance à ses propres trust roots : une recipe signée par la seule clé du projet y est refusée — Tobby ne signe rien, et votre site admet une release de Tobby comme n’importe quel contenu (invariant n° 1).
  4. Ajoutez-la au Retriever de la zone, à côté de tobby-system.
  1. Synchronisez l’instance miroir (tobby sync --wait) : la nouvelle version est écrite sur le support avec tout le reste.
  2. Côté isolé, tobby media verify la montre poussable — ou bloquée sur sa signature si elle n’a pas été signée par une clé de confiance de la zone — et tobby media import la pousse dans la registry de zone.
  3. Déployez-la vous-même : helm upgrade avec le chart et l’image désormais dans la registry de zone, ou extrayez le binaire de votre plateforme du FileSet et remplacez celui de l’hôte. Lisez d’abord le changelog de la release : une version mineure peut demander un changement de configuration.

platforms peut ne garder que les binaires que votre zone exécute. L’index traverse alors partiel (FR-022) : c’est l’index d’origine, à son digest épinglé, qui liste des enfants que le support ne porte pas. La registry de Tobby l’accepte et sert les plateformes qui ont traversé (FR-042). Une registry de zone tierce qui valide les membres d’un index en refuse un partiel, et une zone isolée ne peut pas le compléter en allant chercher le reste : si c’est le cas de la vôtre, gardez les quatre plateformes, comme le fait l’exemple. Les enfants en plus coûtent quelques dizaines de mégaoctets.