Handling multiple states
Using single SLS files is pretty powerful as it is, but real power comes from being able to combine them to form a larger orchestration. We touched on some of the basics in Chapter 1 , Essentials Revisited. Let's go ahead and expound upon them.
Including other SLS files
That little include
code block at the beginning of an SLS file is the start to pulling together SLS files. Let's say that you have a number of formulas that are used to create a development environment for your users. Here are a few examples:
- git
- vim
- emacs
- ack
- pip
- pycharm
Let's go ahead and put together a development environment formula first. Go ahead and create a formula directory called devenv
:
# mkdir -p /srv/salt/devenv/
Then, we'll create a file inside that directory called init.sls
that references those formulas:
include: - git - vim - emacs - ack - pip - pycharm
Of course, most of your developers will not want both vim and emacs; they'll only want one. Let...