Install and Configure a Salt Master and Minion

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

While minimal configuration needs to be done to get Salt up and running, there are an extensive amount of configuration options that allow us to change how Salt performs and how it behaves. One of these changes is that we can set a git backend so our Salt states and formulas are under version control. In this hands-on lab, we’ll use Salt’s configuration options to set up a git backend for use with our Salt master.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Prepare the Master
  1. Install pygit2.
  2. Install Salt on the master.
Configure Salt
  1. Update the master configuration to use the gitfs backend.
  2. Add the git remote (
  3. Restart the master.
Test the Configuration
  1. Install Salt on the minion.
  2. Run a highstate (salt 'dev' state.highstate).

Additional Resources

You work as a DevOps engineer for the digital publisher, Providentia Press. You already use Salt to maintain your server fleet, but are considering switching from using the root filesystem in favor of providing a fileserver backend via GitHub ( You need to sell this to your manager, so you decide to provision a test enviroment demonstrating this funtionality to show to the higher-ups. Using the provided GitHub repo and servers, configure the provided Ubuntu 20.04 master so it uses the appropriate backend. When finished, run a highstate against the master to test the backend.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?