Chef-like tool powered by node.js?

1,297 views
Skip to first unread message

Bruno Jouhier

unread,
Oct 21, 2013, 5:41:42 PM10/21/13
to nod...@googlegroups.com
I googled a bit but did not find anything like it. Did anyone consider it?

Cool features would be:

* It's JavaScript
* Windows is fully supported (Ruby isn't great on Windows).

Bruno

José F. Romaniello

unread,
Oct 21, 2013, 5:50:07 PM10/21/13
to nod...@googlegroups.com
nodejitsu has opensource a tool like this called opsmezzo http://www.opsmezzo.com/

haven't tried yet.

We use Puppet a lot.


2013/10/21 Bruno Jouhier <bjou...@gmail.com>
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Aria Stewart

unread,
Oct 21, 2013, 5:57:22 PM10/21/13
to nod...@googlegroups.com

Thinking about it under the name qop.

Bruno Jouhier

unread,
Oct 22, 2013, 8:19:35 AM10/22/13
to nod...@googlegroups.com
Thanks José and Aria. I took a quick look at opsmezzo. I'm actually more interested by the cookbooks/recipe side than by the infrastructure and I did not find it yet but I'll dig further.

Bruno

José F. Romaniello

unread,
Oct 22, 2013, 8:33:45 AM10/22/13
to nod...@googlegroups.com
What I like about puppet (the DSL) is that it describes an "state of the configuration a node should have" rather than "a recipe" to get there.

It is at some point the same difference between imperative and declarative. It means "node v0.8.26" instead of "download node 0.8.26 binary from this url and then copy the files to this path",

Having said that I think a DSL can be build in JavaScript or JSON and npm will be such a great repository for these modules/components. Puppet and chef are very consolidated opensource tools with a huge community around, lot of libraries and such. Amazon has this OpsWorks thing based on Chef  http://aws.amazon.com/opsworks/ which I haven't tried but looks very promising.

I wrote a little bit about how we use Puppet in Auth0 here: http://inside.auth0.com/2013/09/13/shiping-auth0/



2013/10/22 Bruno Jouhier <bjou...@gmail.com>

--

Jarrett Cruger

unread,
Oct 25, 2013, 1:29:35 AM10/25/13
to nod...@googlegroups.com
Hey Bruno, checkout out some of the systems that we have here. This might be closer to what you are looking for. We use the cli tool quill (with composer as the api endpoint) to install and manage these systems as well as the configuration that can go with them. Hop in #nodejitsu IRC if you have any questions. You can ping me @jcrugzz.

Cheers,
Jarrett

Arunoda Susiripala

unread,
Oct 25, 2013, 9:10:32 AM10/25/13
to nod...@googlegroups.com
Checkout nodemiral. I have not yet released yet. 

Build for a cloud automation service. Works pretty well. 
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


--
Arunoda Susiripala


David Worms

unread,
Oct 25, 2013, 1:19:59 PM10/25/13
to nod...@googlegroups.com

Hi Bruno,

Simalar to the Chef resource lib, I build
[mecano](https://github.com/wdavidw/node-mecano).

I use it dayly to deploy hadoop cluster.

d.

Bruno Jouhier

unread,
Oct 26, 2013, 10:01:03 AM10/26/13
to nod...@googlegroups.com
Thanks to all. My review list is growing.

My main use case is building setups by updating source trees from git, launching compilers (sometimes on remote machines because I need binaries for several OSes), downloading stuff from internet, etc. I did not really need all the power of Chef for this but I really liked the "idempotent" nature of their DSL and the richness of providers. We are doing it with Chef today but their poor support of Windows is a bit problematic (not a showstopper though) so I was looking for alternatives.

Looks like mecano could be a good starting point for what I want to do and that opsmezzo covers the more complete Chef story.

Small note for David: I noticed a s/navite/native typo in http://www.adaltas.com/projects/node-mecano/

Bruno

mgutz

unread,
Nov 2, 2013, 5:07:21 AM11/2/13
to nod...@googlegroups.com
Have used Puppet, Chef, Chef Solo, Fabric ... 

Ansible is the way to go. Much simpler than other provisioning tools. No need to install anything on the server. Windows support is iffy (Cygwin) though. Supposedly you can write modules in anything, Shell, Python, Ruby, etc so I don't see why you couldn't use node. Haven't needed to write a module yet. I use good old shell scripts when needed.

Simon L

unread,
Dec 8, 2014, 11:03:26 AM12/8/14
to nod...@googlegroups.com
Hi Bruno and others-

Any updates? I know this is an older post, but it's still very relevant. I'd like your input.

I am also looking into the different solutions to keep things as "node.js friendly" as possible.

From what I've seen, most people are moving to salt:

Of all the salt vs ansible reviews, people say salt is better but has a steeper learning curve.

It's Python-based but uses YAML, so it's pretty friendly to node.js coders. There's definitely some pythonic error messages that, if I didn't know Python, could have led me astray in the initial setup.

I'm now looking for into OpsMezzo and others. Any comments?

 
 

// ravi

unread,
Dec 8, 2014, 11:15:34 AM12/8/14
to nod...@googlegroups.com
On Dec 8, 2014, at 11:03 AM, Simon L <si...@pumpup.co> wrote:
>
> Hi Bruno and others-
>
> Any updates? I know this is an older post, but it's still very relevant. I'd like your input.
>
> I am also looking into the different solutions to keep things as "node.js friendly" as possible.
>
> From what I've seen, most people are moving to salt:
> http://docs.saltstack.com/en/latest/
>
> Of all the salt vs ansible reviews, people say salt is better but has a steeper learning curve.
>


I evaluated Salt and Ansible (and a bunch of others, including Propagit, Fleet (not CoreOS), etc) and found them (even in comparison to Chet/Puppet/etc) too complex for my needs. So I settled instead on Flightplan: https://github.com/pstadler/flightplan, which I have customised heavily for my usage.

Unfortunately, I did not take any notes that detail my reasons for abandoning Ansible, etc. Apologies for not being able to give you that,

—ravi


Simon L

unread,
Dec 8, 2014, 1:18:14 PM12/8/14
to nod...@googlegroups.com
So, here's my conclusion:

I will present my findings to my boss, but my current recommendation is Salt. I'm really hoping I'm wrong on this and that a more robust node-based system management system will come out.

Quick comparison, and correct me if I'm wrong.
Salt
- Best choice at this time, tho it's rapidly changing market.
- Python-based. Watch out for "gaierror" it usually means an internal socket error or DNS error, not a config error.
- Uses YAML for configs, so easy for any node programmer.
- In this review, by Lyft, which is a very rapidly growing company, it was chosen over Ansible:

OpsMezzo
- Documentation seems to be outdated and lacking. There's little community participation. I can't, at this time, see how to use it to launch EC2 instances on demand. I think it's still in development or intended for a more limited scope. I messaged Nodejitsu and we'll see.

Others

Node Mecano

https://github.com/wdavidw/node-mecano
- Great for automation via SSH, but does not manage state or EC2.
- Would need a lot more work to manage everything we need.

Nodemiral (Node Admiral)

https://github.com/arunoda/nodemiral
- Even more basic than Node Mechano, but simple.
- Doesn’t manage state or deployment.

FlightPlan

https://github.com/pstadler/flightplan
Could combine this with the official Amazon AWS Node.js API (not so great) or with a helper library, like:
https://github.com/defunct/node-ec2

It would be a lot of work, but definitely doable to make those into full systems like salt.

Issac Roth

unread,
Dec 27, 2014, 11:58:34 AM12/27/14
to nod...@googlegroups.com
CJ Silverio gave a presentation at BayNode about NPM, Inc devops and pointed out that they are using Ansible.

---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
To post to this group, send email to nod...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/75b530f7-63e4-429e-bf28-adc770afb332%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

David Worms

unread,
Dec 27, 2014, 2:26:16 PM12/27/14
to nod...@googlegroups.com

Others

Node Mecano

https://github.com/wdavidw/node-mecano
- Great for automation via SSH, but does not manage state or EC2.
- Would need a lot more work to manage everything we need.

I'm the author of mecano

masson, under active development, is probably what you are looking for. The documentation will be written just after the one of ryba.
https://github.com/wdavidw/node-masson

ryba and ryba-cluster (a configured ryba deployment example), the reason behind mecano and masson, are good example on how to use those. Ryba extends masson to deploy a hadoop cluster. The documentation should be ready in january.
https://github.com/ryba-io/ryba
https://github.com/ryba-io/ryba-cluster

All those projects are under active dev since 2 years now. We are now 2 persons behind and would be gratefull to get feedback. You are invited to participate.

David
Reply all
Reply to author
Forward
0 new messages