You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Prépare 0.7.11 (#299)
# 0.7.11 (depuis 0.7.10)
## Nouveautés
### Lint du rendu pour `agent package test`
- Voie lint : le moteur vynil reste neutre, le script de la distribution
porte la politique. Flags `--lint-dir` et `--schemas-dir`, validation de
schéma (CRD, core) exposée au script Rhai (#270).
- Bibliothèque Rhai `render_lint` : 60 vérifications portées de
kube-linter (pod, workload, rbac, network, schéma), validées par un
oracle de comparaison (#271).
- Boucle de correction : un constat porte un `fix` (automatique) ou un
`hint` (humain/LLM). Nouveaux flags `--fix`, `--dry-run`, `--fix-rounds
N` (#273).
- Les suppressions `vynil-lint-disable rhai/empty-catch` couvrent
désormais toute la plage try/catch (#289).
### Tests de paquets
- Les asserts d'un Test/TestSet sont templatés sur le **vrai contexte
Rhai** (`values`, `tenant`, `cluster`, `defaults`, `controller`…) au
lieu d'un contexte réduit (#228).
- `instance.nodes` permet de mocker les Nodes (donc de faire varier
`cluster.ha`), et `instance.config_dir` est disponible (#228).
### Ownership vynil-org (#268)
- Le paquet `vynil` livre lui-même le @JukeBox `vynil` (source
`ghcr.io/vynil-org/vynil`, schedule `0 3 * * *`) : la migration de la
source est automatique.
- Images publiées uniquement sur `ghcr.io/vynil-org` (Docker Hub
abandonné) ; le bootstrap pose la graine du JukeBox et tire agent/unpack
depuis ghcr.
## Changements
- Bump `vynil-core` 0.8.0 (#269). Impacts : `base64_decode` renvoie un
`Result` (un auth base64 malformé dans un secret monté sort en erreur,
exit 4, au lieu de paniquer) ; `set_client_name` obligatoire avant toute
requête.
- Toolchain et CI alignés sur Rust 1.99.0 (+ correctifs clippy).
- Harnais d'analyse statique strict sur tout le workspace : `pedantic`
refusé, `nursery` en avertissement, `unwrap`/`expect` interdits en code
produit.
- `handlebars_misc_helpers` : features par défaut désactivées (#285).
## Corrections
- **Image agent** : client PostgreSQL 18 (dépôt PGDG) à la place du 17,
`pg_dump` refusait de sauvegarder un serveur PG18 (#283, issue #46).
- `write_atomic` (`--fix`) conserve les permissions du `package.yaml` et
suit les liens symboliques (#286, #279).
- `<kind> scan` : message explicite quand le namespace n'existe pas
(#290).
- `parent.toml` (agent, operator, server) resynchronisés : le build de
l'image agent échouait (dépendance `jsonschema` manquante) (#275).
## CI / outillage
- Nouveau job « Parent manifests » : détecte toute dérive des
`parent.toml` (#275) ; le test Docker Builds se déclenche aussi sur les
manifestes.
- `specdd lint` lancé en CI (#284).
- Dependabot : une seule entrée cargo pour le workspace (#295), groupe
`kube` + `k8s-openapi` (#287).
## Documentation / specs
- Workflow SpecDD + TTD : specs `.sdd` complètes pour tous les crates
(common, server, operator, kubectl-vynil, agent) et les scripts Rhai,
traduites en français.
- Doc : le dernier fix de `--fix-rounds` n'est jamais mesuré (#288).
## Dépendances
actix-web 4.17.0, opentelemetry 0.33.1, prometheus-client 0.25.1, base64
0.23.1, anyhow 1.0.104, http 1.5.0, thiserror 2.0.21, actions/setup-node
7, async-trait 0.1.92, ajout de `jsonschema` et `regex`.