Image of the glider from the Game of Life by John Conway
Skip to content

Salt Packaged For Debian/Ubuntu

I created a Debian package for Salt, doing my best to adhere to the Debian Policy. You can find it at If you're not familiar with Salt, head over to and check it out. From the author's website:

Salt is a powerful remote execution manager that can be used to administer servers in a fast and efficient way.

Salt allows commands to be executed across large groups of servers. This means systems can be easily managed, but data can also be easily gathered. Quick introspection into running systems becomes a reality.

Remote execution is usually used to set up a certain state on a remote system. Salt addresses this problem as well, the salt state system uses salt state files to define the state a server needs to be in.

Between the remote execution system, and state management Salt addresses the backbone of cloud and data center management.

Think Puppet on steroids. And done correctly.

At any event, yes, I'm looking for a Debian Developer to sponsor me getting it into Debian proper. If you are an Ubuntu Developer, and could help sponsor me getting it into Ubuntu as well, that would be awesome!

{ 2 } Comments

  1. Jorge Castro | September 29, 2011 at 12:40 pm | Permalink

    What about puppet isn't "done correctly?"

  2. Aaron Toponce | September 29, 2011 at 1:03 pm | Permalink

    Realize, these are my own personal opinions. Puppet is actually a fairly rock-solid utility. I just think Salt does a few of the things Puppet does, better.

    Many things. The constant fighting with OpenSSL is probably the biggest issue. Not just self-signed certificates, but managing all the certs on both the puppet master and the clients. Contrast that with Salt, which takes advantage of SSH and ZeroMQ.

    Salt manages both state through configuration (as does Puppet), but also remote execution, allowing you to reboot nodes, gather hardware information, etc.

    Salt is modular, allowing you to write simple Python scripts as Salt modules, and just dump them into the plugin directory.

    With Salt states, the data structure can be represented in many ways. YAML is default, but there is also JSON support, and XML is coming. Because of the extensibility of Salt through Python modules, you can write your own renderer to represent the data however you wish.

    Lastly, Puppet doesn't scale well. At least we haven't been able to get it to scale correctly to fit our needs. With Salt, you have a "master" and "minions". What's interesting, is you can have other masters that are minions to a higher level master, with each of those lower level masters managing other minions, keeping a level of isolation, with a heartbeat between the various masters.

    There are other things that make Salt pretty slick. Again, Puppet is great. It's not a bad utility, Salt just does a lot of the same things cleaner, and better IMO, with additional functionality.

Post a Comment

Your email is never published nor shared.