Skip to content

Commit e6e7f60

Browse files
committed
Update README with goals and reasons
1 parent 1f0f972 commit e6e7f60

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,21 @@
1111

1212
This repository contains an Puppet control repository skeleton to be used with [Puppet Bolt](https://www.puppet.com/docs/bolt/latest/bolt.html). It resembles usual [control repo structure](https://github.com/puppetlabs/control-repo) with some additions. E.g. it uses [PDK](https://www.puppet.com/docs/pdk/2.x/pdk.html) for validation and unit tests and [Beaker](https://github.com/voxpupuli/beaker) for acceptance tests.
1313

14-
Idea is to use this repository as a starting point to be adopted for your needs.
14+
Goals of creating this repository is to show the following:
15+
16+
1. How to use PDK to manage a Puppet control repo.
17+
1. How to manage Puppet modules with Puppet Bolt.
18+
1. How to enable and how to write unit tests for Puppet catalog entries.
19+
1. How to enable and how to write acceptance tests for Puppet roles.
20+
1. How to use Hiera for node classification.
21+
22+
Why this repository is organized in this specific way? There are reasons:
23+
24+
1. Main point is to be able to `run bolt plan run control_repo::apply` to apply on every agent with its correct role. I.e. you don't need to keep the `agent` -> `role` mapping in your head. This allows to do `hosts` (see `spec/hosts`) unit testing and node acceptance testing as well because Puppet knows which role is assigned to the node.
25+
1. Another point is to keep the repo structure as close to an usual control repo as possible. I.e. you should be able to drop this repo into an environment directory and your puppet server can deal with it. Though this point is not a hard requirement here.
26+
1. Goals above require things to be organized in a specific way too.
27+
28+
Note that big infrastructures with over than 100 servers are out of this repo scope. I'd say one shouldn't use push model for big infra.
1529

1630
## Setup
1731

0 commit comments

Comments
 (0)