The uv/python ENC script fails its first-invocation dependency resolution on
fresh compiler pods (exits 135/2), which breaks puppet agent catalog
compilation. encapic is a stdlib-only Go replacement with no runtime
dependency resolution.
- Add encapic CLI: fetch the cobbler-wire ENC document from encapi
(ENCAPI_URL override, in-cluster default compiled in) and reshape it to
match the python script byte-for-byte (classes to list, enc_role/enc_env
parameters, environment dropped when testing), exiting non-zero on any
HTTP/parse failure so the puppet exec ENC fails safe.
- Hand-parse the small fixed cobbler-wire YAML and hand-emit the output using
the standard library only.
- Add table-driven normalisation tests, httptest 200/404/500/timeout tests,
and a golden-output test.
- Add Makefile (build/test/lint/fmt + patch/minor/major with version
ldflags), .gitignore, .pre-commit-config.yaml, and Woodpecker pipelines
(build/test/pre-commit on pull_request; release on v* tags).