SaltStack Deconstructed - Intro image/svg+xml SaltStack Deconstructed - Intro salt/modules /srv/salt/_modules Repo: Custom: $ salt '*' saltutil.sync_grains Master salt-master Ca redis . fetch Ca redis . store Master salt-master Ca localfs . fetch Ca localfs . store Ca redis . fetch Ca redis . store Ca localfs . fetch Ca localfs . store salt/cache N/A Repo: Custom: $ cp mycache.py <SALT DIST PATH>/salt/cache/ salt-minion salt-minion salt-minion salt-minion salt-minion salt-minion Minion Minion Minion Minion Minion Minion Ro flat . targets salt-ssh Ro ansible . targets Ro sshconfig . targets Ro flat . targets salt/roster N/A Repo: Custom: $ cp myroster.py <SALT DIST PATH>/salt/roster/ nginx.sls #!jinja|yaml Re jinja . render Re yaml . render Re py . render nginx.sls #!py nginx.sls Re py . render Re mako . render Re jinja . render salt/renderers /srv/salt/_renderers Repo: Custom: $ salt '*' saltutil.sync_renderers Ex cmd . run sudo Et sudo . execute salt-minion salt-master $ salt --module-executors=sudo '*' cmd.run 'touch /file' Ex cmd . run salt-minion salt-master $ salt '*' cmd.run 'touch /file' Et sudo . execute Et splay . execute Et direct_call . execute salt/executors N/A Repo: Custom: $ cp myexec.py <SALT DIST PATH>/salt/executors/ states/my_module.py Se msgpack . serialize St my_module . ensure_cfg /srv/salt/config.sls Se json . serialize Se json . serialize St file . serialize Se msgpack . deserialize Se msgpack . serialize Se json . serialize Se json . deserialize Se msgpack . serialize Se msgpack . deserialize salt/serializers /srv/salt/_serializers Repo: Custom: $ salt '*' saltutil.sync_serializers
1
  1. serializer
  2. executors
  3. renderers
  4. roster
  5. cache
  6. End