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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
460
Conferencing - Engineering Meeting
elbaschid
1
47
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
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
450
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
240
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
130
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.9k
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
0
140
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
210
AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用 / QA Knowledge as Assets with AI Agents & GitHub
tknw_hitsuji
0
240
How to install a gem
indirect
0
1.6k
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
190
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
100
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
180
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
370
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
240
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
250
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
230
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
200
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
89
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?