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
Seb
July 11, 2013
Technology
210
0
Share
Salty Servers Taste Better
Seb
July 11, 2013
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
460
Conferencing - Engineering Meeting
elbaschid
1
48
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
720
Moby & The Beanstalk
elbaschid
1
520
Docker In Production - A War Story
elbaschid
1
320
Other Decks in Technology
See All in Technology
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
530
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
220
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
2
310
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
100
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
190
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
3
390
🀄️ on swiftc
giginet
PRO
0
360
Databricksで構築するログ検索基盤とアーキテクチャ設計
cscengineer
0
190
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
1
220
DevOpsDays Tokyo 2026 軽量な仕様書と新たなDORA AI ケイパビリティで実現する、動くソフトウェアを中心とした開発ライフサイクル / DevOpsDays Tokyo 2026
n11sh1
0
130
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
29
9k
OBI+APMでお手軽にアプリケーションのオブザーバビリティを手に入れよう
kenshimuto
0
310
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
The Curse of the Amulet
leimatthew05
1
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
The Invisible Side of Design
smashingmag
302
51k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
500
How GitHub (no longer) Works
holman
316
150k
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?