Learn
Salt Configuration Management
Real Salt master. Real minions. Real infrastructure automation.
Build and manage infrastructure with SaltStack. Each lab gives you a live Salt master on a Firecracker microVM with real Salt minion containers on the same network. Install the master, accept keys, write states, manage pillar data, build Jinja templates, and orchestrate multi-minion deployments.
25 hands-on labs across 6 modules, about 13 hours of work. Every lab runs on a real virtual machine in your browser, and checks your work on the machine itself.
Modules and labs
Install and configure a Salt master, accept minion keys, and run your first remote execution commands across real infrastructure.
- Meet the Salt Master - Install salt-master, start the service, and accept your first minion key.
- Remote Execution - Execute commands on remote minions using Salt execution modules.
- Grains - Query and set grains on minions. Use grain-based targeting to run commands selectively.
- Modules and Functions - Discover Salt execution modules with sys.list_modules, explore functions, and install packages remotely.
- Two Minions - Manage two minions at once. Accept both keys, target individual and groups, and compare grains.
Write declarative YAML state files to define the desired state of your infrastructure. Install packages, manage files, and control services.
- First State - Create /srv/salt, write your first .sls state file, and apply it to a minion.
- File States - Use file.managed to deploy configuration files from the Salt master to minions.
- Service States - Combine pkg, file, and service states with the watch requisite for automatic service restarts.
- Top File - Create top.sls to assign different states to different minions. Run state.highstate.
Use Pillar to store per-minion configuration data and secrets. Reference pillar values in states and templates.
- Pillar Basics - Create /srv/pillar, write pillar data, create a pillar top.sls, and query values.
- Pillar in States - Reference pillar data inside state files and Jinja templates.
- Pillar Targeting - Assign different pillar data to different minions and use -I targeting.
- Secure Pillar Data - Store sensitive data in pillar and verify it stays hidden from grains and public interfaces.
Use Jinja2 templating for dynamic configuration, conditional logic, loops, and state requisites to build production-grade automation.
- Jinja Templating - Create Jinja2 templates for configuration files and deploy them with file.managed.
- Jinja Conditionals and Loops - Use if/else and for loops in Jinja to create dynamic states that adapt to each minion.
- Requisites - Control state ordering with require, watch, and onchanges requisites.
- State Environments - Configure Salt environments (base, dev, prod) and assign minions to different environments.
Advanced targeting, the event bus, reactors, and orchestration runners for coordinated multi-minion operations.
- Advanced Targeting - Master glob, regex, grain, pillar, and compound targeting patterns.
- The Event Bus - Monitor and fire events on the Salt event bus.
- Reactors - Create reactor SLS files that respond automatically to events.
- Orchestration - Use salt-run state.orchestrate for coordinated multi-minion deployments.
Agentless mode with salt-ssh, troubleshooting broken configurations, Salt formulas, and a full-stack capstone deployment.
- Salt-SSH - Use salt-ssh for agentless management without requiring a minion daemon.
- Troubleshooting Salt - Debug common Salt issues: key mismatches, broken YAML, test mode, and manage.status.
- Formulas - Build a reusable Salt formula with the standard directory structure and map.jinja.
- Capstone: Full Stack Deploy - Deploy a complete web + database stack across two minions using everything you have learned.
Frequently asked questions
How many labs are in Salt Configuration Management?
Salt Configuration Management has 25 hands-on labs, roughly 13 hours of guided work, spread across 6 modules.
Do I need my own server or hardware to do the Salt Configuration Management labs?
No. Every lab boots a real virtual machine in your browser, with a real Linux shell. There is nothing to install, and nothing on your own machine to break.
What level is Salt Configuration Management?
Labs in this track are rated beginner, intermediate, advanced. The track starts from the beginning, so no prior experience is assumed.