dyoder/befog

Do away with the run command?

Closed this issue · 1 comments

Given #24, we can easily write shell scripts that loop over instance data. Given that we also already have ssh keys set up (by definition), is there really much of an advantage of having the run command?

Ex:

for i in `befog ls | awk { print $2 }` ; do ssh root@$i ...

Conversely, if we keep the run command, don't we need a variant to run local commands? Otherwise, it's sort of strange: it's easy to run remote commands for all the servers, but not local commands that access the remote servers. (Think rsync.)

Not all developers are as comfortable using the shell as devops folks. Also, it is clearly less verbose to simply type:

befog run -c ...

which I don't think is insignificant. Carlo's concern was that he doesn't know how to shut down an errant command when it's run this way. (The obvious thing is to control-C - which would work - but I take his point. It's a comfort thing.)

I think we should keep the run command and add a variant (or a flag; --local perhaps?) that supports running something locally instead of remotely. But I'm interested in further discussion.

Would like to have this resolved for the 0.4.0 release.

I vote keep both. #24 is preferred for this op, but I can see run being friendlier and more straight forward to others.