Kaynağa Gözat

Merge pull request #421 from noelmcloughlin/metastate

feat(formula): add metastate per community convention
tags/v1.2.0
Imran Iqbal 4 yıl önce
ebeveyn
işleme
718f5c7558
İşleme yapanın e-posta adresine bağlı hesap yok
6 değiştirilmiş dosya ile 74 ekleme ve 12 silme
  1. +7
    -0
      docs/README.rst
  2. +11
    -0
      pillar.example
  3. +6
    -0
      salt/defaults.yaml
  4. +30
    -0
      salt/init.sls
  5. +8
    -0
      salt/pkgrepo/init.sls
  6. +12
    -12
      salt/standalone.sls

+ 7
- 0
docs/README.rst Dosyayı Görüntüle

@@ -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``
^^^^^^^^^^^^^^^


+ 11
- 0
pillar.example Dosyayı Görüntüle

@@ -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

+ 6
- 0
salt/defaults.yaml Dosyayı Görüntüle

@@ -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
- 0
salt/init.sls Dosyayı Görüntüle

@@ -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 %}

+ 8
- 0
salt/pkgrepo/init.sls Dosyayı Görüntüle

@@ -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 %}

+ 12
- 12
salt/standalone.sls Dosyayı Görüntüle

@@ -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:

Yükleniyor…
İptal
Kaydet