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::
 | 
			
		||||
   :local:
 | 
			
		||||
 | 
			
		||||
``salt``
 | 
			
		||||
^^^^^^^^
 | 
			
		||||
 | 
			
		||||
*Meta-state (This is a state that includes other states)*.
 | 
			
		||||
 | 
			
		||||
This calls all runable states based on configured pillar data.
 | 
			
		||||
 | 
			
		||||
``salt.minion``
 | 
			
		||||
^^^^^^^^^^^^^^^
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -80,6 +80,7 @@ salt:
 | 
			
		||||
  # salt master config
 | 
			
		||||
  master_config_use_TOFS: true
 | 
			
		||||
  master:
 | 
			
		||||
    standalone: false
 | 
			
		||||
    fileserver_backend:
 | 
			
		||||
      - git
 | 
			
		||||
      - s3fs
 | 
			
		||||
@ -163,6 +164,9 @@ salt:
 | 
			
		||||
  minion_config_use_TOFS: true
 | 
			
		||||
  minion:
 | 
			
		||||
 | 
			
		||||
    # standalone setup
 | 
			
		||||
    master_type: false   # see init.sls & standalone.sls
 | 
			
		||||
 | 
			
		||||
    # single master setup
 | 
			
		||||
    master: salt
 | 
			
		||||
 | 
			
		||||
@ -268,6 +272,13 @@ salt:
 | 
			
		||||
        - test.ping
 | 
			
		||||
        - 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
 | 
			
		||||
  cloud:
 | 
			
		||||
    master: salt
 | 
			
		||||
 | 
			
		||||
@ -30,11 +30,16 @@ salt:
 | 
			
		||||
  salt_api: salt-api
 | 
			
		||||
  salt_ssh: salt-ssh
 | 
			
		||||
 | 
			
		||||
  pkgrepo: ''          # see osfamilymap
 | 
			
		||||
  ssh_roster: {}       # see pillar data
 | 
			
		||||
 | 
			
		||||
  python_git: python-git
 | 
			
		||||
  python_dulwich: python-dulwich
 | 
			
		||||
 | 
			
		||||
  master:
 | 
			
		||||
    gitfs_provider: gitpython
 | 
			
		||||
  minion:
 | 
			
		||||
    master_type: true  # see init.sls & standalone.sls
 | 
			
		||||
 | 
			
		||||
  gitfs:
 | 
			
		||||
    dulwich:
 | 
			
		||||
@ -62,6 +67,7 @@ salt:
 | 
			
		||||
      maps: salt://salt/files/cloud.maps.d
 | 
			
		||||
 | 
			
		||||
salt_formulas:
 | 
			
		||||
  list: {}     # via pillar data
 | 
			
		||||
  checkout_orig_branch: false
 | 
			
		||||
  git_opts:
 | 
			
		||||
    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:
 | 
			
		||||
  - .{{ grains['os_family']|lower }}
 | 
			
		||||
 | 
			
		||||
  {%- endif %}
 | 
			
		||||
 | 
			
		||||
@ -1,14 +1,14 @@
 | 
			
		||||
{%- set tplroot = tpldir.split('/')[0] %}
 | 
			
		||||
{% from "salt/map.jinja" import salt_settings with context %}
 | 
			
		||||
 | 
			
		||||
salt-minion:
 | 
			
		||||
{% if salt_settings.install_packages %}
 | 
			
		||||
salt-minion-standalone:
 | 
			
		||||
  {% if salt_settings.install_packages %}
 | 
			
		||||
  pkg.installed:
 | 
			
		||||
    - name: {{ salt_settings.salt_minion }}
 | 
			
		||||
  {%- if salt_settings.version is defined %}
 | 
			
		||||
     {%- if salt_settings.version is defined %}
 | 
			
		||||
    - version: {{ salt_settings.version }}
 | 
			
		||||
  {%- endif %}
 | 
			
		||||
{% endif %}
 | 
			
		||||
     {%- endif %}
 | 
			
		||||
  {% endif %}
 | 
			
		||||
  file.recurse:
 | 
			
		||||
    - name: {{ salt_settings.config_path }}/minion.d
 | 
			
		||||
    - template: jinja
 | 
			
		||||
@ -17,19 +17,19 @@ salt-minion:
 | 
			
		||||
    - exclude_pat: _*
 | 
			
		||||
    - context:
 | 
			
		||||
        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:
 | 
			
		||||
    - enable: True
 | 
			
		||||
{%- else %}
 | 
			
		||||
  {%- else %}
 | 
			
		||||
  service.dead:
 | 
			
		||||
    - enable: False
 | 
			
		||||
{%- endif %}
 | 
			
		||||
  {%- endif %}
 | 
			
		||||
    - name: {{ salt_settings.minion_service }}
 | 
			
		||||
    - require:
 | 
			
		||||
{% if salt_settings.install_packages %}
 | 
			
		||||
      - pkg: salt-minion
 | 
			
		||||
{% endif %}
 | 
			
		||||
      - file: salt-minion
 | 
			
		||||
  {% if salt_settings.install_packages %}
 | 
			
		||||
      - pkg: salt-minion-standalone
 | 
			
		||||
  {% endif %}
 | 
			
		||||
      - file: salt-minion-standalone
 | 
			
		||||
 | 
			
		||||
# clean up old _defaults.conf file if they have it around
 | 
			
		||||
remove-old-standalone-conf-file:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user