{"id":17662962,"url":"https://github.com/genebean/puppet-moddeps","last_synced_at":"2025-05-07T20:06:52.840Z","repository":{"id":24948445,"uuid":"28366117","full_name":"genebean/puppet-moddeps","owner":"genebean","description":"A ruby gem for installing the dependencies for a given Puppet module","archived":false,"fork":false,"pushed_at":"2022-07-01T22:04:47.000Z","size":80,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T20:05:30.607Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/genebean.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-22T23:50:46.000Z","updated_at":"2020-10-26T00:37:21.000Z","dependencies_parsed_at":"2022-08-20T19:10:48.707Z","dependency_job_id":null,"html_url":"https://github.com/genebean/puppet-moddeps","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genebean%2Fpuppet-moddeps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genebean%2Fpuppet-moddeps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genebean%2Fpuppet-moddeps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genebean%2Fpuppet-moddeps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genebean","download_url":"https://codeload.github.com/genebean/puppet-moddeps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252949272,"owners_count":21830151,"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","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-23T18:42:24.703Z","updated_at":"2025-05-07T20:06:52.822Z","avatar_url":"https://github.com/genebean.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Puppet::Moddeps\n\n[![Gem](https://img.shields.io/gem/v/puppet-moddeps)](https://rubygems.org/gems/puppet-moddeps)\n[![Actions Status](https://github.com/genebean/puppet-moddeps/workflows/Rspec%20Tests/badge.svg)](https://github.com/genebean/puppet-moddeps/actions)\n[![codecov](https://codecov.io/gh/genebean/puppet-moddeps/branch/master/graph/badge.svg?token=9sn4KbY0yu)](https://app.codecov.io/gh/genebean/puppet-moddeps)\n![GitHub](https://img.shields.io/github/license/genebean/puppet-moddeps)\n\n## Description\n\nThis gem will allow you to pull in all missing dependencies for a given Puppet module by running `puppet-moddeps some_module`. This is targeted specifically at private modules or modules cloned from GitHub that have a populated `metadata.json` file. It really shines as a tool to install all the dependencies of a module that you have just created or when you have just updated the list of dependencies in a module's `metadata.json` file.\n\n## Installation\n\npuppet-moddeps has been extensively tested using the ruby bundled with the Puppet agent. The recommended way to use this gem is to first install puppet and then open an elevated command prompt and run this:\n\n```bash\npuppet resource package puppet-moddeps provider=puppet_gem ensure=latest\n```\n\nAlternatively, you can also install it using another instance of Ruby so long as it is at least version 2.5.7.\n\n## Usage\n\nAfter installation, you can run `puppet-moddeps some_module`, replacing `some_module` with the name of any module installed in `/etc/puppetlabs/code/environments/production/modules/`. It will resolve the module's dependencies based on its `metadata.json` file and install each of them.\n\n### Using in a module's Vagrantfile\n\nIf your module includes a [`Vagrantfile`](https://www.vagrantup.com/docs/vagrantfile) you can utilize this gem as part of your provisioning step by adding this to it:\n\n```ruby\nMODULE_NAME='some_module'\nVagrant.configure('2') do |config|\n  config.vm.box = 'genebean/centos-7-puppet-latest' # Any box that includes Puppet will work here\n  config.vm.provision 'shell', inline: \u003c\u003c-SCRIPT\n    puppet resource file /etc/puppetlabs/code/environments/production/modules/#{MODULE_NAME} ensure=link target=/vagrant force=true\n    /opt/puppetlabs/puppet/bin/gem install puppet-moddeps\n    /opt/puppetlabs/puppet/bin/puppet-moddeps #{MODULE_NAME}\n  SCRIPT\nend\n```\n\n## Contributing\n\nPull requests are welcome!\n\n1. Fork it ( https://github.com/genebean/puppet-moddeps/fork )\n2. Create a feature branch\n3. Install bundler (`gem install bundler`)\n4. Install development gems (`bundle install`)\n5. Open a second terminal and use guard to make sure your code doesn't break anything (`bundle exec guard -p`)\n6. Commit your changes and associated tests (`git commit -am 'Add some feature'`)\n7. Push to the branch (`git push origin my-new-feature`)\n8. Create a new pull request\n\n### Vagrant\n\nDevelopment and testing can also be done utilizing the included `Vagrantfile`.\nTo do so, install [Vagrant][vagrant] and [VirtualBox][vbox], fork and clone the\nproject, cd into the project, and run `vagrant up` followed by `vagrant ssh`.\nThe setup process will take care of running `bundle install` for you. You\ncan find the code symlinked into the vagrant user's home directory. Also, RVM\nis installed system-wide in the referenced Vagrant box.\n\n### Tests\n\nPlease try and write tests using Rspec's expect syntax for any code you add or change.\nCode must have tests before it will be merged.\n\n## License\n\nThis code is released under the Apache 2.0 license. A copy is in the LICENSE file in this repo.\n\n[rvm]: http://rvm.io\n[vbox]: https://www.virtualbox.org\n[vagrant]: https://www.vagrantup.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenebean%2Fpuppet-moddeps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenebean%2Fpuppet-moddeps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenebean%2Fpuppet-moddeps/lists"}