Merge pull request #421 from noelmcloughlin/metastate
feat(formula): add metastate per community convention
This commit is contained in:
commit
718f5c7558
@ -45,6 +45,13 @@ Available states
|
|||||||
.. contents::
|
.. contents::
|
||||||
:local:
|
:local:
|
||||||
|
|
||||||
|
``salt``
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
|
*Meta-state (This is a state that includes other states)*.
|
||||||
|
|
||||||
|
This calls all runable states based on configured pillar data.
|
||||||
|
|
||||||
``salt.minion``
|
``salt.minion``
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -80,6 +80,7 @@ salt:
|
|||||||
# salt master config
|
# salt master config
|
||||||
master_config_use_TOFS: true
|
master_config_use_TOFS: true
|
||||||
master:
|
master:
|
||||||
|
standalone: false
|
||||||
fileserver_backend:
|
fileserver_backend:
|
||||||
- git
|
- git
|
||||||
- s3fs
|
- s3fs
|
||||||
@ -163,6 +164,9 @@ salt:
|
|||||||
minion_config_use_TOFS: true
|
minion_config_use_TOFS: true
|
||||||
minion:
|
minion:
|
||||||
|
|
||||||
|
# standalone setup
|
||||||
|
master_type: false # see init.sls & standalone.sls
|
||||||
|
|
||||||
# single master setup
|
# single master setup
|
||||||
master: salt
|
master: salt
|
||||||
|
|
||||||
@ -268,6 +272,13 @@ salt:
|
|||||||
- test.ping
|
- test.ping
|
||||||
- saltutil.find_job
|
- saltutil.find_job
|
||||||
|
|
||||||
|
# init.sls skips salt.api and salt.syndic states
|
||||||
|
# unless those dicts are populated with something
|
||||||
|
api:
|
||||||
|
somekey: somevalue
|
||||||
|
syndic:
|
||||||
|
somekey: somevalue
|
||||||
|
|
||||||
# salt cloud config
|
# salt cloud config
|
||||||
cloud:
|
cloud:
|
||||||
master: salt
|
master: salt
|
||||||
|
@ -30,11 +30,16 @@ salt:
|
|||||||
salt_api: salt-api
|
salt_api: salt-api
|
||||||
salt_ssh: salt-ssh
|
salt_ssh: salt-ssh
|
||||||
|
|
||||||
|
pkgrepo: '' # see osfamilymap
|
||||||
|
ssh_roster: {} # see pillar data
|
||||||
|
|
||||||
python_git: python-git
|
python_git: python-git
|
||||||
python_dulwich: python-dulwich
|
python_dulwich: python-dulwich
|
||||||
|
|
||||||
master:
|
master:
|
||||||
gitfs_provider: gitpython
|
gitfs_provider: gitpython
|
||||||
|
minion:
|
||||||
|
master_type: true # see init.sls & standalone.sls
|
||||||
|
|
||||||
gitfs:
|
gitfs:
|
||||||
dulwich:
|
dulwich:
|
||||||
@ -62,6 +67,7 @@ salt:
|
|||||||
maps: salt://salt/files/cloud.maps.d
|
maps: salt://salt/files/cloud.maps.d
|
||||||
|
|
||||||
salt_formulas:
|
salt_formulas:
|
||||||
|
list: {} # via pillar data
|
||||||
checkout_orig_branch: false
|
checkout_orig_branch: false
|
||||||
git_opts:
|
git_opts:
|
||||||
default:
|
default:
|
||||||
|
30
salt/init.sls
Executable file
30
salt/init.sls
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
|
||||||
|
include:
|
||||||
|
- salt.pkgrepo
|
||||||
|
{%- if salt.config.get('salt_formulas:list') %}
|
||||||
|
- salt.formulas
|
||||||
|
{%- endif %}
|
||||||
|
{%- if salt.config.get('salt:master')|length > 1 %}
|
||||||
|
- salt.master
|
||||||
|
{%- endif %}
|
||||||
|
{%- if salt.config.get('salt:cloud')|length > 1 %}
|
||||||
|
- salt.cloud
|
||||||
|
{%- endif %}
|
||||||
|
{%- if salt.config.get('salt:ssh_roster') %}
|
||||||
|
- salt.ssh
|
||||||
|
{%- endif %}
|
||||||
|
{%- if salt.config.get('salt:minion')|length > 1 %}
|
||||||
|
{%- if salt.config.get('salt:minion:master_type') %}
|
||||||
|
- salt.minion
|
||||||
|
{%- else %}
|
||||||
|
- salt.standalone
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- if salt.config.get('salt:api') %}
|
||||||
|
- salt.api
|
||||||
|
{%- endif %}
|
||||||
|
{%- if salt.config.get('salt:syndic') %}
|
||||||
|
- salt.syndic
|
||||||
|
{%- endif %}
|
@ -1,2 +1,10 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
{% from "salt/map.jinja" import salt_settings with context %}
|
||||||
|
|
||||||
|
{%- if salt_settings.pkgrepo %}
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- .{{ grains['os_family']|lower }}
|
- .{{ grains['os_family']|lower }}
|
||||||
|
|
||||||
|
{%- endif %}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{%- set tplroot = tpldir.split('/')[0] %}
|
{%- set tplroot = tpldir.split('/')[0] %}
|
||||||
{% from "salt/map.jinja" import salt_settings with context %}
|
{% from "salt/map.jinja" import salt_settings with context %}
|
||||||
|
|
||||||
salt-minion:
|
salt-minion-standalone:
|
||||||
{% if salt_settings.install_packages %}
|
{% if salt_settings.install_packages %}
|
||||||
pkg.installed:
|
pkg.installed:
|
||||||
- name: {{ salt_settings.salt_minion }}
|
- name: {{ salt_settings.salt_minion }}
|
||||||
{%- if salt_settings.version is defined %}
|
{%- if salt_settings.version is defined %}
|
||||||
- version: {{ salt_settings.version }}
|
- version: {{ salt_settings.version }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
file.recurse:
|
file.recurse:
|
||||||
- name: {{ salt_settings.config_path }}/minion.d
|
- name: {{ salt_settings.config_path }}/minion.d
|
||||||
- template: jinja
|
- template: jinja
|
||||||
@ -17,19 +17,19 @@ salt-minion:
|
|||||||
- exclude_pat: _*
|
- exclude_pat: _*
|
||||||
- context:
|
- context:
|
||||||
standalone: True
|
standalone: True
|
||||||
{%- if salt_settings.minion.master_type is defined and salt_settings.minion.master_type == 'disable' %}
|
{%- if not salt_settings.minion.master_type %}
|
||||||
service.running:
|
service.running:
|
||||||
- enable: True
|
- enable: True
|
||||||
{%- else %}
|
{%- else %}
|
||||||
service.dead:
|
service.dead:
|
||||||
- enable: False
|
- enable: False
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
- name: {{ salt_settings.minion_service }}
|
- name: {{ salt_settings.minion_service }}
|
||||||
- require:
|
- require:
|
||||||
{% if salt_settings.install_packages %}
|
{% if salt_settings.install_packages %}
|
||||||
- pkg: salt-minion
|
- pkg: salt-minion-standalone
|
||||||
{% endif %}
|
{% endif %}
|
||||||
- file: salt-minion
|
- file: salt-minion-standalone
|
||||||
|
|
||||||
# clean up old _defaults.conf file if they have it around
|
# clean up old _defaults.conf file if they have it around
|
||||||
remove-old-standalone-conf-file:
|
remove-old-standalone-conf-file:
|
||||||
|
Loading…
Reference in New Issue
Block a user