I will be using Ubuntu 12.04 32-bit.

Salt can be ran in a master/minion (server/client) environment, or a masterless (client-only) type environment. What I will show you here can be used in either environment.

I'm gonna ease into this, I don't want to throw a bunch of code snippets at you, and make you feel like you're drowning.

That's it! Obviously it gets a lot more complex if you're doing anything more than simple development or the Django tutorial, but that's for another post.

Let's think about what's absolutely necessary to install Django and start using it?

So let's get started!

A note I'm skipping how to install Salt. That's covered thoroughly in Salt's own documentation and Linux Journal's article.

I'm creating a top.sls file in /srv/salt directory that will outline which hosts will get which states.

base: '*': - requirements - django

The above example is applying a requirements and django to all ( * ) hosts. I will put any global requirements that are not specific to any application in requirements and I will put Django specific requirements in django .

Above we mentioned that we needed Python and it's dependancies, often python-dev is sufficient. The next thing we need is virtualenv. Ubuntu's package name for virtualenv is python-virtualenv so I create an init.sls file in the requirements directory, I tell it I need the python-virtualenv and python-dev packages installed.

packages: pkg.installed: - names: - pthon-dev - python-virtualenv

That's it! When Salt runs that, it will install the packages python-virtualenv and python-dev .

Don't believe me? Neat right?!