Years ago there were a lot of docs about how to setup Puppet to allow someone to build modules outside having to have a master/client setup using puppet apply.
I am trying to figure out the very cryptic world of spec/rspec, as it seems to not be documented very well anywhere for anyone other than someone that already knows it, In doing so I don't want to be able to develop in my home directory in a server versus having to develop modules and test with rspec against a full puppet server configuration.
So far I have found little bits and pieces around, but nothing definitive or documented well for building something of this nature. The best I found so far were pre-built Ubuntu Docker containers or Vagrant builds. I don't have access to either presently or the time to build out a server to handle hosting either.
Does anyone have a guide to setting up a stand-alone puppet client for development. There used to be a
rspec-puppet.com/setup page and that is what is linked from inside the documentation, but the page is gone.
What I have so far is:
1. .Install puppet-agent to the host as root.
2. Setup paths to use the Ruby configuration from the puppet-agent so that the any gem add-ons are compatible with the version of the puppet-agent RPM.
3. Install puppetlabs-stdlib, rspec-puppet and any dependencies they require.
When I have done a puppet module generate <name> and a rspec-puppet-init, I create a basic test to ensure the module compiles, as noted on the rspec-puppet Github page
https://github.com/rodjek/rspec-puppet, That fails saying it can find compile.
describe 'mymodule' do
end
Any other tests that "should" work don't. either.
So in modules/test/manifests/init.pp I have:
class test {
package { 'somepackage':
ensure => present,
}
}
And my modules/test/spec/class/init_spec.rb has
require 'spec_helper'
describe 'test' do
end
So since this seems to be non-functional in my puppet development environment, which is a copy of my prod, I want to set it up fresh. When I tried in my home directory all i got were errors.