Releases: ariaci/kopia-provisioner
Releases · ariaci/kopia-provisioner
Deterministic and cross‑platform versioning system
🚀 kopia-provisioner 0.4.0 — Deterministic and cross‑platform versioning system
This release introduces a fully deterministic and cross‑platform versioning system, together with a brand‑new CI pipeline designed for clean, reproducible builds across all supported platforms.
✨ Highlights
- Integrated Windows resource generation directly into the build process using the embedded winres library.
- Added the new genversioninfo tool to generate .syso files during go generate without relying on external tools.
- Ensured
go generatealways runs in a host‑native environment without leakingGOOSorGOARCHfrom the build matrix. - Unified version metadata through the updated versioninfo package.
✨ New CI pipeline
- Introduces a clean, deterministic build workflow from scratch.
- Matrix builds produce consistent artifacts for all platforms.
- Source archives are generated via
git archivefor reproducible results. - A single SHA256SUMS file is generated in the release job.
- All artifacts are automatically published to GitHub Releases.
- Full ACT compatibility for local testing.
Deterministic Identity Processing
🚀 kopia-provisioner 0.3.0 — Deterministic Identity Processing
This release introduces a fully deterministic identity processing pipeline, ensuring stable and reproducible behavior across all runs.
✨ Highlights
- Deterministic ordering of all identities via a domain‑level
Comparemethod - Unified
IdentityEntrymodel for consistent handling across YAML and Kopia - Modern sorting using
slices.SortFunc - Accurate 1‑based line numbers from YAML (
UnmarshalYAML) and Kopia - Clean map‑to‑slice conversion through
MakeEntries() - Lays the groundwork for upcoming structured error handling
Password Provider DSL
kopia‑provisioner 0.2.0 — Password Provider DSL
This release introduces a flexible, provider‑based password DSL that allows passwords and password hashes to be sourced and transformed through a simple pipeline mechanism.
✨ New
- Added a provider‑based password DSL with support for:
file,env, andinlinebackends- chained provider pipelines using
> - password types:
plain,kopia-hash, andnil
- Added formal EBNF grammar to the documentation
- Added detailed README section with examples and semantics
🔧 Improvements
- Password handling is now fully deterministic and extensible
- Clear separation between backend (source) and type (interpretation)
niltype allows explicit “no password” semantics while still supporting provider chains
🧩 Examples
env>file>plain:DB_PWD_FILE
file>kopia-hash:secrets/.bob-pwdhash
inline>plain:supersecretpassword
nil:
📚 Documentation
The README now includes a complete specification of the DSL, including EBNF grammar and usage examples.