This is a clone of the template control repository that has the minimum amount of scaffolding to make it easy to get started with r10k or Puppet Enterprise's Code Manager.
This repo is design to give an example of how devices could fit into existing infrastructure code, leverage hiera to define device params with merging, scale to multiple device types/locations, and still use a roles and profiles methodology.
NOTE: While this repo contains a modules directory, ideally that would be a separate module and is placed here for a holistic view only.
control-repo/
├── data/ # Hiera data directory.
│ ├── nodes/ # Node-specific data goes here.
│ └── common.yaml # Common data goes here.
├── manifests/
│ └── site.pp # The "main" manifest that contains a default node definition.
├── scripts/
│ ├── code_manager_config_version.rb # A config_version script for Code Manager.
│ ├── config_version.rb # A config_version script for r10k.
│ └── config_version.sh # A wrapper that chooses the appropriate config_version script.
├── site/ # This directory contains site-specific modules and is added to $modulepath.
│ ├── profile/ # The profile module.
│ └── role/ # The role module.
├── LICENSE
├── Puppetfile # A list of external Puppet modules to deploy with an environment.
├── README.md
├── environment.conf # Environment-specific settings. Configures the moduelpath and config_version.
└── hiera.yaml # Hiera's configuration file. The Hiera hierarchy is defined here.
blah