Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/circa10a/local-puppet-dev
Docker setup for testing puppet manifests
https://github.com/circa10a/local-puppet-dev
configuration-management docker docker-compose hacktoberfest puppet puppet-modules
Last synced: 20 days ago
JSON representation
Docker setup for testing puppet manifests
- Host: GitHub
- URL: https://github.com/circa10a/local-puppet-dev
- Owner: circa10a
- License: mit
- Created: 2020-08-09T02:19:25.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-18T03:53:28.000Z (29 days ago)
- Last Synced: 2024-10-21T10:25:10.265Z (26 days ago)
- Topics: configuration-management, docker, docker-compose, hacktoberfest, puppet, puppet-modules
- Language: Puppet
- Homepage:
- Size: 22.5 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# local-puppet-dev
Simple docker setup for testing puppet modules
- [local-puppet-dev](#local-puppet-dev)
* [Usage](#usage)
+ [Start standalone puppet server](#start-standalone-puppet-server)
+ [Execute puppet agent](#execute-puppet-agent)
+ [Puppetfile](#puppetfile)
+ [Modules](#modules)
+ [Manifests](#manifests)## Usage
### Start standalone puppet server
```bash
docker compose up -d
```### Execute puppet agent
```bash
# Daemon that executes the agent every 15s
./run_puppet_agent.sh
```### Puppetfile
Puppet module dependencies should be added to the `Puppetfile`. Modules will be installed when you launch the `./run_puppet_agent.sh` daemon.
### Modules
See [module structure docs](https://puppet.com/docs/puppet/latest/modules_fundamentals.html)
- The `./modules` directory is the source for all custom puppet modules.
- These are mapped into `/etc/puppetlabs/code/modules` in the puppet container.
- Modules installed via the `Puppetfile` are installed in `/etc/puppetlabs/code/environments/production/modules`
- Changes made are reflected instantly.```text
modules
└── my_module
├── data
│ └── common.yaml
├── files
│ └── sample.json
├── hiera.yaml
├── lib
│ ├── facter
│ └── puppet
├── manifests
│ ├── file_loop.pp
│ └── init.pp
└── templates
└── sample_template.json.epp
```### Manifests
The entrypoint(`site.pp`) `contains` our custom modules, therefore executing them.
- The `manifests` directory is mapped into `/etc/puppetlabs/code/environments/production/manifests` in the puppet container.
```text
manifests
└── site.pp
```