2

i have a few remote environments where i can only connect from outside but not from inside to outside. for my deployments/configuration needs i used fabric and capistrano that works fine but I have pressure to use a complete configuration system as puppet or chef.

is there a way i can push specific commands via puppet or chef ? (please keep in mind that the remote hosts can not connect to my site where i would have the puppet/chef server)

thanks

mt3
  • 308
  • 1
  • 3
  • 12
silviud
  • 2,687
  • 2
  • 18
  • 19
  • I'm not adding this as an answer because I don't use Chef and I'm not very familiar with it, but a former co-worker of mine told me once that one thing he appreciated on Chef over Puppet was that you could, from the command line, tell it to run a command over a number of machines. From the way he told me, it was with `chef` itself you did it. – Daniel C. Sobral Aug 16 '11 at 15:13

3 Answers3

3

You can use mcollective to run remote commands. You have to install a client on each puppet client though.
Note that mcollective also requires an activemq server.

voretaq7
  • 79,879
  • 17
  • 130
  • 214
Mike
  • 22,310
  • 7
  • 56
  • 79
2

At the risk of reviving an old thread, check out Ansible for running arbitrary commands over a set of hosts. Set up a hosts file with a group named "all" and then type ansible all -a "/bin/echo hello" to see the results.

user67327
  • 197
  • 2
  • 8
1

Chef has a "deploy" resource that can be used to do a fabric/capistrano style of deployment. It is documented here with examples:

http://wiki.opscode.com/display/chef/Deploy+Resource

Guides for more sophisticated fully automated setup and deployment can be found on the Opscode knowledge base.

http://help.opscode.com/kb/otherhelp

Django and Rails application deployment examples are used.

jtimberman
  • 7,587
  • 2
  • 34
  • 42