Skip to content

0.7.11

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Oct 08:43
· 7 commits to main since this release
93c97e9
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`.