New Saltstack Salt formula
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Ales Komarek 28975d963e Get rid of error when setting custom grains for the first time 9年前
debian Initial commit 9年前
metadata/service tests fixes 9年前
salt Get rid of error when setting custom grains for the first time 9年前
tests Pillar from salt, tests metadata 9年前
.gitignore Tests 9年前
CHANGELOG.rst Initial commit 9年前
LICENSE Initial commit 9年前
README.rst Fixed forgotten code block declaratin in README 9年前
VERSION Initial commit 9年前
metadata.yml tests fixes 9年前

README.rst


====
Salt
====

Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds.

Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.

Sample pillars
==============

Salt master
-----------

Salt master with base environment and pillar metadata source

.. code-block:: yaml

salt:
master:
enabled: true
command_timeout: 5
worker_threads: 2
pillar:
engine: salt
source:
engine: git
address: 'git@repo.domain.com:salt/pillar-demo.git'
branch: 'master'
base_environment: prd
environment:
prd:
enabled: true
formula:
linux:
source: git
address: 'git@repo.domain.com:salt/formula-linux.git'
branch: 'master'
salt:
source: git
address: 'git@repo.domain.com:salt/formula-salt.git'
branch: 'master'
openssh:
source: git
address: 'git@repo.domain.com:salt/formula-openssh.git'
branch: 'master'

Simple Salt master with base environment and custom states

.. code-block:: yaml

salt:
master:
...
environment:
base:
states:
- name: gitlab
source: git
address: 'git@repo.domain.cz:salt/state-gitlab.git'
branch: 'master'
formulas:
...

Salt master with reclass ENC

.. code-block:: yaml

salt:
master:
enabled: true
...
pillar:
engine: reclass
data_dir: /srv/salt/reclass

Salt master with windows repository

.. code-block:: yaml

salt:
master:
enabled: true
...
windows_repo:
type: git
address: 'git@repo.domain.com:salt/win-packages.git'

Salt master with API

.. code-block:: yaml

salt:
master:
...
api:
enabled: true
port: 8000

Salt master with preset minions

.. code-block:: yaml

salt:
master:
enabled: true
...
minions:
- name: 'node1.system.location.domain.com'

Salt master syndicate master of masters

.. code-block:: yaml

salt:
master:
enabled: true
...
syndic:
mode: master

Salt master syndicate (client) master

.. code-block:: yaml

salt:
master:
enabled: true
...
syndicate:
mode: client
host: master-master

Salt master with custom handlers

.. code-block:: yaml

salt:
master:
enabled: true
command_timeout: 5
worker_threads: 2
environments:
- name: base
states:
- source: git
address: 'git@repo.domain.com:salt/state-ubuntu.git'
branch: 'master'
pillar:
source: git
address: 'git@repo.domain.com:salt/pillar-demo.git'
branch: 'master'
handlers:
name: logstash
type: udp
bind:
host: 127.0.0.1
port: 9999
minion:
handlers:
- engine: udp
bind:
host: 127.0.0.1
port: 9999
- engine: zmq
bind:
host: 127.0.0.1
port: 9999

Salt minion
-----------

Simplest Salt minion

.. code-block:: yaml

salt:
minion:
enabled: true
master:
host: master.domain.com

Multi-master Salt minion

.. code-block:: yaml

salt:
minion:
enabled: true
masters:
- host: master1.domain.com
- host: master2.domain.com

Salt minion with salt mine options

.. code-block:: yaml

salt:
minion:
enabled: true
master:
host: master.domain.com
mine:
interval: 60
module:
grains.items: []
network.interfaces: []

Salt minion with graphing dependencies

.. code-block:: yaml

salt:
minion:
enabled: true
graph_states: true
master:
host: master.domain.com

Salt control (cloud/virt)
-------------------------

Salt cloud with local OpenStack insecure (ignoring SSL cert errors) provider

.. code-block:: yaml

salt:
control:
enabled: true
provider:
openstack_account:
engine: openstack
insecure: true
region: RegionOne
identity_url: 'https://10.0.0.2:35357'
tenant: devops
user: user
password: 'password'
fixed_networks:
- 123d3332-18be-4d1d-8d4d-5f5a54456554e
floating_networks:
- public
ignore_cidr: 192.168.0.0/16

Salt cloud with Digital Ocean provider

.. code-block:: yaml

salt:
control:
enabled: true
provider:
dony1:
engine: digital_ocean
region: New York 1
client_key: xxxxxxx
api_key: xxxxxxx

Salt cloud with cluster definition

.. code-block:: yaml

salt:
control:
enabled: true
cluster:
devops_ase:
config:
engine: salt
host: 147.32.120.1
node:
proxy1.ase.cepsos.cz:
provider: cepsos_devops
image: Ubuntu12.04 x86_64
size: m1.medium
node1.ase.cepsos.cz:
provider: cepsos_devops
image: Ubuntu12.04 x86_64
size: m1.medium
node2.ase.cepsos.cz:
provider: cepsos_devops
image: Ubuntu12.04 x86_64
size: m1.medium
node3.ase.cepsos.cz:
provider: cepsos_devops
image: Ubuntu12.04 x86_64
size: m1.medium

Usage
=====

Working with salt-cloud

.. code-block:: bash

salt-cloud -m /path/to/map --assume-yes

Debug LIBCLOUD for salt-cloud connection

.. code-block:: bash

export LIBCLOUD_DEBUG=/dev/stderr; salt-cloud --list-sizes provider_name --log-level all

Read more
=========

* http://salt.readthedocs.org/en/latest/
* https://github.com/DanielBryan/salt-state-graph
* http://karlgrz.com/testing-salt-states-rapidly-with-docker/
* https://mywushublog.com/2013/03/configuration-management-with-salt-stack/
* http://russell.ballestrini.net/replace-the-nagios-scheduler-and-nrpe-with-salt-stack/
* https://github.com/saltstack-formulas/salt-formula
* http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html

salt-cloud
----------

* http://www.blog.sandro-mathys.ch/2013/07/setting-user-password-when-launching.html
* http://cloudinit.readthedocs.org/en/latest/topics/examples.html
* http://salt-cloud.readthedocs.org/en/latest/topics/install/index.html
* http://docs.saltstack.com/topics/cloud/digitalocean.html
* http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html
* http://salt-cloud.readthedocs.org/en/latest/topics/map.html
* http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html