Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Salty Servers Taste Better
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Seb
July 11, 2013
Technology
0
210
Salty Servers Taste Better
Seb
July 11, 2013
Tweet
Share
More Decks by Seb
See All by Seb
Double Click - Continue Building Better CLIs
elbaschid
0
480
I Can Be A Speaker, So Can You
elbaschid
0
320
Click - PyCaribbean 2017 - Puerto Rico
elbaschid
0
450
Conferencing - Engineering Meeting
elbaschid
1
46
Show & Tell - PyCon US 2016 Summary
elbaschid
1
110
Click: A Pleasure To Write, A Pleasure To Use
elbaschid
0
670
Hunting for Treasure in Django
elbaschid
1
710
Moby & The Beanstalk
elbaschid
1
520
Docker In Production - A War Story
elbaschid
1
320
Other Decks in Technology
See All in Technology
Zeal of the Convert: Taming Shai-Hulud with AI
ramimac
0
150
AI実装による「レビューボトルネック」を解消する仕様駆動開発(SDD)/ ai-sdd-review-bottleneck
rakus_dev
0
160
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
1
450
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
170
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
3
1k
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
240
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
13k
OSC仙台プレ勉強会 AlmaLinuxとは
koedoyoshida
0
190
アーキテクチャモダナイゼーションを実現する組織
satohjohn
1
1.1k
複数クラスタ運用と検索の高度化:ビズリーチにおけるElastic活用事例 / ElasticON Tokyo2026
visional_engineering_and_design
0
170
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
130
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
190
The Spectacular Lies of Maps
axbom
PRO
1
630
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
250
We Have a Design System, Now What?
morganepeng
55
8k
Skip the Path - Find Your Career Trail
mkilby
1
86
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
53k
Code Review Best Practice
trishagee
74
20k
Agile that works and the tools we love
rasmusluckow
331
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
90
Transcript
Salty Servers Taste Better Sebastian Vetter @elbaschid github.com/elbaschid
Who am I? • I work for Tangent Snowball •
I love Python & Django • I passionate about CI & CD • I hate doing things by hand
Disclaimer • I am not a DevOp • I don't
know much about puppet/chef • This presentation might suck ;)
Who has heard about saltstack?
Why am I talking about salt? Because • it is
awesome! • it is magic! • I love automation! • it is awesome!
What I'll be talking about today • The basics of
salt ... • ... and how to use it everywhere
Check out this freshly squeezed talk
Two Types of Servers
4 Major Parts • Modules • Grains • Salt states
• Pillar
Modules • remote execution • administration from master • run
on selected minions
Grains provide • hostname • OS details • roles of
the host
Grains example {{ grains['oscodename'] }}
Salt states define • installed packages • managed files •
running services • ... and more ...
Salt state examples redis: pkg.installed: - name: redis-server service.running: -
name: redis-server - enable: True - require: - pkg: redis
Pillars • define sensitive data • are selective distribution •
can be used in
Pillar example database: prefixes: - dev - test
Get Pillar data {{ salt['pillar.get']('database:prefixes:dev', None) }}
The master configuration # define the salt state director(y|ies) file_roots:
base: - /srv/salt # define the pillar director(y|ies) pillar_roots: base: - /srv/salt
The minion configuration master: 127.0.0.1
/srv/salt/top.sls • main entry point • one each for pillar
and salt • must be in pillar/salt roots
An example base: '*': - core - python - ssh
- iptables 'coolsite-*': - nginx - supervisor - virtualen 'os:Windows': - destroy
Here comes the magic $ salt '*' state.highstate
What else can you do • share states through gitfs
• handle your cloud with salt-cloud • provision vagrant or docker
Thanks for listening Got Questions?