Salt vs Puppet – The Long Road Ahead

As those of you that follow Salt know, I have been working on making Salt take care of system configuration as well as remote execution. The idea being that Salt manages both state and execution. Salt states have been around now for a few months, but I am about to ramp it up, I want to get Salt to where it can compete with Puppet.

I have created a new git repository for Salt states:

I am adding Salt states to this repo, it will be growing quickly and will be used to test salt states as they grow in the next few months.  As it stands Salt states can be used instead of Puppet, but there is a lot of room left for improvement!


2 responses to this post.

  1. Very nice.

    Glad to see no use of DSL here, it’s just YAML data, so you can interoperate with anything and it would be possible to have tools to help build the states.


  2. Thanks Michael! I have to admit it means a lot to hear from you, I learned a lot about writing Python from reading your code!

    The big idea with he salt state files, or sls files, is that they are really just representations of the salt “high data” data structure. This means that you don’t have to use YAML, you can build a renderer module so that it can interpret anything that can render the right data structure.

    So far it also has JSON support, but I want to write XML and raw python support as well.

    Check out the render modules:

    If you have ideas for more returners or renderers I would love to see them, Salt has been made to be easily extensible on as many fronts as possible!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: