Repository navigation
Releases: vynil-org/vynil
Releases · vynil-org/vynil
Release list
0.7.11
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`.
0.7.10
Prepare 0.7.10 release that just bump vynil-core to 0.7.7
0.7.9
(chore) set 0.7.9 version in package too
0.7.9-alpha.3
(chore) update version
0.7.9-alpha.2
chore(deps): bump actions/checkout from 4 to 7 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
0.7.9-alpha.1
feat: kubectl-vynil support --context (kubeconfig context) Add a global --context flag to kubectl-vynil, mirroring `kubectl --context`. Accepted before or after the subcommand; defaults to the current context and is ignored in --server-url direct mode. New transport::make_client(context) helper: loads the named context via Config::from_kubeconfig when set, otherwise keeps Client::try_default() (in-cluster behaviour preserved). Threaded through every client-creation site (scan, upgrade, instance-scan, diagnostic aggregation) and the default-namespace resolution, which now follows the selected context. Also bumps the workspace version to 0.7.9-alpha.1.