🚧 Status: Concept Phase — This project is in the early concept and design phase. Nothing is implemented yet. We are currently collecting ideas and defining the scope. Feedback, suggestions, and ideas are very welcome — feel free to open an issue or start a discussion.
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.