Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 21:00
· 20 commits to main since this release
v0.1.0
395b81e

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, -d and stdin filter mode, with gofmt's exit-code conventions
    (0 clean, 1 files need formatting under -l, 2 operational error).
  • sops-encrypted files are detected structurally and skipped by default;
    --include-sops overrides.
  • 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.