{"id":16445196,"url":"https://github.com/dgapitts/vagrant-puppet","last_synced_at":"2026-06-10T02:31:37.330Z","repository":{"id":145829546,"uuid":"333974325","full_name":"dgapitts/vagrant-puppet","owner":"dgapitts","description":"vagrant-puppet training project","archived":false,"fork":false,"pushed_at":"2021-01-31T14:19:02.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-26T08:32:54.842Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dgapitts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-01-28T22:36:13.000Z","updated_at":"2021-01-31T14:17:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"10076938-d521-430f-8cd0-1bca2dddd2d4","html_url":"https://github.com/dgapitts/vagrant-puppet","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/dgapitts/vagrant-puppet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgapitts%2Fvagrant-puppet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgapitts%2Fvagrant-puppet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgapitts%2Fvagrant-puppet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgapitts%2Fvagrant-puppet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgapitts","download_url":"https://codeload.github.com/dgapitts/vagrant-puppet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgapitts%2Fvagrant-puppet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285359022,"owners_count":27158216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-20T02:00:05.334Z","response_time":54,"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-10-11T09:43:37.393Z","updated_at":"2025-11-20T02:03:13.172Z","avatar_url":"https://github.com/dgapitts.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Summary\n\nTraining environment for learning how to work with puppet https://www.linkedin.com/learning/learning-puppet\n\nThis repo can be used in conjunction with this training exercise to deploy postgres docker containers via puppet https://github.com/dgapitts/puppet-control-repo\n\n\n### v0.02 r10k setup and linking to remote github repo\n\nUpdated provision.sh shell script\n\n```\n  # v0.02 r10k setup and linking to remote github repo\n\n  echo '*** r10k setup and linking to remote repo https://github.com/dgapitts/puppet-control-repo.git'\n  mkdir /etc/puppetlabs/r10k\n  cat /vagrant/r10k.yaml \u003e /etc/puppetlabs/r10k/r10k.yaml\n  cat /etc/puppetlabs/r10k/r10k.yaml\n  echo '*** exec r10k deploy environment -p'\n  r10k deploy environment -p\n  echo '*** show code deployed i.e. initial README.md file'\n  cat /etc/puppetlabs/code/environments/production/README.md\n  echo '*** show /etc/puppetlabs/code/environments/production/.git/config ' \n  cat /etc/puppetlabs/code/environments/production/.git/config \n```\n\nFor more details please see [build_logs/v0.02_r10k_setup_linking_remote_github_repo.log](build_logs/v0.02_r10k_setup_linking_remote_github_repo.log)\n\n\n\n## v0.01 initial setup of puppetmaster server (with r10k gem/module) by provision.sh\n\n\nA few points to highlight\n* My ubuntu dev environment (only running VS Code and the odd browser session) has 16G of RAM and given the master puppet java process needs 512M (i.e. 0.5G), so I've setup the VM with 2G i.e. still leaving 14G for the host environment. However 1G should be enough if you are running on a busier dev environment (e.g. my MacAir laptop only has 4Gb). \n* The provision.sh automates the basic setup, I've documented the main customizations below\n\n\nAs I've set my VM name to puppetmaster\n\n```\n  config.vm.hostname = \"puppetmaster\"\n```\n\nI hit a few issues when starting the agent\n\n\u003e Warning: Server hostname 'master.puppet.vm' did not match server certificate; expected one of puppetmaster, DNS:puppet, DNS:puppetmaste\n\n* https://stackoverflow.com/questions/58003882/puppet-master-agent-configuration\n* https://ask.puppet.com/question/17689/server-hostname-did-not-match-server-certificate/\n\nand the solution was to update the puppet.conf to match the hostname\n\n```\n[~/projects/vagrant-puppet] # tail -2 puppet.conf \n[agent]\nserver = puppetmaster\n```\n\nHere is the initial provision.sh.\n\n```\n[~/projects/vagrant-puppet] # cat provision.sh \n#! /bin/bash\nif [ ! -f /home/vagrant/already-installed-flag ]\nthen\n  echo \"ADD EXTRA ALIAS VIA .bashrc\"\n  cat /vagrant/bashrc.append.txt \u003e\u003e /home/vagrant/.bash_profile\n  cat /vagrant/bashrc.append.txt \u003e\u003e /root/.bashrc\n  #echo \"GENERAL YUM UPDATE\"\n  #yum -y update\n  yum  -y install unzip curl wget git\n\n\n  # prevent vagrant user ssh warning \"setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory\"\n  cat /vagrant/environment \u003e\u003e /etc/environment \n\n\n\n  # Install the repository RPM\n  rpm -Uvh https://yum.puppet.com/puppet6-release-el-7.noarch.rpm\n  yum install -y puppetserver\n\n  echo '*** update sysconfig/puppetserver reduce java memory from default 2G to 0.5G (512mb)'\n  cp -p /etc/sysconfig/puppetserver /etc/sysconfig/puppetserver.`date '+%Y%m%d-%H%M'`.bak\n  cat /vagrant/puppetserver \u003e /etc/sysconfig/puppetserver\n\n  echo '*** update puppet.conf set server = puppetmaster (to match config.vm.hostname=puppetmaster)'\n  cp -p /etc/puppetlabs/puppet/puppet.conf /etc/puppetlabs/puppet/puppet.conf.`date '+%Y%m%d-%H%M'`.bak\n  cat /vagrant/puppet.conf \u003e /etc/puppetlabs/puppet/puppet.conf\n\n  echo '*** update $PATH to $PATH:/opt/puppetlabs/puppet/bin:$HOME/bin'\n  cp -p ~/.bash_profile ~/.bash_profile.`date '+%Y%m%d-%H%M'`.bak\n  cat /vagrant/bash_profile \u003e ~/.bash_profile\n  source ~/.bash_profile\n\n  systemctl start puppetserver\n  systemctl enable puppetserver\n  echo '*** systemctl status puppetserver'\n  systemctl status puppetserver\n\n  echo '*** free -m'\n  free -m \n  echo '*** uptime'\n  uptime\n\n  # initial cron\n  crontab /vagrant/root_cronjob_monitoring_sysstat.txt\n\n\n  echo '*** gem install r10k (R10k provides a general purpose toolset for deploying Puppet environments and modules.)'\n  gem install r10k\n  echo '*** simple test via: puppet agent -t'\n  puppet agent -t\n\n\nelse\n  echo \"already installed flag set : /home/vagrant/already-installed-flag\"\nfi\n```\n\nFor more details please see [build_logs/v0.01_initial_provision.sh_setup.log](build_logs/v0.01_initial_provision.sh_setup.log)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgapitts%2Fvagrant-puppet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgapitts%2Fvagrant-puppet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgapitts%2Fvagrant-puppet/lists"}