Skip to content

Commit fe9da26

Browse files
committed
Lints
1 parent c1e81eb commit fe9da26

File tree

3 files changed

+48
-57
lines changed

3 files changed

+48
-57
lines changed

README.md

+36-36
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ From this repository you can build your IT infrastructure and manage it via Pupp
1414

1515
PSICK is a **Puppet control-repo** with support for different tools to manage systems provisioning:
1616

17-
- A modern, opinionated, general purpose, full featured, reusable, **customisable** control-repo
18-
- Support for multiple ways to **test** local Puppet code (unit, integration, acceptance tests on multiple targets)
19-
- Support for different CI solutions (Gitlab, GitHub, CD4PE...)
20-
- Usable in **every Puppet** setup, based on Puppet Enterprise, Open Source, with or without Foreman
17+
- A modern, opinionated, general purpose, full featured, reusable, **customisable** control-repo
18+
- Support for multiple ways to **test** local Puppet code (unit, integration, acceptance tests on multiple targets)
19+
- Support for different CI solutions (Gitlab, GitHub, CD4PE...)
20+
- Usable in **every Puppet** setup, based on Puppet Enterprise, Open Source, with or without Foreman
2121

2222
This control repo, among the other third party modules, uses the companion [psick](https://github.com/example42/puppet-psick) module which provides:
2323

24-
- A robust interface for Hiera driven **nodes classification**
25-
- Ready to use profiles for common system **baselines**
26-
- Support for application specific **psick profiles**, via the [psick_profile](https://github.com/example42/puppet-psick_profile)
27-
- Easy integration with common **third party component** modules
24+
- A robust interface for Hiera driven **nodes classification**
25+
- Ready to use profiles for common system **baselines**
26+
- Support for application specific **psick profiles**, via the [psick_profile](https://github.com/example42/puppet-psick_profile)
27+
- Easy integration with common **third party component** modules
2828

2929
Sample Hiera data for the PSICK control-repo is available via the [psick-hieradata](https://github.com/example42/psick-hieradata) module.
3030

@@ -83,52 +83,52 @@ Notes:
8383

8484
PSICK has the common set of files and directories of a Puppet control-repo:
8585

86-
- ```environment.conf``` - The Puppet environment configuration file
87-
- ```manifests/``` - Directory with the main manifests. Here we have just ```site.pp```
88-
- ```Puppetfile``` - File that defines the external modules to add via r10k
89-
- ```modules/``` - Directory where modules defined in Puppetfile are placed (it's .gitignored)
90-
- ```hiera.yaml``` - Hiera 5 environment configuration file. An equivalent Hiera 3 file is ```hiera3.yaml``` (was linked to ```/etc/puppetlabs/puppet/hiera.yaml```)
91-
- ```hieradata/``` - This directory (or one called ```data```) is usually used to store Hiera data, when is decided to keep Hiera data inside the control-repo. Since version 0.9.3 PSICK's default datadir is loaded from a module in ```modules/hieradata/data```.
86+
- ```environment.conf``` - The Puppet environment configuration file
87+
- ```manifests/``` - Directory with the main manifests. Here we have just ```site.pp```
88+
- ```Puppetfile``` - File that defines the external modules to add via r10k
89+
- ```modules/``` - Directory where modules defined in Puppetfile are placed (it's .gitignored)
90+
- ```hiera.yaml``` - Hiera 5 environment configuration file. An equivalent Hiera 3 file is ```hiera3.yaml``` (was linked to ```/etc/puppetlabs/puppet/hiera.yaml```)
91+
- ```hieradata/``` - This directory (or one called ```data```) is usually used to store Hiera data, when is decided to keep Hiera data inside the control-repo. Since version 0.9.3 PSICK's default datadir is loaded from a module in ```modules/hieradata/data```.
9292

9393
Some extra directories are added in PSICK for integrations and tools:
9494

95-
- ```bin/``` - Directory containing tools and scripts for various Puppet related operations
96-
- ```docs/``` - Directory with extra docs
97-
- ```site/``` - An additional modules directory, with local profiles and tools.
98-
- ```docker/``` - Files used for building Docker images for multiple OS
99-
- ```vagrant/``` - Various Vagrant environments where is possible to test local Puppet code
100-
- ```.gitlab-ci.yaml``` - (Sample) GitLab Continuous Integration pipeline for code testing and deployment
95+
- ```bin/``` - Directory containing tools and scripts for various Puppet related operations
96+
- ```docs/``` - Directory with extra docs
97+
- ```site/``` - An additional modules directory, with local profiles and tools.
98+
- ```docker/``` - Files used for building Docker images for multiple OS
99+
- ```vagrant/``` - Various Vagrant environments where is possible to test local Puppet code
100+
- ```.gitlab-ci.yaml``` - (Sample) GitLab Continuous Integration pipeline for code testing and deployment
101101

102102
### Compatibility
103103

104104
PSICK compatible with every modern enough Puppet setup:
105105

106-
- Puppet OSS 4.9 or later.
107-
- Puppet Enterprise 2017.1.0 or later
106+
- Puppet OSS 4.9 or later.
107+
- Puppet Enterprise 2017.1.0 or later
108108

109109
### Documentation
110110

111111
PSICK is full of more or less hidden stuff, which ease a lot Puppet code development, testing and deployment. Here is where you can find more info:
112112

113113
General Puppet documentation:
114114

115-
- [Introduction to Puppet](docs/puppet.md) - A very basic introduction to Puppet
116-
- [Hiera essentials](docs/hiera.md) - Basic Hiera concepts
117-
- [Hiera eyaml](docs/hiera_eyaml.md) - An overview on how to use hiera-eyaml
118-
- [Trusted Facts](docs/trusted_facts.md) - How to set and use trusted facts
119-
- [External Facts](docs/external_facts.md) - How to set and use external facts
120-
- [Puppet Enterprise Console](docs/pe_console.md) - An overview on the Puppet Enterprise console
115+
- [Introduction to Puppet](docs/puppet.md) - A very basic introduction to Puppet
116+
- [Hiera essentials](docs/hiera.md) - Basic Hiera concepts
117+
- [Hiera eyaml](docs/hiera_eyaml.md) - An overview on how to use hiera-eyaml
118+
- [Trusted Facts](docs/trusted_facts.md) - How to set and use trusted facts
119+
- [External Facts](docs/external_facts.md) - How to set and use external facts
120+
- [Puppet Enterprise Console](docs/pe_console.md) - An overview on the Puppet Enterprise console
121121

122122
About this control-repo:
123123

124-
- [Control-repo structure](docs/structure.md) - A description of the control-repo structure and most important paths
125-
- [Control-repo logic](docs/use.md) - An overview of the design choices and the logic of this control repo.
126-
- [Prerequisites](docs/prerequisites.md) - A more detailed view of the prerequisites needed to fully use the control-repo
127-
- [Noop Mode](docs/noop_mode.md) - An overview on how to manage noop and no-noop with PSICK
128-
- [Vagrant Integration](docs/vagrant.md) - How to use Vagrant to test the control-repo during development
129-
- [Docker Integration](docs/docker.md) - How to use Docker to test Puppet code and to build images based on the existing Puppet code
124+
- [Control-repo structure](docs/structure.md) - A description of the control-repo structure and most important paths
125+
- [Control-repo logic](docs/use.md) - An overview of the design choices and the logic of this control repo.
126+
- [Prerequisites](docs/prerequisites.md) - A more detailed view of the prerequisites needed to fully use the control-repo
127+
- [Noop Mode](docs/noop_mode.md) - An overview on how to manage noop and no-noop with PSICK
128+
- [Vagrant Integration](docs/vagrant.md) - How to use Vagrant to test the control-repo during development
129+
- [Docker Integration](docs/docker.md) - How to use Docker to test Puppet code and to build images based on the existing Puppet code
130130

131131
Managing changes:
132132

133-
- [Git tasks](docs/git.md) - An overview on how to use Git
134-
- [Change Process](docs/change_process.md) - A step by step guide on how to manage changes in Puppet code
133+
- [Git tasks](docs/git.md) - An overview on how to use Git
134+
- [Change Process](docs/change_process.md) - A step by step guide on how to manage changes in Puppet code

docs/docker.md

+3-5
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,9 @@ Available images are: `ubuntu-12.04`, `ubuntu-14.04`, `ubuntu-16.04`, `centos-7`
3939

4040
It's possible to use custom ones by:
4141

42-
- Setting on `Hiera` in the ```"role".yaml``` files the parameter ```docker::username``` (example42 by default)
43-
44-
- Build custom ```puppet-agent``` images
45-
46-
- Push them to our registry for use outside our local machine
42+
- Setting on `Hiera` in the ```"role".yaml``` files the parameter ```docker::username``` (example42 by default)
43+
- Build custom ```puppet-agent``` images
44+
- Push them to our registry for use outside our local machine
4745

4846

4947
### Building Docker images

docs/structure.md

+9-16
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,16 @@
22

33
The common elements of a `control-repo` are:
44

5-
- The ```manifests``` directory where are placed the first files that the `Puppet Server` parses when compiling catalogs for clients. Here we typically have the ```site.pp``` file (but other manifests with different names can be seamlessly added) where we can set [Top scope variables](https://docs.puppet.com/puppet/latest/lang_scope.html), [Resource Defaults](https://docs.puppet.com/puppet/latest/lang_defaults.html), and eventually have [Node statements](https://docs.puppet.com/puppet/latest/lang_node_definitions.html) to define what classes should be included in our nodes (nodes classification can be done in several different ways, using the ```node``` statement is just one of them, which, incidentally, is not used here).
6-
7-
- The ```hieradata``` or ```data``` directory which contains [Hiera](https://docs.puppet.com/hiera/latest/) data files. The name of the directory is completely arbitrary and must match what's defined in ```hiera.yaml```. On some `control-repos` we may not have such a directory (in the rare case `Hiera` is not used, or uses external backends or its data is stored in a separated repository). In our case `Hiera` is used with the popular **Eyaml backend**, which allows storage of data in `YAML` files and the possibility to encrypt some key. The `Hiera` data files in `YAML` format are placed in the ```data``` directory.
8-
9-
- The ```modules``` directory contains `Puppet modules`. Typically we don't place themselves directly in our `control-repo` but define them in the ```Puppetfile``` and then deploy them with tools like [r10k](https://github.com/puppetlabs/r10k) or [Librarian Puppet](https://github.com/voxpupuli/librarian-puppet).
10-
11-
- Besides the ones in public modules, we need to create custom classes where we customize resources to fit our needs. In this `control-repo` they are placed in the ```site``` directory, here we have a `profile` module with all our profiles (the `Puppet classes` that actually manage different kind of services and software), and a `tools` module, mostly containing `Puppet` [defines](https://docs.puppet.com/puppet/latest/lang_defined_types.html) used in our profiles.
12-
13-
- The ```environment.conf``` file, which configures our environment: where the modules are placed, the caching timeout and eventually a script that returns a custom configuration version.
5+
- The ```manifests``` directory where are placed the first files that the `Puppet Server` parses when compiling catalogs for clients. Here we typically have the ```site.pp``` file (but other manifests with different names can be seamlessly added) where we can set [Top scope variables](https://docs.puppet.com/puppet/latest/lang_scope.html), [Resource Defaults](https://docs.puppet.com/puppet/latest/lang_defaults.html), and eventually have [Node statements](https://docs.puppet.com/puppet/latest/lang_node_definitions.html) to define what classes should be included in our nodes (nodes classification can be done in several different ways, using the ```node``` statement is just one of them, which, incidentally, is not used here).
6+
- The ```hieradata``` or ```data``` directory which contains [Hiera](https://docs.puppet.com/hiera/latest/) data files. The name of the directory is completely arbitrary and must match what's defined in ```hiera.yaml```. On some `control-repos` we may not have such a directory (in the rare case `Hiera` is not used, or uses external backends or its data is stored in a separated repository). In our case `Hiera` is used with the popular **Eyaml backend**, which allows storage of data in `YAML` files and the possibility to encrypt some key. The `Hiera` data files in `YAML` format are placed in the ```data``` directory.
7+
- The ```modules``` directory contains `Puppet modules`. Typically we don't place themselves directly in our `control-repo` but define them in the ```Puppetfile``` and then deploy them with tools like [r10k](https://github.com/puppetlabs/r10k) or [Librarian Puppet](https://github.com/voxpupuli/librarian-puppet).
8+
- Besides the ones in public modules, we need to create custom classes where we customize resources to fit our needs. In this `control-repo` they are placed in the ```site``` directory, here we have a `profile` module with all our profiles (the `Puppet classes` that actually manage different kind of services and software), and a `tools` module, mostly containing `Puppet` [defines](https://docs.puppet.com/puppet/latest/lang_defined_types.html) used in our profiles.
9+
- The ```environment.conf``` file, which configures our environment: where the modules are placed, the caching timeout and eventually a script that returns a custom configuration version.
1410

1511

1612
Besides these common locations, in our `control-repo` we have also:
1713

18-
- The ```vagrant``` directory contains different `Vagrant` environments with the relevant toolset that can be used to test the same `control-repo`. They are fully customizable by editing the ```config.yaml``` file in each `Vagrant` environment.
19-
20-
- Files for building `Docker images` locally are under the ```docker``` directory.
21-
22-
- Documentation is stored under ```docs```
23-
24-
- The ```bin``` directory contains several scripts for various purposes.
14+
- The ```vagrant``` directory contains different `Vagrant` environments with the relevant toolset that can be used to test the same `control-repo`. They are fully customizable by editing the ```config.yaml``` file in each `Vagrant` environment.
15+
- Files for building `Docker images` locally are under the ```docker``` directory.
16+
- Documentation is stored under ```docs```
17+
- The ```bin``` directory contains several scripts for various purposes.

0 commit comments

Comments
 (0)