Running commands
In this recipe, you will learn how to run simple shell commands on minions at the same time as fulfilling various conditions, making sure that the requirements are met, and creating dependencies between definitions based on the output of commands.
How to do it...
- Configure a Salt minion in the staging environment, and call it
salt-minion
. Create a new state in the staging environment called ruby by creating a directory calledruby
in the base directory of the staging environment. Create the/opt/salt-cookbook/staging/ruby/init.sls
file and edit it to have the following contents:install_rvm_key: cmd.run: - name: "gpg2 --keyserver hkp://keys.gnupg.net --recv- keys D39DC0E3" - shell: /bin/bash - unless: "stat /root/.gnupg/trustdb.gpg || gpg2 --list- keys D39DC0E3" ruby-1.9.3: rvm.installed: - default: True require: - cmd: install_rvm_key set_ruby: cmd.wait: - name: 'source /etc/profile.d/rvm.sh; rvm use 1.9.3 -- default...