This project is still in a prototype development stage.
Vlad's Puppet Control Repo.
Contains various executable scripts.
Contains the hiera data files. It's intended to serve as a base only, for public data, with sane defaults. It should be overwritten or amended with data from private sources.
Contains organization-specific roles and profiles. This directory is specified as a modulepath in environment.conf Designing Puppet – Roles and Profiles.
Contains Puppet's manifests:
site.pp
: the main manifest
Contains test definitions.
Contains private environment variables.
This file can override several settings whenever the Puppet master is serving nodes assigned to that environment. Config Files: environment.conf
This file contains global variables. All variables declared here are public
This file configures Hiera per environment
r10k needs this file to figure out what component modules you want from the Forge. The result is a modules directory containing all the modules specified in this file, for each environment/branch. The modules directory is listed in environment.conf's modulepath.
- Vagrant: https://www.vagrantup.com/
- Docker: https://www.docker.com/
- RVM: https://rvm.io/
- GIT: https://git-scm.com/
cd dist/profile
bundle install
cd dist/profile
bundle exec rake test
Run default set for the first time (default is just the base profile):
PUPPET_INSTALL_TYPE=agent ORDERING=manifest BEAKER_destroy=no bundle exec rake integration
Subsequent runs:
PUPPET_INSTALL_TYPE=agent ORDERING=manifest BEAKER_destroy=no BEAKER_provision=no bundle exec rake integration
Last run (will destroy the machines):
PUPPET_INSTALL_TYPE=agent ORDERING=manifest BEAKER_provision=no bundle exec rake integration
Complete example:
PUPPET_INSTALL_TYPE=agent ORDERING=manifest BEAKER_destroy=no BEAKER_provision=yes BEAKER_debug=yes BEAKER_set=default BEAKER_role=none bundle exec rake integration
Other commands:
- List nodes:
bundle exec rake beaker_nodes
The following environment variables can be used to influence how beaker works:
BEAKER_role
: choose a role fromspec/acceptance/support/roles/*.yml
BEAKER_set
: choose a nodeset fromspec/acceptance/nodesets/*.yml
defaults todefault
BEAKER_setfile
: specify a nodeset using a full pathBEAKER_provision
: set tono
to re-use existing VMsBEAKER_keyfile
: specify alternate SSH keyBEAKER_debug
: set to any value to enable beaker debug loggingBEAKER_color
: set tono
to disable color outputBEAKER_destroy
: set tono
to keep the VMs after the test run. Set toonpass
to keep the VMs around only after a test failure.ORDERING
: How unrelated resources should be ordered when applying a catalog (https://docs.puppetlabs.com/puppet/latest/reference/configuration.html#ordering)PUPPET_INSTALL_TYPE
: specify puppet type (one of: pe, foss, agent)PUPPET_INSTALL_VERSION
: specify the version to install
cd dist/profile
bundle exec rake test_clean
See CONTRIBUTING.md file.
Licensed under the Apache License, Version 2.0. See LICENSE file.