sprinkle-tool / sprinkle

Sprinkle is a software provisioning tool you can use to build remote servers with. eg. to install a Rails, or Sinatra stack on a brand new slice directly after its been created
https://github.com/sprinkle-tool/sprinkle
MIT License
1.15k stars 138 forks source link

Add generic command installer #146

Closed JonRowe closed 11 years ago

JonRowe commented 11 years ago

Allows you to run an arbitary command/script as an installer, for when you want to do something slightly non-standard (in my case adding a ppa and update apt but only if not already setup so I want to use verify and hooks etc).

joshgoebel commented 11 years ago

I think this is what the runner installer already does?

JonRowe commented 11 years ago

Yes it is, this sort of mistake happens when there's no documentation, especially as runner is not a very clear name.

joshgoebel commented 11 years ago

I didn't pick the name.

Try this: http://rdoc.info/github/sprinkle-tool/sprinkle/frames

Didn't realize docs were so easy with rdoc.info. I've also updated the docs link on rubygems to link there.

akiva commented 11 years ago

It might help you to take a look at my collection of recipes for sprinkle here on Github.

joshgoebel commented 11 years ago

Yep, nothing like reading real example stacks from others who are already familiar with the lay of the land.

JonRowe commented 11 years ago

I didn't pick the name.

Sorry that was overly confrontational, I was narked last night after a day of things "just not working", which was being compounded by lack of HTML docs, source code docs are great for figuring out how things work, but not for figuring out if something even exists.

For the record I did dig through the source looking for something like this, but as there are several package managers with "interesting" names I guess I just missed Runner

Try this: http://rdoc.info/github/sprinkle-tool/sprinkle/frames Didn't realize docs were so easy with rdoc.info.

I forced the generation of them yesterday, (you just paste a github repo in and click ok ;) )

I've also updated the docs link on rubygems to link there.

Great start, but proper documentation is important too.

It might help you to take a look at my collection of recipes for sprinkle here on Github.

Sperlunking through someone else's code just to find something that may or may not exist, is not a great way to learn how to use something. Documentation is important, direct people to specific examples do not just expect them to find things out of the blue, looking at your repository I still have no idea how to find specific things I may want to do other than trial and error.

joshgoebel commented 11 years ago

I consider compiled source code docs great documentation for things like this, but I suppose YMMV.

Guess I don't have many thoughts on that... I feel the codebase is still small enough to glance thru all the installers in a few minutes via the API docs and get a real good idea what's there... though perhaps not the individual features of Sprinkle itself. If you wanted to write a guide or expand the readme a bit (not too much) further I think those would be welcome changes. There is also the github wiki, though I'm not sure how easy it is to manage permissions of that.

JonRowe commented 11 years ago

I consider compiled source code docs great documentation for things like this, but I suppose YMMV.

I find that when your writing things that interact only with a DSL like this, the last thing you ever want to do is have to dig through the source code, you want to know the public facing api and what you can do with it, but as you say... YMMV.

joshgoebel commented 11 years ago

I wish more people understood it was JUST Ruby and we're trying to make scopes and things work in more the way you would expect... and not just treat it as a raw DSL - though that's OK also. Again, the idea is you dig thru the online docs, not the source (we just didn't have them online until recently)... it's just very simple to document the supported classes and methods via the source then compile that out... it's probably a very preferential thing, but I've found it to work really well IMHO.

So now someone can read the API docs without having to look at the source. win win.