First of all, thanks for this cookbook. Definitely the best I've seen for Redis and worked flawless when I sandboxed it. Easy to read the source, and I picked up a few things I didn't know about Chef as well by doing so. So, thanks!
As I browsed around I noticed a few things and figured I'd just go ahead and clean it up for you.
Feel free to pull it in if you like. :)
You can see what the properly formatted README looks like here, along with the rest of the source code, etc:
Fixed formatting in all files (except the templates). Added a .gitign…
…ore to ignore unwanted system files. Fixed syntax formatting in the README. Removed old default file that got added as "git junk".
Thanks a ton, I've been meaning to fix the formatting in the readme.md but I just hadn't gotten around to it yet! Much appreciated that you did it for me! I put a decent amount of thought into making the cookbook, and it took some extra time to add the option to allow the installation of multiple redis instances on one server (and it will probably only be used by a small amount of configurations).
I still need to add a couple more options that can be set via the configuration hashes, and maybe even document what maps to what (even if it is a bit straightfoward)
P.S. I'm in the process of working on a cookbook that will allow users to add rc.local entries through node attributes, an LWRP or data bag (at least I plan to support all 3, we will see how it goes.)
No problem at all. I always appreciate the work of others, and if it helps to get that kind of nitty gritty stuff out of the way so the author/maintainer can focus on the more important stuff then that's cool. Just a bit of polishing. :)
Yeah I like it. The other cookbooks I found all simply set up Redis and that's about it. It's a lot more interesting to have it auto-configure for things like multiple instances and replication. I haven't used Redis much in production yet, but my next project will. I was thinking of doing multi-node replication and looking at your README I should be able to do automate that with this cookbook, am I right? Basically a matter of specifying the host/port of the other server I guess (haven't read up on this topic much yet over at redis.io).
I'm not much of a sysadmin so my knowledge is pretty limited. I can do basic stuff though and I'm really taking a liking to Chef lately. Are these rc.local entries init scripts in /etc/init.d/? I've only used Ubuntu's Upstart but that's very limiting and doesn't work on all platforms. took a look at your init script template, and it looks easy enough. A lot less verbose than I usually see in other people's init scripts file. Would using these make it fairly universal for popular platforms like Fedora, Arch Linux, Ubuntu, CentOS, etc?
I've been working on a MongoDB cookbook myself (will be my first). Just find it a bit hard to transition between states and get replication set up properly. It works now, but it's a bit more vague that Redis. But I've picked up a few things from your Redis cookbook that'll help me continue with the MongoDB cookbook.
Thanks for the detailed info! Yeah I use vagrant + virtual box. Definitely good stuff for sandboxing new tech and running chef recipes.
The documentation is good. I'm new to Chef and thus far I've always checked out the attributes file to see what the defaults are. I personally think setting the defaults and merging the defaults hash in to the server-specific hash is good because it makes things less verbose. It's pretty common practice I'd say so I'd keep it as it is. The source is easy to read so I doubt anyone would have any issues with that.
Are there any significant cons to hardcoding attributes to get Redis multi-node replication going? I have not yet looked at how "roles" work in Chef. I'm very new so I'm just going to dive in to the docs and read up on that. Taking it bit by bit.