{"id":15661051,"url":"https://github.com/garethr/capistrano-puppet","last_synced_at":"2025-06-13T12:04:47.382Z","repository":{"id":1792473,"uuid":"2716400","full_name":"garethr/capistrano-puppet","owner":"garethr","description":"Get capistrano hosts from puppet","archived":false,"fork":false,"pushed_at":"2011-11-06T22:04:51.000Z","size":92,"stargazers_count":20,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-07T09:44:28.626Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"tatsuhiro-t/aria2","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/garethr.png","metadata":{"files":{"readme":"README","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}},"created_at":"2011-11-05T17:52:24.000Z","updated_at":"2024-07-31T17:41:22.000Z","dependencies_parsed_at":"2022-08-20T04:50:37.986Z","dependency_job_id":null,"html_url":"https://github.com/garethr/capistrano-puppet","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/garethr/capistrano-puppet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garethr%2Fcapistrano-puppet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garethr%2Fcapistrano-puppet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garethr%2Fcapistrano-puppet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garethr%2Fcapistrano-puppet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/garethr","download_url":"https://codeload.github.com/garethr/capistrano-puppet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garethr%2Fcapistrano-puppet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259642249,"owners_count":22888982,"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-03T13:25:36.148Z","updated_at":"2025-06-13T12:04:47.318Z","avatar_url":"https://github.com/garethr.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"If you're using Puppet you already have a list of the hosts and types of hosts under your control. So why duplicate this information in your capistrano configuration? Every time you provision or destroy a new machine you have to remember to update your deployment configuration and that's just an error waiting to happen.\n\nThis requires you to be running my web-puppet service to get at the relevant host and tag information. https://github.com/garethr/web-puppet\n\nA sample capistrano configuration might look like the following. The only important parts are the require, creating a new server instance and the calls to get_servers to return a list of hosts.\n\n    require 'capistrano-puppet'\n\n    web_puppet = CapistranoPuppet::Server.new('http://username:password@localhost:9295')\n\n    set :application, \"test\"\n    set :repository, \".\"\n    set :scm, :none\n    set :deploy_via, :copy\n\n    default_run_options[:pty] = true\n    set :deploy_to, '/server/path/'\n    set :user, 'deploy'\n    set :use_sudo, false\n\n    role :web do\n      web_puppet.get_servers('webserver')\n    end\n\n    role :app do\n      web_puppet.get_servers('appserver')\n    end\n\n\nNote that this is the first release as is really just a proof of concept. Running web-puppet in environments with lots of hosts will likely be very slow.\n\nThe code was inspired by capistrano-cobbler, which uses Cobbler rather than web-puppet to get the host information. https://github.com/proffalken/capistrano-cobbler\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarethr%2Fcapistrano-puppet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarethr%2Fcapistrano-puppet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarethr%2Fcapistrano-puppet/lists"}