-
-
Save Atalanta/800173 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
users = search(:users, "repos:*") | |
shared_repos = search(:git_repos, "url:*") | |
users.each do |u| | |
username = u['id'] | |
u["repos"].each do |target, repo| | |
git "/home/#{username}/#{target}" do | |
repository repo['repo'] | |
reference repo['revision'] | |
action :checkout | |
user username | |
end | |
end | |
shared_repos.each do |shared_repo| | |
git "/home/#{username}/#{shared_repo['id']}" do | |
repository shared_repo["url"] | |
reference shared_repo["revision"] | |
action :checkout | |
user username | |
ssh_wrapper "ssh -i /home/#{username}/.ssh/#{u['git_key']['name']}" | |
only_if {File.exists?("/home/#{username}/.ssh/#{u['git_key']['name']}")} | |
end | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ "id": "bert", | |
"git_key": { | |
"name": "git-key-rsa", | |
"public":"ssh-rsa ABCDEFG" | |
}, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% knife data bag show git_repos test_lab | |
{ | |
"url": "[email protected]:test_lab.git", | |
"id": "test_lab", | |
"revision": "HEAD" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Fri, 28 Jan 2011 12:05:01 +0000] DEBUG: Ran git clone [email protected]:test_lab.git /home/jon/test_lab returned 128 | |
[Fri, 28 Jan 2011 12:05:01 +0000] ERROR: git[/home/jon/test_lab] (/var/chef/cache/cookbooks/workstation/recipes/default.rb:42:in `block (2 levels) in from_file') had an error: | |
git clone [email protected]:test_lab.git /home/jon/test_lab returned 128, expected 0 | |
---- Begin output of git clone [email protected]:test_lab.git /home/jon/test_lab ---- | |
STDOUT: Initialized empty Git repository in /home/jon/test_lab/.git/STDERR: error: cannot run ssh -i /home/jon/.ssh/id_rsa: No such file or directory | |
fatal: unable to fork | |
---- End output of git clone [email protected]:test_lab.git /home/jon/test_lab ---- | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/mixin/command.rb:184:in `handle_command_failures' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/mixin/command.rb:131:in `run_command' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/provider/git.rb:96:in `clone' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/provider/git.rb:40:in `action_checkout' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource.rb:395:in `run_action' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:53:in `run_action' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `block (2 levels) in converge' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `each' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `block in converge' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection.rb:94:in `block in execute_each_resource' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:116:in `call' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:85:in `step' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection.rb:92:in `execute_each_resource' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:84:in `converge' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/client.rb:268:in `converge' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/client.rb:171:in `run' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:222:in `block in run_application' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:212:in `loop' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:212:in `run_application' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application.rb:62:in `run' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/bin/chef-client:26:in `<top (required)>' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/bin/chef-client:19:in `load' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/bin/chef-client:19:in `<main>' | |
[Fri, 28 Jan 2011 12:05:01 +0000] ERROR: Running exception handlers | |
[Fri, 28 Jan 2011 12:05:01 +0000] ERROR: Exception handlers complete | |
[Fri, 28 Jan 2011 12:05:01 +0000] DEBUG: Re-raising exception: Chef::Exceptions::Exec - git clone [email protected]:test_lab.git /home/jon/test_lab returned 128, expected 0 | |
---- Begin output of git clone [email protected]:test_lab.git /home/jon/test_lab ---- | |
STDOUT: Initialized empty Git repository in /home/jon/test_lab/.git/STDERR: error: cannot run ssh -i /home/jon/.ssh/id_rsa: No such file or directory | |
fatal: unable to fork | |
---- End output of git clone [email protected]:test_lab.git /home/jon/test_lab ---- | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/mixin/command.rb:184:in `handle_command_failures' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/mixin/command.rb:131:in `run_command' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/provider/git.rb:96:in `clone' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/provider/git.rb:40:in `action_checkout' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource.rb:395:in `run_action' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:53:in `run_action' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `block (2 levels) in converge' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `each' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `block in converge' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection.rb:94:in `block in execute_each_resource' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:116:in `call' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:85:in `step' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection.rb:92:in `execute_each_resource' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:84:in `converge' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/client.rb:268:in `converge' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/client.rb:171:in `run' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:222:in `block in run_application' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:212:in `loop' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:212:in `run_application' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application.rb:62:in `run' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/bin/chef-client:26:in `<top (required)>' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/bin/chef-client:19:in `load' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/bin/chef-client:19:in `<main>' | |
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/mixin/command.rb:184:in `handle_command_failures': git clone [email protected]:test_lab.git /home/jon/test_lab returned 128, expected 0 (Chef::Exceptions::Exec) | |
---- Begin output of git clone [email protected]:test_lab.git /home/jon/test_lab ---- | |
STDOUT: Initialized empty Git repository in /home/jon/test_lab/.git/STDERR: error: cannot run ssh -i /home/jon/.ssh/id_rsa: No such file or directory | |
fatal: unable to fork | |
---- End output of git clone [email protected]:test_lab.git /home/jon/test_lab ---- | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/mixin/command.rb:131:in `run_command' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/provider/git.rb:96:in `clone' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/provider/git.rb:40:in `action_checkout' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource.rb:395:in `run_action' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:53:in `run_action' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `block (2 levels) in converge' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `each' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:89:in `block in converge' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection.rb:94:in `block in execute_each_resource' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:116:in `call' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:85:in `step' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/resource_collection.rb:92:in `execute_each_resource' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/runner.rb:84:in `converge' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/client.rb:268:in `converge' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/client.rb:171:in `run' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:222:in `block in run_application' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:212:in `loop' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application/client.rb:212:in `run_application' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/lib/chef/application.rb:62:in `run' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/gems/chef-0.9.12/bin/chef-client:26:in `<top (required)>' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/bin/chef-client:19:in `load' | |
from /usr/local/rvm/gems/ruby-1.9.2-p136/bin/chef-client:19:in `<main>' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment