OpenVox Quickstart Guide Edit

As of now, OpenVox is effectively the same as the original Puppet™️ packages, aside from some minor build pipeline changes and package renaming. This means that aside from the installation, all Puppet™️ docs and tutorials will still be completely applicable.

Installation

Start by following the instructions on the install page and installing the puppet-agent package only. Then come back here to continue.

Explore the resources on your system

Now that you have OpenVox installed, explore around and take a look at how it sees your system. This command will show you how OpenVox represents the current state of a specific kind of resource, in this case the user resources. The output will be your first view of the Puppet™️ DSL (domain specific language).

# puppet resource user

Pick the name of one of your user resources and run again. This shows the same output, but scoped to a single user.

# puppet resource user binford2k

Try a similar command with the file resource and the name of a file on your computer, maybe /etc/hosts.

# puppet resource file /etc/hosts

Now you see how OpenVox sees resources as the type and title of the resource and then a list of attributes of that resource.

Just for fun, try using puppet resource to list all the file resources. This doesn’t work because unlike users which are easily enumerable, all the files on a modern computer are not computationally feasible to enumerate.

Manage state of a resource

You’ll notice that the output of the puppet resource commands is extremely thorough. That’s because it’s exhaustively describing all the state known about every resource. Generally speaking, you don’t really care about all the details. When you write Puppet™️ code, you only need to describe the things you do care about.

Let’s try that now. Create a manifest, or a source file of Puppet™️ code.

# hello.pp
file { '/tmp/foo':
  ensure  => file,
  owner   => 'root',
  mode    => '0664', # mode is a nerdy word for "permissions"
  content => "Hello there from OpenVox!\n",
}
$ puppet apply hello.pp

Now examine /tmp/foo and see that it meets all the specifications you described in your manifest, including the string of content.

Go forth and experiment!

As the OpenVox project matures, we will create more documentation, guides, and tutorials. For the time being though, now you’ll want to hop over to Puppet’s own documentation and go from there.

Please use the Connect resources in the menubar to engage with us and share any questions or thoughts you have!

Photo by Carter Yocham.