{"id":22313339,"url":"https://github.com/nwops/puppet-debugger-demo","last_synced_at":"2026-07-03T06:02:50.054Z","repository":{"id":66969906,"uuid":"55377697","full_name":"nwops/puppet-debugger-demo","owner":"nwops","description":"A demo repo for showing off the puppet-repl","archived":false,"fork":false,"pushed_at":"2017-07-10T04:18:41.000Z","size":1683,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-16T19:54:51.280Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nwops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-04T01:15:05.000Z","updated_at":"2018-05-03T17:19:30.000Z","dependencies_parsed_at":"2023-02-28T17:47:35.049Z","dependency_job_id":null,"html_url":"https://github.com/nwops/puppet-debugger-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nwops/puppet-debugger-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwops%2Fpuppet-debugger-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwops%2Fpuppet-debugger-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwops%2Fpuppet-debugger-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwops%2Fpuppet-debugger-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nwops","download_url":"https://codeload.github.com/nwops/puppet-debugger-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwops%2Fpuppet-debugger-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35074237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T22:06:59.911Z","updated_at":"2026-07-03T06:02:50.047Z","avatar_url":"https://github.com/nwops.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*\n\n- [puppet-debugger-demo](#puppet-debugger-demo)\n  - [Adding new mdoules for this demo](#adding-new-mdoules-for-this-demo)\n  - [Setup for the demo](#setup-for-the-demo)\n    - [Isolated docker environment](#isolated-docker-environment)\n    - [Automated Install on your system](#automated-install-on-your-system)\n    - [Manual Install on your system](#manual-install-on-your-system)\n      - [Install the required gems](#install-the-required-gems)\n      - [Setup your puppet config](#setup-your-puppet-config)\n  - [Additiional Puppet Setup (Optional)](#additiional-puppet-setup-optional)\n    - [Create a site.pp](#create-a-sitepp)\n    - [Setup hiera](#setup-hiera)\n    - [Puppet Master command for cert setup](#puppet-master-command-for-cert-setup)\n  - [Demo Sections](#demo-sections)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n# puppet-debugger-demo\nA demo repo for showing off the puppet-debugger\n\n## Adding new mdoules for this demo\nThis demo project maintains a librarian-puppet Puppetfile.  If you want new modules just add them to the Puppetfile.\n\n1. Install librarian-puppet `gem install 'librarian-puppet'`\n2. install modules from the Puppetfile by running `librarian-puppet` \n\n## Setup for the demo\nIn order to run through this demo you need to setup a few things.\n\n1. Download this repo `git clone https://github.com/nwops/puppet-debugger-demo`\n2. Install through one of the methods below (docker, automated or manual)\n\nNote: unless you are using the docker method you will change your puppet.conf file and update some settings to use this\nproject directory as well as install some required gems.\n\n### Isolated docker environment\nIf you just want to try this out without messing anything up.  Download docker\nand then run the `docker_it.sh` script.  \n\nBecause the container links the project directory in the container you can write puppet\ncode, change hiera values or install new modules and the container will use the new files.\n\nThis is going to be the easiest thing to do without breaking your local environment.\n\n### Automated Install on your system\n`bash setup.sh` from this project directory\n\nWhile this is pretty simple, the setup script will install a few gems, add a local puppet cert and change a few\npuppet settings to for this demo project.  See the manual steps below for a quick summary of what the script does.\n\n### Manual Install on your system\n#### Install the required gems\nThis can be done in a few ways.  \n1. run `bundle install` from base project directory\n2. Install the gems manually\n  ```\n  gem install 'puppet-debugger'\n  gem install 'librarian-puppet'\n  ```\n\n#### Setup your puppet config\nEdit your puppet config file which can be located by running: `puppet config print config`\n\nThe settings below should point to the puppet-debugger-demo directory.\nYou will need to Swap out the `/Users/cosman/github` for your path.\n```\n[main]\nenvironment = production\nenvironmentpath = /Users/cosman/github/puppet-debugger-demo/environments\nbasemodulepath = /Users/cosman/github/puppet-debugger-demo/modules\nhiera_config = /Users/cosman/github/puppet-debugger-demo/hieradata/hiera.yaml\n```\n\n## Additiional Puppet Setup (Optional)\nUsing the puppet-debugger only requires installation of the gem.  However, to maximize the debugger's \ncapabilities you should setup your development environment further to work with puppet.\n\n### Create a site.pp\nIf you want to set topscope variables for use in the debugger you need to define them in\nyour site.pp file.  So just edit the following file and define whatever you like.  While this is for demo\npurposes, ideally you already have a site.pp in your puppet source code.\n\n`./puppet-debugger-demo/environments/production/manifests/site.pp`\n\n\n### Setup hiera\nThe data directory for hiera for this demo is hard coded so please update to match your system's\ndirectory path. There is no manipulation of data going on so this could also point to\nyour real hiera data as well.  Please edit `./puppet-debugger-demo/hieradata/hiera.yaml` to\nmatch your path.\n\n```yaml\n:yaml:\n  :datadir: '/Users/cosman/github/puppet-debugger-demo/hieradata/data'\n```\n\nBy default this will use the demo hiera data and config.  But there is nothing stopping you from\nusing your own hiera config.  Change the config in your puppet.conf file to use a different hiera config file and load up real data.\n\n`hiera_config = /Users/cosman/github/puppet-debugger-demo/hieradata/hiera.yaml`\n\n\n### Puppet Master command for cert setup\nIf this is your development machine and you need a puppet signed cert you can run `puppet cert generate hostname` as a hack to quickly create cert.\nThere are only a few use cases for doing this.\n\nOther option would be to run `puppet agent` and get a signed cert from your master.\n\nNone of this is required unless you are using a function like `node_encrypt` that uses\ncerts and private keys to encrypt data.\n\n\n## Demo Sections\nThe demo scripts are used to auto run a demo in a container.  To use these scripts just run:\n\n`bash ./demo_scripts/\u003cname_of_script\u003e.sh`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwops%2Fpuppet-debugger-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnwops%2Fpuppet-debugger-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwops%2Fpuppet-debugger-demo/lists"}