feat(update): drivers forge, template d'asset et checksum #19

Merged
thibaud-lclr merged 1 commit from refs/pull/19/head into release/v1.3 2026-04-14 13:26:41 +00:00
thibaud-lclr commented 2026-04-14 12:59:57 +00:00 (Migrated from gitea.lclr.dev)

Résumé

  • ajout des drivers gitea, gitlab et github pour déduire automatiquement l'endpoint latest
  • extension du modèle ReleaseSource et du manifeste (driver, repository, asset_name_template, checksum, auth prefix)
  • support d'un nommage d'asset configurable via template et support générique GOOS/GOARCH
  • vérification checksum via asset sidecar ({asset}.sha256 par défaut), avec mode obligatoire optionnel
  • ajout de hooks ValidateDownloaded et ReplaceExecutable pour validation métier et stratégie Windows
  • amélioration des erreurs d'asset manquant (liste des assets disponibles)

Validation locale

  • go test ./...

Test manuel / intégration proposé

  • valider sur un binaire consommateur que driver+repository fonctionne sans latest_release_url explicite
  • valider un flux avec checksum présent puis un flux checksum invalide pour vérifier le rejet
  • valider la stratégie Windows avec un hook ReplaceExecutable dédié côté application

Impact dépôts consommateurs

  • graylog-mcp / email-mcp: vérifier les manifests existants (compatibles) puis envisager la migration vers driver+repository
  • ajouter un test d'intégration d'update dans un dépôt consommateur pour couvrir checksum + hook de validation

Closes #8

## Résumé - ajout des drivers `gitea`, `gitlab` et `github` pour déduire automatiquement l'endpoint latest - extension du modèle `ReleaseSource` et du manifeste (`driver`, `repository`, `asset_name_template`, checksum, auth prefix) - support d'un nommage d'asset configurable via template et support générique GOOS/GOARCH - vérification checksum via asset sidecar (`{asset}.sha256` par défaut), avec mode obligatoire optionnel - ajout de hooks `ValidateDownloaded` et `ReplaceExecutable` pour validation métier et stratégie Windows - amélioration des erreurs d'asset manquant (liste des assets disponibles) ## Validation locale - `go test ./...` ## Test manuel / intégration proposé - valider sur un binaire consommateur que `driver+repository` fonctionne sans `latest_release_url` explicite - valider un flux avec checksum présent puis un flux checksum invalide pour vérifier le rejet - valider la stratégie Windows avec un hook `ReplaceExecutable` dédié côté application ## Impact dépôts consommateurs - `graylog-mcp` / `email-mcp`: vérifier les manifests existants (compatibles) puis envisager la migration vers `driver+repository` - ajouter un test d'intégration d'update dans un dépôt consommateur pour couvrir checksum + hook de validation Closes #8
Sign in to join this conversation.
No description provided.