Salt Fundamentals
Salt is an automation framework for running commands, applying desired configuration, and coordinating work across managed systems. A central master can target connected minions, while Salt states describe the configuration those systems should maintain.
itInfrastructure and operations | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
Salt Fundamentals
Salt gives you one control plane for remote execution, configuration management, and orchestration. You can ask many systems to act now. You can also declare the state they should maintain.
Those two modes solve different problems:
- Remote execution calls a function on selected systems and returns the results.
- Configuration management applies state declarations that describe required outcomes.
- Orchestration coordinates ordered work across systems from the master.
The useful mental model is a publish, execute, return loop. A master publishes a job. Matching minions execute it. Each minion returns a result.
Master, minion, target, function
A master runs the salt-master service and publishes jobs. A minion runs the salt-minion service, subscribes to jobs, executes matching work, and returns data.
A basic command has four parts:
salt '*' test.version
| Part | Meaning |
|---|---|
salt | Send a job through the master |
'*' | Target every accepted minion |
test | Execution module |
version | Function in that module |
Execution modules expose functions such as package, service, file, network, and system operations. You can inspect their documentation before calling them.
The master does not send every job to a private channel for one minion. It publishes work, and minions determine whether the target matches them. Targeting is therefore part of the safety boundary.
Identity and trust
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://saltproject.io/
Supports
- Salt as an open-source framework for remote execution, configuration management, and orchestration
- Official routes to installation, user, reference, release, and community material
- https://docs.saltproject.io/en/master/topics/salt_system_architecture.html
Supports
- Master, minion, publish, execute, and return architecture
- Targets, grains, states, top files, highstate, Pillar, events, reactors, runners, and orchestration
- Master and minion services and the central message bus
- https://docs.saltproject.io/en/latest/topics/tutorials/walkthrough.html
Supports
- Basic command anatomy
- Master and minion connection and authentication sequence
- Introductory remote execution and state workflow
- https://docs.saltproject.io/en/latest/topics/targeting/index.html
Supports
- Glob, regular-expression, list, grain, Pillar, and compound targeting
- Boolean compound target syntax
- https://docs.saltproject.io/salt/user-guide/en/latest/topics/states.html
Supports
- Desired-state purpose and state module behavior
- State tree, top file, environments, and highstate
- Distinction between execution and state modules
- https://docs.saltproject.io/en/latest/ref/states/requisites.html
Supports
- Dependency graph and requisite direction
- require, watch, onchanges, onfail, in, and any forms
- Service reaction after configuration change
- https://docs.saltproject.io/en/latest/topics/grains/index.html
Supports
- Grains as relatively static minion facts
- Grain use for targeting and templates
- Guidance for choosing Pillar or an execution module instead
- https://docs.saltproject.io/en/latest/topics/pillar/
Supports
- Master-defined data targeted and compiled for individual minions
- Pillar use in state rendering
- Suitability for sensitive per-minion values
- https://docs.saltproject.io/salt/user-guide/en/latest/topics/reactors.html
Supports
- Event bus, beacon, reactor, and client roles
- Sequential reactor rendering and longer runner work
- Risk of beacon and reactor loops
- https://docs.saltproject.io/salt/user-guide/en/latest/topics/security.html
Supports
- Minion key presentation, manual acceptance, and fingerprint verification
- Master authentication and encrypted communication
- Risks of automatic acceptance and open mode
- Publisher access controls
- https://docs.saltproject.io/en/latest/topics/troubleshooting/
Supports
- SLS rendering and compiled-state inspection
- State test mode behavior
- Connection and firewall troubleshooting path
- https://github.com/sindresorhus/awesome
Supports
- Starting index used to discover topic-specific awesome lists
- https://github.com/hbokh/awesome-saltstack
Supports
- Discovery of salt-lint and salt-sproxy as Salt ecosystem tools
- Curated Salt ecosystem categories and descriptions
- https://salt-lint.readthedocs.io/en/latest/
Supports
- SLS formatting and state-authoring checks
- Local and continuous-integration usage
- https://salt-sproxy.readthedocs.io/en/latest/
Supports
- Salt plug-in for device management without continuously running proxy minions
- Targeting and quick-start workflow
