Advanced OpenVox¶
Welcome to Advanced OpenVox. This self-paced course builds on Using OpenVox and focuses on authoring high-quality modules: development tooling, advanced language features, data encryption, and testing.
As in the introductory course, OpenVox runs the Puppet language — the code and modules you write are Puppet code. OpenVox provides the platform, agent, server, and tooling.
Before you start¶
This course assumes you are comfortable with the material in Using OpenVox:
resources, classes, modules, the Puppet language basics, Hiera, and the
r10k/control-repo workflow. You will want a Linux machine with OpenVox
installed where you can develop and test modules, plus git and a container
runtime (Podman or Docker) for the testing exercises.
Learning objectives¶
After working through this course, you should be able to:
- Install and use modern OpenVox module-development tooling (
jigandvoxbox) - Understand advanced Puppet language features — functions, iteration, lambdas, and templates
- Encrypt sensitive Hiera data with
hiera-eyaml - Develop module extensions: defined types, type aliases, custom facts, functions, types, providers, tasks, and plans
- Write and run smoke, unit, and acceptance tests for your modules
Course outline¶
- Module Development Tooling
- Encrypting Hiera Data
- Templates
- Functions
- Module Development
- Testing
- Hands-On Exercise
- Where to Go Next
Try it yourself
Throughout the course you will see Try it yourself boxes with commands and exercises to run on your own machine. None require a classroom or shared lab environment.
This course was originally developed as an instructor-led "Advanced Puppet" course by Onyx Point, Inc. (Copyright 2018) and adapted for self-paced OpenVox use by Sicura, Inc. (Copyright 2026). It is licensed under CC BY-SA 4.0.