blob: bcf649327a245dfd8a4c2347d2114d8d58c1b988 [file] [log] [blame]
Filip Pytlounb4b80592015-10-06 16:28:32 +02001
Ales Komarek54740682017-05-15 07:16:23 +02002============
3Salt Formula
4============
Filip Pytlounb4b80592015-10-06 16:28:32 +02005
Ales Komarek54740682017-05-15 07:16:23 +02006Salt is a new approach to infrastructure management. Easy enough to get
7running in minutes, scalable enough to manage tens of thousands of servers,
8and fast enough to communicate with them in seconds.
Filip Pytlounb4b80592015-10-06 16:28:32 +02009
Ales Komarek54740682017-05-15 07:16:23 +020010Salt delivers a dynamic communication bus for infrastructures that can be used
11for orchestration, remote execution, configuration management and much more.
Filip Pytlounb4b80592015-10-06 16:28:32 +020012
Ales Komarek54740682017-05-15 07:16:23 +020013
14Sample Metadata
15===============
16
Filip Pytlounb4b80592015-10-06 16:28:32 +020017
Ales Komarekd768f1c2018-01-30 22:37:18 +010018Salt Master
Filip Pytlounb4b80592015-10-06 16:28:32 +020019-----------
20
Ales Komarek54740682017-05-15 07:16:23 +020021Salt master with base formulas and pillar metadata backend
Filip Pytlounb4b80592015-10-06 16:28:32 +020022
Ales Komarek8ba9c0b2016-02-21 14:59:59 +010023.. literalinclude:: tests/pillar/master_single_pillar.sls
24 :language: yaml
Filip Pytlounb4b80592015-10-06 16:28:32 +020025
Ales Komarek54740682017-05-15 07:16:23 +020026Salt master with reclass ENC metadata backend
Filip Pytlounb4b80592015-10-06 16:28:32 +020027
Ales Komarek8ba9c0b2016-02-21 14:59:59 +010028.. literalinclude:: tests/pillar/master_single_reclass.sls
29 :language: yaml
Filip Pytlounb4b80592015-10-06 16:28:32 +020030
Ales Komarek459407b2018-01-18 17:16:31 +010031Salt master with Architect ENC metadata backend
32
33.. code-block:: yaml
34
35 salt:
36 master:
37 enabled: true
38 pillar:
39 engine: architect
40 project: project-name
41 host: architect-api
42 port: 8181
43 username: salt
44 password: password
45
Petr Michalec1f541c42017-08-17 13:30:37 +020046Salt master with multiple ext_pillars
47
48.. literalinclude:: tests/pillar/master_single_extpillars.sls
49 :language: yaml
50
Filip Pytlounb4b80592015-10-06 16:28:32 +020051Salt master with API
52
Ales Komarekb2c8ff62016-08-22 00:20:01 +020053.. literalinclude:: tests/pillar/master_api.sls
54 :language: yaml
Ales Komarekcdb280f2016-07-27 15:37:51 +020055
56Salt master with defined user ACLs
57
Ales Komarekb2c8ff62016-08-22 00:20:01 +020058.. literalinclude:: tests/pillar/master_acl.sls
59 :language: yaml
Filip Pytlounb4b80592015-10-06 16:28:32 +020060
61Salt master with preset minions
62
63.. code-block:: yaml
64
65 salt:
66 master:
67 enabled: true
Filip Pytlounb4b80592015-10-06 16:28:32 +020068 minions:
69 - name: 'node1.system.location.domain.com'
70
Ales Komarek54740682017-05-15 07:16:23 +020071Salt master with pip based installation (optional)
Adam Tenglercaedd972016-05-04 16:44:00 +020072
73.. code-block:: yaml
74
75 salt:
76 master:
77 enabled: true
78 ...
79 source:
80 engine: pip
81 version: 2016.3.0rc2
82
Ales Komarek54740682017-05-15 07:16:23 +020083Install formula through system package management
Adam Tengler3eb85ad2016-05-06 02:52:40 +020084
85.. code-block:: yaml
86
87 salt:
88 master:
89 enabled: true
90 ...
91 environment:
92 prd:
Petr Michalec7a2f1d22017-05-17 22:08:32 +020093 keystone:
Adam Tengler3eb85ad2016-05-06 02:52:40 +020094 source: pkg
95 name: salt-formula-keystone
Petr Michalec7a2f1d22017-05-17 22:08:32 +020096 nova:
97 source: pkg
98 name: salt-formula-keystone
99 version: 0.1+0~20160818133412.24~1.gbp6e1ebb
100 postresql:
101 source: pkg
102 name: salt-formula-postgresql
103 version: purged
104
105Formula keystone is installed latest version and the formulas without version are installed in one call to aptpkg module.
106If the version attribute is present sls iterates over formulas and take action to install specific version or remove it.
107The version attribute may have these values ``[latest|purged|removed|<VERSION>]``.
Adam Tengler3eb85ad2016-05-06 02:52:40 +0200108
109Clone master branch of keystone formula as local feature branch
110
111.. code-block:: yaml
112
113 salt:
114 master:
115 enabled: true
116 ...
117 environment:
118 dev:
119 formula:
120 keystone:
121 source: git
122 address: git@github.com:openstack/salt-formula-keystone.git
123 revision: master
124 branch: feature
125
126Salt master with specified formula refs (for example for Gerrit review)
127
128.. code-block:: yaml
129
130 salt:
131 master:
132 enabled: true
133 ...
134 environment:
135 dev:
136 formula:
137 keystone:
138 source: git
139 address: https://git.openstack.org/openstack/salt-formula-keystone
140 revision: refs/changes/56/123456/1
141
Ales Komarek54740682017-05-15 07:16:23 +0200142Salt master with logging handlers
Filip Pytlounb4b80592015-10-06 16:28:32 +0200143
144.. code-block:: yaml
145
146 salt:
147 master:
148 enabled: true
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100149 handler:
150 handler01:
151 engine: udp
152 bind:
153 host: 127.0.0.1
154 port: 9999
Filip Pytlounb4b80592015-10-06 16:28:32 +0200155 minion:
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100156 handler:
157 handler01:
158 engine: udp
159 bind:
160 host: 127.0.0.1
161 port: 9999
162 handler02:
163 engine: zmq
164 bind:
165 host: 127.0.0.1
166 port: 9999
167
Ales Komareka9fc6e72017-09-06 15:02:40 +0200168Salt engine definition for saltgraph metadata collector
169
170.. code-block:: yaml
171
172 salt:
173 master:
174 engine:
175 graph_metadata:
176 engine: saltgraph
177 host: 127.0.0.1
178 port: 5432
179 user: salt
180 password: salt
181 database: salt
182
Ales Komarek459407b2018-01-18 17:16:31 +0100183Salt engine definition for Architect service
184
185.. code-block:: yaml
186
187 salt:
188 master:
189 engine:
190 architect:
191 engine: architect
192 project: project-name
193 host: architect-api
194 port: 8181
195 username: salt
196 password: password
197
Ales Komareka9fc6e72017-09-06 15:02:40 +0200198Salt engine definition for sending events from docker events
199
200.. code-block:: yaml
201
202 salt:
203 master:
204 engine:
205 docker_events:
206 docker_url: unix://var/run/docker.sock
207
Ales Komarek54740682017-05-15 07:16:23 +0200208Salt master peer setup for remote certificate signing
Jakub Pavlikd4859842016-05-23 10:48:04 +0200209
210.. code-block:: yaml
211
212 salt:
213 master:
214 peer:
215 ".*":
216 - x509.sign_remote_certificate
Filip Pytlounb4b80592015-10-06 16:28:32 +0200217
Ales Komarekb2ada522017-12-07 11:31:32 +0100218
219Salt master backup configuration
220
221.. code-block:: yaml
222
223 salt:
224 master:
225 backup: true
226 initial_data:
227 engine: backupninja
Jiri Broulik3e281642018-03-02 18:17:21 +0100228 home_dir: remote-backup-home-dir
Ales Komarekb2ada522017-12-07 11:31:32 +0100229 source: backup-node-host
230 host: original-salt-master-id
231
Tomáš Kukrál8922aef2017-05-10 10:27:04 +0200232Configure verbosity of state output (used for `salt` command)
233
234.. code-block:: yaml
235
236 salt:
237 master:
Tomáš Kukrál044667b2017-05-11 10:12:15 +0200238 state_output: changes
Tomáš Kukrál8922aef2017-05-10 10:27:04 +0200239
Ales Komarekd768f1c2018-01-30 22:37:18 +0100240Pass pillar render error to minion log
241
242.. note:: When set to `False` this option is great for debuging.
243 However it is not recomended for any production environment as it may contain
244 templating data as passwords, etc... , that minion should not expose.
245
246.. code-block:: yaml
247
248 salt:
249 master:
250 pillar_safe_render_error: False
251
252
253Event/Reactor Systems
254~~~~~~~~~~~~~~~~~~~~~
Petr Michalec1f541c42017-08-17 13:30:37 +0200255
Ales Komareke7844d12017-06-08 12:00:01 +0200256Salt synchronise node pillar and modules after start
Ales Komarek54740682017-05-15 07:16:23 +0200257
258.. code-block:: yaml
259
260 salt:
261 master:
262 reactor:
263 salt/minion/*/start:
Ales Komareke7844d12017-06-08 12:00:01 +0200264 - salt://salt/reactor/node_start.sls
Ales Komarek54740682017-05-15 07:16:23 +0200265
Ales Komareke7844d12017-06-08 12:00:01 +0200266Trigger basic node install
267
268.. code-block:: yaml
269
270 salt:
271 master:
272 reactor:
273 salt/minion/install:
274 - salt://salt/reactor/node_install.sls
275
276Sample event to trigger the node installation
277
278.. code-block:: bash
279
280 salt-call event.send 'salt/minion/install'
281
Ales Komarek213fbe02017-08-21 16:39:05 +0200282Run any defined orchestration pipeline
Ales Komarek5c58de32017-06-06 11:49:32 +0200283
284.. code-block:: yaml
285
286 salt:
287 master:
288 reactor:
289 salt/orchestrate/start:
290 - salt://salt/reactor/orchestrate_start.sls
291
Ales Komareke7844d12017-06-08 12:00:01 +0200292Event to trigger the orchestration pipeline
Ales Komarek5c58de32017-06-06 11:49:32 +0200293
294.. code-block:: bash
295
Ales Komareke7844d12017-06-08 12:00:01 +0200296 salt-call event.send 'salt/orchestrate/start' "{'orchestrate': 'salt/orchestrate/infra_install.sls'}"
Ales Komarek5c58de32017-06-06 11:49:32 +0200297
Ales Komarek3ed7c432017-08-24 16:15:49 +0200298Synchronise modules and pillars on minion start.
299
300.. code-block:: yaml
301
302 salt:
303 master:
304 reactor:
305 'salt/minion/*/start':
306 - salt://salt/reactor/minion_start.sls
307
Ales Komarek213fbe02017-08-21 16:39:05 +0200308Add and/or remove the minion key
Ales Komarek5c58de32017-06-06 11:49:32 +0200309
310.. code-block:: yaml
311
312 salt:
313 master:
314 reactor:
Ales Komarek213fbe02017-08-21 16:39:05 +0200315 salt/key/create:
316 - salt://salt/reactor/key_create.sls
317 salt/key/remove:
318 - salt://salt/reactor/key_remove.sls
Ales Komarek5c58de32017-06-06 11:49:32 +0200319
Ales Komarek213fbe02017-08-21 16:39:05 +0200320Event to trigger the key creation
Ales Komarek5c58de32017-06-06 11:49:32 +0200321
322.. code-block:: bash
323
Adam Tengler62188962017-09-04 13:34:44 +0000324 salt-call event.send 'salt/key/create' \
325 > "{'node_id': 'id-of-minion', 'node_host': '172.16.10.100', 'orch_post_create': 'kubernetes.orchestrate.compute_install', 'post_create_pillar': {'node_name': 'id-of-minion'}}"
Ales Komarek5c58de32017-06-06 11:49:32 +0200326
Ales Komarek213fbe02017-08-21 16:39:05 +0200327.. note::
328
329 You can add pass additional `orch_pre_create`, `orch_post_create`,
330 `orch_pre_remove` or `orch_post_remove` parameters to the event to call
331 extra orchestrate files. This can be useful for example for
332 registering/unregistering nodes from the monitoring alarms or dashboards.
333
334 The key creation event needs to be run from other machine than the one
335 being registered.
336
337Event to trigger the key removal
338
339.. code-block:: bash
340
341 salt-call event.send 'salt/key/remove'
Ales Komarek54740682017-05-15 07:16:23 +0200342
Dzmitry Stremkouski7ee23402018-04-10 00:43:48 +0200343Control VM provisioning
344
345.. code-block:: yaml
346
347 virt:
348 disk:
349 three_disks:
350 - system:
351 size: 4096
352 image: ubuntu.qcow
353 - repository_snapshot:
354 size: 8192
355 image: snapshot.qcow
356 - cinder-volume:
357 size: 2048
Ondrej Smolae6bcb292018-04-13 10:56:39 +0200358 nic:
359 control:
360 - name: nic01
361 bridge: br-pxe
362 model: virtio
363 - name: nic02
364 bridge: br-cp
365 model: virtio
366 - name: nic03
367 bridge: br-store-front
368 model: virtio
369 - name: nic04
370 bridge: br-public
371 model: virtio
372
Dzmitry Stremkouski7ee23402018-04-10 00:43:48 +0200373
374 salt:
375 control:
376 enabled: true
377 virt_enabled: true
378 size:
379 medium_three_disks:
380 cpu: 2
381 ram: 4
382 disk_profile: three_disks
383 cluster:
384 mycluster:
385 domain: neco.virt.domain.com
386 engine: virt
387 node:
388 ubuntu1:
389 provider: node01.domain.com
390 image: ubuntu.qcow
391 size: medium
392 img_dest: /var/lib/libvirt/ssdimages
393 rng:
394 backend: /dev/urandom
395 model: random
396 rate:
397 period: '1800'
398 bytes: '1500'
Ondrej Smolae6bcb292018-04-13 10:56:39 +0200399 mac:
400 nic01: AC:DE:48:AA:AA:AA
401 nic02: AC:DE:48:AA:AA:BB
402
403
Petr Michalec1f541c42017-08-17 13:30:37 +0200404
Petr Michalecdf75d682018-02-07 13:43:53 +0100405Jinja options
406-------------
407
408Use following options to update default jinja renderer options. Salt recognize Jinja options for templates and for sls files.
409
410For full list of options check jinja documentation: http://jinja.pocoo.org/docs/api/#high-level-api.
411
412.. code-block:: yaml
413
414
415 salt:
416 renderer:
417 # for templates
418 jinja: &jina_env
419 # Default Jinja environment options
420 block_start_string: '{%'
421 block_end_string: '%}'
422 variable_start_string: '{{'
423 variable_end_string: '}}'
424 comment_start_string: '{#'
425 comment_end_string: '#}'
426 keep_trailing_newline: False
427 newline_sequence: '\n'
428
429 # Next two are enabled by default in Salt
430 trim_blocks: True
431 lstrip_blocks: True
432
433 # Next two are not enabled by default in Salt
434 # but worth to consider to enable in future for salt-formulas
435 line_statement_prefix: '%'
436 line_comment_prefix: '##'
437
438 # for .sls state files
439 jinja_sls: *jinja_env
440
441
442
443With the line_statement/comment* _prefix options enabled following code statements are valid:
444
445.. code-block:: yaml
446 %- set myvar = 'one'
447
448 ## You can mix even with '{%'
449 {%- set myvar = 'two' %} ## comment
450 %- set mylist = ['one', 'two', 'three'] ## comment
451
452 ## comment
453 %- for item in mylist: ## comment
454 {{- item }}
455 %- endfor
456
457
458Encrypted pillars
Ales Komarekd768f1c2018-01-30 22:37:18 +0100459~~~~~~~~~~~~~~~~~
Petr Michalec1f541c42017-08-17 13:30:37 +0200460
461Note: NACL + below configuration will be available in Salt > 2017.7.
462
463External resources:
464
465- Tutorial to configure salt + reclass ext_pillar and nacl: http://apealive.net/post/2017-09-salt-nacl-ext-pillar/
466- Saltstack documentation: https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.nacl.html
467
468Configure salt NACL module:
469
470.. code-block:: shell
471
472 pip install --upgrade libnacl===1.5.2
473 salt-call --local nacl.keygen /etc/salt/pki/master/nacl
474
475 local:
476 saved sk_file:/etc/salt/pki/master/nacl pk_file: /etc/salt/pki/master/nacl.pub
477
478
479.. code-block:: yaml
480
481 salt:
482 master:
483 pillar:
484 reclass: *reclass
485 nacl:
486 index: 99
487 nacl:
488 box_type: sealedbox
489 sk_file: /etc/salt/pki/master/nacl
490 pk_file: /etc/salt/pki/master/nacl.pub
491 #sk: None
492 #pk: None
493
494NACL encrypt secrets:
495
496 salt-call --local nacl.enc 'my_secret_value' pk_file=/etc/salt/pki/master/nacl.pub
497 hXTkJpC1hcKMS7yZVGESutWrkvzusXfETXkacSklIxYjfWDlMJmR37MlmthdIgjXpg4f2AlBKb8tc9Woma7q
498 # or
499 salt-run nacl.enc 'myotherpass'
500 ADDFD0Rav6p6+63sojl7Htfrncp5rrDVyeE4BSPO7ipq8fZuLDIVAzQLf4PCbDqi+Fau5KD3/J/E+Pw=
501
502
503NACL encrypted values on pillar:
504
505Use Boxed syntax `NACL[CryptedValue=]` to encode value on pillar:
506
507.. code-block:: yaml
508
509 my_pillar:
510 my_nacl:
511 key0: unencrypted_value
512 key1: NACL[hXTkJpC1hcKMS7yZVGESutWrkvzusXfETXkacSklIxYjfWDlMJmR37MlmthdIgjXpg4f2AlBKb8tc9Woma7q]
513
514NACL large files:
515
516.. code-block:: shell
517 salt-call nacl.enc_file /tmp/cert.crt out=/srv/salt/env/dev/cert.nacl
518 # or more advanced
519 cert=$(cat /tmp/cert.crt)
520 salt-call --out=newline_values_only nacl.enc_pub data="$cert" > /srv/salt/env/dev/cert.nacl
521
522
523NACL within template/native pillars:
524
525 pillarexample:
526 user: root
527 password1: {{salt.nacl.dec('DRB7Q6/X5gGSRCTpZyxS6hlbWj0llUA+uaVyvou3vJ4=')|json}}
528 cert_key: {{salt.nacl.dec_file('/srv/salt/env/dev/certs/example.com/cert.nacl')|json}}
529 cert_key2: {{salt.nacl.dec_file('salt:///certs/example.com/cert2.nacl')|json}}
530
Ales Komarekd768f1c2018-01-30 22:37:18 +0100531
532Salt Syndic
Ales Komarek54740682017-05-15 07:16:23 +0200533-----------
534
535The master of masters
536
537.. code-block:: yaml
538
539 salt:
540 master:
541 enabled: true
542 order_masters: True
543
544Lower syndicated master
545
546.. code-block:: yaml
547
548 salt:
549 syndic:
550 enabled: true
551 master:
552 host: master-of-master-host
553 timeout: 5
554
555Syndicated master with multiple master of masters
556
557.. code-block:: yaml
558
559 salt:
560 syndic:
561 enabled: true
562 masters:
563 - host: master-of-master-host1
564 - host: master-of-master-host2
565 timeout: 5
566
567
Ales Komarekd768f1c2018-01-30 22:37:18 +0100568Salt Minion
569-----------
570
571Simplest Salt minion setup with central configuration node
572
573.. code-block:: yaml
574
575.. literalinclude:: tests/pillar/minion_master.sls
576 :language: yaml
577
578Multi-master Salt minion setup
579
580.. literalinclude:: tests/pillar/minion_multi_master.sls
581 :language: yaml
582
583Salt minion with salt mine options
584
585.. literalinclude:: tests/pillar/minion_mine.sls
586 :language: yaml
587
588Salt minion with graphing dependencies
589
590.. literalinclude:: tests/pillar/minion_graph.sls
591 :language: yaml
592
593Salt minion behind HTTP proxy
594
595.. code-block:: yaml
596
597 salt:
598 minion:
599 proxy:
600 host: 127.0.0.1
601 port: 3128
602
603Salt minion to specify non-default HTTP backend. The default tornado backend
604does not respect HTTP proxy settings set as environment variables. This is
605useful for cases where you need to set no_proxy lists.
606
607.. code-block:: yaml
608
609 salt:
610 minion:
611 backend: urllib2
612
613
614Salt minion with PKI certificate authority (CA)
615
616.. literalinclude:: tests/pillar/minion_pki_ca.sls
617 :language: yaml
618
619Salt minion using PKI certificate
620
621.. literalinclude:: tests/pillar/minion_pki_cert.sls
622 :language: yaml
623
624Salt minion trust CA certificates issued by salt CA on a specific host (ie: salt-master node)
625
626.. code-block:: yaml
627
628 salt:
629 minion:
630 trusted_ca_minions:
631 - cfg01
632
633
634Salt Minion Proxy
635~~~~~~~~~~~~~~~~~
Jiri Broulika0f46682017-04-20 22:45:01 +0200636
637Salt proxy pillar
638
639.. code-block:: yaml
640
641 salt:
642 minion:
Jiri Broulik88275242017-05-24 17:21:17 +0200643 proxy_minion:
Jiri Broulika0f46682017-04-20 22:45:01 +0200644 master: localhost
645 device:
646 vsrx01.mydomain.local:
647 enabled: true
648 engine: napalm
649 csr1000v.mydomain.local:
650 enabled: true
651 engine: napalm
652
653.. note:: This is pillar of the the real salt-minion
654
655
656Proxy pillar for IOS device
657
658.. code-block:: yaml
659
660 proxy:
661 proxytype: napalm
662 driver: ios
663 host: csr1000v.mydomain.local
664 username: root
665 passwd: r00tme
666
667.. note:: This is pillar of the node thats not able to run salt-minion itself
668
669
670Proxy pillar for JunOS device
671
672.. code-block:: yaml
673
674 proxy:
675 proxytype: napalm
676 driver: junos
677 host: vsrx01.mydomain.local
678 username: root
679 passwd: r00tme
680 optional_args:
681 config_format: set
682
683.. note:: This is pillar of the node thats not able to run salt-minion itself
684
Ales Komarek8fb1da82016-08-21 23:52:03 +0200685
686Salt SSH
Ales Komarekd768f1c2018-01-30 22:37:18 +0100687~~~~~~~~
Ales Komarek8fb1da82016-08-21 23:52:03 +0200688
689Salt SSH with sudoer using key
690
691.. literalinclude:: tests/pillar/master_ssh_minion_key.sls
692 :language: yaml
693
694Salt SSH with sudoer using password
695
696.. literalinclude:: tests/pillar/master_ssh_minion_password.sls
697 :language: yaml
698
699Salt SSH with root using password
700
701.. literalinclude:: tests/pillar/master_ssh_minion_root.sls
702 :language: yaml
703
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100704Salt control (cloud/kvm/docker)
705-------------------------------
Filip Pytlounb4b80592015-10-06 16:28:32 +0200706
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100707Salt cloud with local OpenStack provider
Filip Pytlounb4b80592015-10-06 16:28:32 +0200708
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100709.. literalinclude:: tests/pillar/control_cloud_openstack.sls
710 :language: yaml
Filip Pytlounb4b80592015-10-06 16:28:32 +0200711
712Salt cloud with Digital Ocean provider
713
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100714.. literalinclude:: tests/pillar/control_cloud_digitalocean.sls
715 :language: yaml
Filip Pytlounb4b80592015-10-06 16:28:32 +0200716
Ales Komarek8fb1da82016-08-21 23:52:03 +0200717Salt virt with KVM cluster
Filip Pytlounb4b80592015-10-06 16:28:32 +0200718
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100719.. literalinclude:: tests/pillar/control_virt.sls
720 :language: yaml
Filip Pytlounb4b80592015-10-06 16:28:32 +0200721
Mateusz Los4c7cd2d2018-01-09 11:46:07 +0100722salt virt with custom destination for image file
723
724.. literalinclude:: tests/pillar/control_virt_custom.sls
725 :language: yaml
726
Filip Pytlounb4b80592015-10-06 16:28:32 +0200727
728Usage
729=====
730
731Working with salt-cloud
732
733.. code-block:: bash
734
735 salt-cloud -m /path/to/map --assume-yes
736
737Debug LIBCLOUD for salt-cloud connection
738
739.. code-block:: bash
740
741 export LIBCLOUD_DEBUG=/dev/stderr; salt-cloud --list-sizes provider_name --log-level all
742
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100743
Ales Komarekd768f1c2018-01-30 22:37:18 +0100744References
745==========
Filip Pytlounb4b80592015-10-06 16:28:32 +0200746
747* http://salt.readthedocs.org/en/latest/
748* https://github.com/DanielBryan/salt-state-graph
749* http://karlgrz.com/testing-salt-states-rapidly-with-docker/
750* https://mywushublog.com/2013/03/configuration-management-with-salt-stack/
751* http://russell.ballestrini.net/replace-the-nagios-scheduler-and-nrpe-with-salt-stack/
752* https://github.com/saltstack-formulas/salt-formula
753* http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
754
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100755
Filip Pytlounb4b80592015-10-06 16:28:32 +0200756salt-cloud
757----------
758
759* http://www.blog.sandro-mathys.ch/2013/07/setting-user-password-when-launching.html
760* http://cloudinit.readthedocs.org/en/latest/topics/examples.html
761* http://salt-cloud.readthedocs.org/en/latest/topics/install/index.html
762* http://docs.saltstack.com/topics/cloud/digitalocean.html
763* http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html
764* http://salt-cloud.readthedocs.org/en/latest/topics/map.html
765* http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
Ales Komarek8ba9c0b2016-02-21 14:59:59 +0100766
Filip Pytloun954dbd62017-02-02 13:02:03 +0100767
768Documentation and Bugs
769======================
770
771To learn how to install and update salt-formulas, consult the documentation
772available online at:
773
774 http://salt-formulas.readthedocs.io/
775
776In the unfortunate event that bugs are discovered, they should be reported to
777the appropriate issue tracker. Use Github issue tracker for specific salt
778formula:
779
780 https://github.com/salt-formulas/salt-formula-salt/issues
781
782For feature requests, bug reports or blueprints affecting entire ecosystem,
783use Launchpad salt-formulas project:
784
785 https://launchpad.net/salt-formulas
786
787You can also join salt-formulas-users team and subscribe to mailing list:
788
789 https://launchpad.net/~salt-formulas-users
790
791Developers wishing to work on the salt-formulas projects should always base
792their work on master branch and submit pull request against specific formula.
793
794 https://github.com/salt-formulas/salt-formula-salt
795
796Any questions or feedback is always welcome so feel free to join our IRC
797channel:
798
799 #salt-formulas @ irc.freenode.net