Update Article “2023-04-12-un-outil-sans-daemon-pour-gérer-ses-artefacts-de-build”
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Quentin 2023-04-13 08:29:41 +00:00
parent 30ca120b19
commit fddeb0c9c8
1 changed files with 6 additions and 5 deletions

View File

@ -224,16 +224,17 @@ _On peut en apprendre plus sur les target triple de LLVM dans ce billet de blog
Déjà le préfix de chemin `_releases` ne fait plus sens dans notre cas : il était là pour ne pas rentrer en conflit avec le géérateur de site statique (d'où le underscore), et parce que les releases étaient partagées avec le site web. Dans `download.deuxfleurs.org` on ne va stocker que des releases, donc ça n'a plus grand sens.
Pour autant, garder un préfixe, ça a du sens, parce qu'il va décrire comment la hiérarchie sous-jacente va se constituer, ainsi que de permettre de migrer plus tard vers de nouvelles hiérarchies.
Pour autant, garder un préfixe, ça a du sens, parce qu'il va décrire comment la hiérarchie sous-jacente va se constituer, ainsi que de permettre de migrer plus tard vers de nouvelles hiérarchies.
Se pose aussi la question du triple LLVM, c'est ce qui est utilisé par Rust, mais ce n'est jamais ce qu'on affiche, à la place on utilise la notation du projet Go, notation aussi utilisée par le projet Docker. Au passage, je la trouve plus simple à comprendre car elle ne contient qu'une combinaison d'un OS et d'une architecture. Mais se pose aussi la question de ce qui se passe si on prévoit de supporter une combinaison qui n'existe pas pour Go. Et en même temps, la notation LLVM est complexe à lire et contient des informations que je considère comme des détails internes : ainsi notre choix d'utiliser musl est lié à notre choix de compiler en interne, qui est lié à l'idée qu'une fois l'OS et l'architecture identifiée, on veut que Garage tourne. Bref, tout ça me fait penser qu'on devrait adopter la notation de Go dans une démarche de penser à l'utilisateur final.
Donc on pourrait avoir ces URL :
Donc on pourrait avoir ces URL :
```
<host>/df-dist-v1/<name>/<tag>/<go_os>/<go_arch>/<binary>
<host>/df-dist-v1/<name>/<tag>/manifest
<host>/df-dist-v1/<name>/list
list tags: <host>/df-dist-v1/<name>
list arch: <host>/df-dist-v1/<name>/<tag>
blobs: <host>/df-dist-v1/<name>/<tag>/<go_os>/<go_arch>/<binary>
```