Fast, Git-native Puppet environment deployment tool written in Go.
openvox-code replaces r10k and g10k with a simpler, more focused approach:
- No Ruby — single static Go binary, no runtime dependencies
- No Puppetfile — clean YAML configuration instead of Ruby DSL
- Git-first — bare clone caching, parallel fetches, atomic deploys
- Offline-capable — decouple mirroring from deployment
- OCI output — build container images with Puppet code for use with openvox-operator
# Fetch and deploy all environments
openvox-code sync --config openvox-code.yamlMinimal configuration (openvox-code.yaml):
cachedir: /var/cache/openvox-code
environmentdir: /etc/puppetlabs/code/environments
sources:
- url: https://github.com/example/control-repo.git
branches: allopenvox-code sync Fetch and deploy all environments
openvox-code mirror Only fetch/cache repos, no deploy
openvox-code deploy Deploy from cache (no network)
openvox-code diff Show what would change
openvox-code validate Validate config and check all refs reachable
openvox-code build Build OCI image with environments
openvox-code lock Generate/update lockfile
Full documentation is available at slauger.github.io/openvox-code.
Apache License 2.0 — see LICENSE for details.