SaltStack Vagrant Part 1
What is SaltStack
- SaltStack software orchestrates the build and ongoing management of any modern infrastructure.
- SaltStack is also the most scalable and flexible configuration management software for event-driven automation of CloudOps, ITOps and DevOps.
- SaltStack is one of the top configuration management framework among Chef, Puppet, Ansible and SaltStack.
Why SaltStack with Vagrant
- Salt execution routines can be written as plain Python modules. (I am the Python guy)
- SaltStack script for Vagrant will be mostly same for the cloud server
development server == production serverUnlocked
Vagrant Folder Structure
- salt/ - root/ - top.sls - webserver.sls - minion - Vagrantfile
Vagrant.configure("2") do |config| # load up the box for centos 6.6 # This will take long to download the os, hold up there # Or go for a coffee config.vm.box = "CentOS_7_x64" ## For masterless, mount your salt file root config.vm.synced_folder "salt/root/", "/srv/salt/" config.vm.network "private_network", ip: "10.0.0.201" ## Use all the defaults: config.vm.provision :salt do |salt| salt.bootstrap_options = "-P -c /tmp" # to salve minion_config not copied issue salt.masterless = true salt.minion_config = "salt/minion" salt.run_highstate = true end end
base: '*': - webserver
httpd: # ID declaration pkg: # state declaration - installed # function declaration service.running: - enable: True - require: - pkg: httpd
vagrant up you should get a CentOS_7_x64 box with httpd server installed!
By the end of this article, you should know the basic of how salt work.
Written on January 16, 2016