Code Monkey home page Code Monkey logo

vagrant-saltstack-example's Introduction

SaltStack Example

This GitHub repository provides several different examples for the configuration and typical usage of the configuration management software 'salt' by SaltStack.

The SaltStack team provides a walkthrough here: http://docs.saltstack.com/en/latest/topics/tutorials/walkthrough.html

This example focuses on a more practical hands on approach. Using Vagrant and the provided Vagrantfile, you can quickly get start learning about salt. Currently the Vagrantfile in this repository will set up three systems (master, client1, client2) with salt. The vagrantfile will also configure virtualbox to sync the folders in this repository to the master.

Requirements

Instructions

To initialize the example:

  • Clone to local disk. git clone https://github.com/666jfox777/vagrant-saltstack-example.git
  • Browse to folder. `cd ~/vagrant-saltstack-example/
  • vagrant up

Connect to the systems:

  • vagrant ssh master
  • vagrant ssh client1
  • vagrant ssh client2

To remove the example:

  • vagrant destroy
  • rm -rf ~/vagrant-saltstack-example/

Tutorial (Sort of)

First up is a bit of an explanation about what Salt is, and why it's so awesome. Salt was originally designed for high-speed communication (aka remote execution) with large numbers of systems. It then took the next logical step and became a configuration management utility founded on the same principle of fast communication.

So at it's core Salt is a remote execution engine, that establishes a high-speed, secure and bi-directional communication grid for groups of systems. Then on top of that, Salt provides an extremely fast, flexible and easy-to-use configuration management system.

What I love most about Salt is how easy it is to use as a configuration management tool. The configuration files are written in yaml (you'll see examples soon) and Salt provides many options for templating with jinja (amongst other engines). It's relatively simple to look at your files and know exactly what's going on.

So this sort of tutorial is going to cover a few key concepts:

  • Remote Execution
  • Basic Configuration Management
  • Better Configuration Management
  • Advanced Configuration Management

All of the steps included in this tutorial should be executed on the included 'master' server. Aka, vagrant ssh master.

Remote Execution

Configuring basic remote execution with a client-server architecture: here

Basic Configuration Management

Configuring basic configuration management with a client-server architecture: here

Better Configuration Management

Easy client configuration management (no master required!): here

Advanced Configuration Management

Create Salt Modules to tackle common tasks: here

Deploying a Node.js application as a service: here

Using Salt-Cloud in AWS EC2: here

Salt Reactor System: here

Disclaimer

I use a lot of saltstack formula's I've written myself in this demo repository. You don't have to.

vagrant-saltstack-example's People

Contributors

666jfox777 avatar

Stargazers

Jonathan Wilbur avatar James Loosli avatar kdelay avatar  avatar

Watchers

Darryl Pogue avatar  avatar James Cloos avatar  avatar

Forkers

jamesloosli yyztc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.