v0.1.0
Added
- Initial release: a gofmt-shaped formatter that emits kustomize's house YAML
style — two-space maps, indentless sequences, block style throughout, with
genuinely empty collections ({},[]) left in flow style. -l,-w,-dand stdin filter mode, with gofmt's exit-code conventions
(0clean,1files need formatting under-l,2operational error).- sops-encrypted files are detected structurally and skipped by default;
--include-sopsoverrides. - Key order is preserved. kustofmt is a style formatter and never reorders
fields. - A leading
---round-trips per file: Flux exports keep theirs, kustomize
output stays bare. - Output is verified before it is returned — it must decode to the same values
as the input and be a fixed point — which catches two defects in the
underlying YAML emitter rather than writing them to disk. - Files are replaced atomically, preserving mode and ownership.
- Built against kyaml v0.19.0, the library shipped by kustomize 5.6.0.
Compatibility
Which kustomize releases each version matches, generated from
compatibility.yaml:
| kustofmt | kyaml | kustomize CLI |
|---|---|---|
| 0.1.0 | v0.19.0 | 5.6.0 |
Style provenance
The output style is defined by the kyaml release this binary was built
against. kustofmt -version prints it.
| kustofmt | kyaml |
|---|---|
| 0.1.0 | v0.19.0 |
A kyaml bump that changes emitted style is a breaking change for kustofmt.