Merge branch 'github' into itg
Conflicts: salt/formulas.jinja
This commit is contained in:
		
						commit
						422888cf77
					
				@ -9,8 +9,11 @@ salt-api:
 | 
			
		||||
    - name: {{ salt_settings.salt_api }}
 | 
			
		||||
{% endif %}
 | 
			
		||||
  service.running:
 | 
			
		||||
    - enable: True
 | 
			
		||||
    - name: {{ salt_settings.api_service }}
 | 
			
		||||
    - require:
 | 
			
		||||
      - service: {{ salt_settings.master_service }}
 | 
			
		||||
{% if salt_settings.install_packages %}
 | 
			
		||||
    - watch:
 | 
			
		||||
      - pkg: salt-master
 | 
			
		||||
      - pkg: salt-api
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,17 @@ salt:
 | 
			
		||||
      install_from_source: True
 | 
			
		||||
    pygit2:
 | 
			
		||||
      install_from_source: True
 | 
			
		||||
      version: 0.23.0
 | 
			
		||||
      git:
 | 
			
		||||
        # if not false, should be state name
 | 
			
		||||
        require_state: False
 | 
			
		||||
        install_from_package: git
 | 
			
		||||
      libgit2:
 | 
			
		||||
        version: 0.23.0
 | 
			
		||||
        install_from_source: True
 | 
			
		||||
        build_parent_dir: /usr/src/
 | 
			
		||||
        # hash necessary until github issue #9272 is addressed
 | 
			
		||||
        download_hash: 683d1164e361e2a0a8d52652840e2340
 | 
			
		||||
    gitpython:
 | 
			
		||||
      install_from_source: False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -109,6 +109,9 @@
 | 
			
		||||
# Return minions that timeout when running commands like test.ping
 | 
			
		||||
{{ get_config('show_timeout', 'True') }}
 | 
			
		||||
 | 
			
		||||
# Display the jid when a job is published
 | 
			
		||||
{{ get_config('show_jid', 'False') }}
 | 
			
		||||
 | 
			
		||||
# By default, output is colored. To disable colored output, set the color value
 | 
			
		||||
# to False.
 | 
			
		||||
{{ get_config('color', 'True') }}
 | 
			
		||||
@ -135,7 +138,7 @@
 | 
			
		||||
{{ get_config('minion_data_cache', 'True') }}
 | 
			
		||||
 | 
			
		||||
# Store all returns in the given returner.
 | 
			
		||||
# Setting this option requires that any returner-specific configuration also 
 | 
			
		||||
# Setting this option requires that any returner-specific configuration also
 | 
			
		||||
# be set. See various returners in salt/returners for details on required
 | 
			
		||||
# configuration values. (See also, event_return_queue below.)
 | 
			
		||||
#
 | 
			
		||||
@ -199,12 +202,12 @@ event_return_blacklist:
 | 
			
		||||
# the key rotation event as minions reconnect. Consider this carefully if this
 | 
			
		||||
# salt master is managing a large number of minions.
 | 
			
		||||
#
 | 
			
		||||
# If disabled, it is recommended to handle this event by listening for the 
 | 
			
		||||
# If disabled, it is recommended to handle this event by listening for the
 | 
			
		||||
# 'aes_key_rotate' event with the 'key' tag and acting appropriately.
 | 
			
		||||
{{ get_config('ping_on_rotate', 'False') }}
 | 
			
		||||
 | 
			
		||||
# By default, the master deletes its cache of minion data when the key for that
 | 
			
		||||
# minion is removed. To preserve the cache after key deletion, set 
 | 
			
		||||
# minion is removed. To preserve the cache after key deletion, set
 | 
			
		||||
# 'preserve_minion_cache' to True.
 | 
			
		||||
#
 | 
			
		||||
# WARNING: This may have security implications if compromised minions auth with
 | 
			
		||||
@ -336,7 +339,7 @@ client_acl_blacklist:
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
# Enforce client_acl & client_acl_blacklist when users have sudo
 | 
			
		||||
# access to the salt command. 
 | 
			
		||||
# access to the salt command.
 | 
			
		||||
#
 | 
			
		||||
{{ get_config('sudo_acl', 'False') }}
 | 
			
		||||
 | 
			
		||||
@ -405,7 +408,19 @@ client_acl_blacklist:
 | 
			
		||||
# master_tops:
 | 
			
		||||
#   ext_nodes: <Shell command which returns yaml>
 | 
			
		||||
#
 | 
			
		||||
{{ get_config('master_tops', '{}') }}
 | 
			
		||||
{% if 'master_tops' in cfg_master %}
 | 
			
		||||
master_tops:
 | 
			
		||||
{%- for master in cfg_master['master_tops'] -%}
 | 
			
		||||
  {%- if cfg_master['master_tops'][master] is string %}
 | 
			
		||||
  {{ master }}: {{ cfg_master['master_tops'][master] }}
 | 
			
		||||
  {%- else %}
 | 
			
		||||
  {{ master}}:
 | 
			
		||||
    {%- for parameter in cfg_master['master_tops'][master] %}
 | 
			
		||||
    {{ parameter }}: {{ cfg_master['master_tops'][master][parameter] }}
 | 
			
		||||
    {%- endfor -%}
 | 
			
		||||
  {%- endif -%}
 | 
			
		||||
{%- endfor %}
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
# The external_nodes option allows Salt to gather data that would normally be
 | 
			
		||||
# placed in a top file. The external_nodes option is the executable that will
 | 
			
		||||
@ -492,7 +507,7 @@ client_acl_blacklist:
 | 
			
		||||
# the master server. The default is md5, but sha1, sha224, sha256, sha384
 | 
			
		||||
# and sha512 are also supported.
 | 
			
		||||
#
 | 
			
		||||
# Prior to changing this value, the master should be stopped and all Salt 
 | 
			
		||||
# Prior to changing this value, the master should be stopped and all Salt
 | 
			
		||||
# caches should be cleared.
 | 
			
		||||
{{ get_config('hash_type', 'md5') }}
 | 
			
		||||
 | 
			
		||||
@ -652,12 +667,12 @@ pillar_roots:
 | 
			
		||||
{%- for dir in roots %}
 | 
			
		||||
    - {{ dir }}
 | 
			
		||||
{%- endfor -%}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{%- elif 'pillar_roots' in cfg_salt -%}
 | 
			
		||||
{%- endfor -%}
 | 
			
		||||
{% elif 'pillar_roots' in cfg_salt -%}
 | 
			
		||||
pillar_roots:
 | 
			
		||||
{%- for name, roots in cfg_salt['pillar_roots']|dictsort -%}
 | 
			
		||||
{%- for name, roots in cfg_salt['pillar_roots']|dictsort %}
 | 
			
		||||
  {{ name }}:
 | 
			
		||||
{%- for dir in roots -%}
 | 
			
		||||
{%- for dir in roots %}
 | 
			
		||||
    - {{ dir }}
 | 
			
		||||
{%- endfor -%}
 | 
			
		||||
{%- endfor -%}
 | 
			
		||||
@ -669,9 +684,25 @@ pillar_roots:
 | 
			
		||||
#
 | 
			
		||||
{% if 'ext_pillar' in cfg_master %}
 | 
			
		||||
ext_pillar:
 | 
			
		||||
{% for pillar in cfg_master['ext_pillar'] %}
 | 
			
		||||
  - {{ pillar.items()[0][0] }}: {{ pillar.items()[0][1] }}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{%- for pillar in cfg_master['ext_pillar'] -%}
 | 
			
		||||
  {%- for key in pillar -%}
 | 
			
		||||
    {%- if pillar[key] is string %}
 | 
			
		||||
  - {{ key }}: {{ pillar[key] }}
 | 
			
		||||
    {%- elif pillar[key] is iterable and pillar[key] is not mapping %}
 | 
			
		||||
  - {{ key }}:
 | 
			
		||||
      {%- for parameter in pillar[key] %}
 | 
			
		||||
    - {{ parameter }}
 | 
			
		||||
      {%- endfor -%}
 | 
			
		||||
    {%- elif pillar[key] is mapping and pillar[key] is not string %}
 | 
			
		||||
  - {{ key }}: 
 | 
			
		||||
      {%- for parameter in pillar[key] %}
 | 
			
		||||
      {{ parameter }}: {{pillar[key][parameter]}}
 | 
			
		||||
      {%- endfor %}
 | 
			
		||||
    {%- else %}
 | 
			
		||||
# Error in rendering {{ key }}, please read https://docs.saltstack.com/en/latest/topics/development/external_pillars.html#configuration
 | 
			
		||||
    {% endif %}
 | 
			
		||||
  {%- endfor -%}
 | 
			
		||||
{%- endfor %}
 | 
			
		||||
{% elif 'ext_pillar' in cfg_salt %}
 | 
			
		||||
ext_pillar:
 | 
			
		||||
{% for pillar in cfg_salt['ext_pillar'] %}
 | 
			
		||||
 | 
			
		||||
@ -20,8 +20,7 @@
 | 
			
		||||
{{ get_config('default_include', 'minion.d/*.conf') }}
 | 
			
		||||
 | 
			
		||||
# master configs
 | 
			
		||||
{%- if 'master' in cfg_minion -%}
 | 
			
		||||
{%- if cfg_minion['master'] is not string %}
 | 
			
		||||
{%- if 'master' in cfg_minion and cfg_minion['master'] is not string %}
 | 
			
		||||
master:
 | 
			
		||||
  {% for name in cfg_minion['master'] -%}
 | 
			
		||||
  - {{ name }}
 | 
			
		||||
@ -29,16 +28,6 @@ master:
 | 
			
		||||
{%- else %}
 | 
			
		||||
{{ get_config('master', 'salt') }}
 | 
			
		||||
{%- endif %}
 | 
			
		||||
{% elif 'master' in cfg_salt -%}
 | 
			
		||||
{%- if cfg_salt['master'] is not string %}
 | 
			
		||||
master:
 | 
			
		||||
  {% for name in cfg_salt['master'] -%}
 | 
			
		||||
  - {{ name }}
 | 
			
		||||
  {% endfor -%}
 | 
			
		||||
{%- else %}
 | 
			
		||||
{{ get_config('master', 'salt') }}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
{%- endif %}
 | 
			
		||||
 | 
			
		||||
# choose a random master
 | 
			
		||||
{{ get_config('random_master', 'False') }}
 | 
			
		||||
@ -157,6 +146,7 @@ mine_functions:
 | 
			
		||||
 | 
			
		||||
# verify_master_pubkey_sign
 | 
			
		||||
{{ get_config('verify_master_pubkey_sign', 'False') }}
 | 
			
		||||
{{ get_config('master_type', 'str') }}
 | 
			
		||||
 | 
			
		||||
# include extra config
 | 
			
		||||
{% if 'include' in cfg_minion -%}
 | 
			
		||||
 | 
			
		||||
@ -11,17 +11,14 @@
 | 
			
		||||
{%- set value = salt['pillar.get']('salt_formulas:git_opts:{0}:{1}'.format(env, opt),
 | 
			
		||||
     salt['pillar.get']('salt_formulas:git_opts:default:{0}'.format(opt),
 | 
			
		||||
       defaults[opt])) -%}
 | 
			
		||||
{%- if value is iterable -%}
 | 
			
		||||
{{ value|yaml }}
 | 
			
		||||
{%- else -%}
 | 
			
		||||
{{ value }}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
{%- endmacro -%}
 | 
			
		||||
 | 
			
		||||
{%- macro formulas_roots(env) -%}
 | 
			
		||||
{%- set value = [] -%}
 | 
			
		||||
{%- for dir in formulas.get(env, []) -%}
 | 
			
		||||
{%- do value.append('{0}/{1}'.format(formulas_git_opt(env, 'basedir'), dir)) -%}
 | 
			
		||||
{%- set basedir = formulas_git_opt(env, 'basedir')|load_yaml -%}
 | 
			
		||||
{%- do value.append('{0}/{1}'.format(basedir, dir)) -%}
 | 
			
		||||
{%- endfor -%}
 | 
			
		||||
{{ value|yaml }}
 | 
			
		||||
{%- endmacro -%}
 | 
			
		||||
 | 
			
		||||
@ -4,10 +4,10 @@
 | 
			
		||||
{% from "salt/formulas.jinja" import formulas_git_opt with context %}
 | 
			
		||||
 | 
			
		||||
# Loop over all formulas listed in pillar data
 | 
			
		||||
{% for env, entries in salt['pillar.get']('salt_formulas:list', {}).iteritems() %}
 | 
			
		||||
{% for env, entries in salt['pillar.get']('salt_formulas:list', {}).items() %}
 | 
			
		||||
{% for entry in entries %}
 | 
			
		||||
 | 
			
		||||
{% set basedir = formulas_git_opt(env, 'basedir') %}
 | 
			
		||||
{% set basedir = formulas_git_opt(env, 'basedir')|load_yaml %}
 | 
			
		||||
{% set gitdir = '{0}/{1}'.format(basedir, entry) %}
 | 
			
		||||
{% set update = formulas_git_opt(env, 'update')|load_yaml %}
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,7 @@
 | 
			
		||||
{{ basedir }}:
 | 
			
		||||
  file.directory:
 | 
			
		||||
    {%- for key, value in salt['pillar.get']('salt_formulas:basedir_opts',
 | 
			
		||||
                                             {'makedirs': True}).iteritems() %}
 | 
			
		||||
                                             {'makedirs': True}).items() %}
 | 
			
		||||
    - {{ key }}: {{ value }}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
{% endif %}
 | 
			
		||||
@ -26,11 +26,12 @@
 | 
			
		||||
{% if gitdir not in processed_gitdirs %}
 | 
			
		||||
{% do processed_gitdirs.append(gitdir) %}
 | 
			
		||||
{% set options = formulas_git_opt(env, 'options')|load_yaml %}
 | 
			
		||||
{% set baseurl = formulas_git_opt(env, 'baseurl')|load_yaml %}
 | 
			
		||||
{{ gitdir }}:
 | 
			
		||||
  git.latest:
 | 
			
		||||
    - name: {{ formulas_git_opt(env, 'baseurl') }}/{{ entry }}.git
 | 
			
		||||
    - name: {{ baseurl }}/{{ entry }}.git
 | 
			
		||||
    - target: {{ gitdir }}
 | 
			
		||||
    {%- for key, value in options.iteritems() %}
 | 
			
		||||
    {%- for key, value in options.items() %}
 | 
			
		||||
    - {{ key }}: {{ value }}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
    - require:
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,22 @@
 | 
			
		||||
{% from "salt/map.jinja" import salt_settings with context %}
 | 
			
		||||
{% set pygit2_settings = salt_settings.gitfs.pygit2 %}
 | 
			
		||||
 | 
			
		||||
git:
 | 
			
		||||
  pkg.installed
 | 
			
		||||
{% if pygit2_settings.git.get('require_state', False) %}
 | 
			
		||||
include:
 | 
			
		||||
  - {{ pygit2_settings.git.require_state }}
 | 
			
		||||
{% elif pygit2_settings.git.get('install_from_package', 'git') %}
 | 
			
		||||
pygit2-git:
 | 
			
		||||
  pkg.installed:
 | 
			
		||||
    - name: {{ pygit2_settings.git.install_from_package }}
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
{% if pygit2_settings.install_from_source %}
 | 
			
		||||
{% set libgit2_settings = pygit2_settings.libgit2 %}
 | 
			
		||||
 | 
			
		||||
{% if libgit2_settings.install_from_source %}
 | 
			
		||||
{% set libgit2_src_dir = libgit2_settings.build_parent_dir + 'libgit2-' + libgit2_settings.version %}
 | 
			
		||||
{% set libgit2_build_dir = libgit2_src_dir + '/_build' %}
 | 
			
		||||
 | 
			
		||||
{% if salt_settings.gitfs.pygit2.install_from_source %}
 | 
			
		||||
# we probably don't have a package or it's not a high enough version
 | 
			
		||||
# install latest from source/pip
 | 
			
		||||
pygit-deps:
 | 
			
		||||
@ -17,32 +30,32 @@ pygit-deps:
 | 
			
		||||
 | 
			
		||||
dl-libgit2-src:
 | 
			
		||||
  archive.extracted:
 | 
			
		||||
    - name: /usr/src
 | 
			
		||||
    - source: https://github.com/libgit2/libgit2/archive/v0.22.1.tar.gz
 | 
			
		||||
    - source_hash: md5=dbf516d18e176bbb131de3efccfee533
 | 
			
		||||
    - name: {{ libgit2_settings.build_parent_dir }}
 | 
			
		||||
    - source: https://github.com/libgit2/libgit2/archive/v{{ libgit2_settings.version }}.tar.gz
 | 
			
		||||
    - source_hash: md5={{ libgit2_settings.download_hash }}
 | 
			
		||||
    - archive_format: tar
 | 
			
		||||
    - keep: True
 | 
			
		||||
    - if_missing: /usr/src/libgit2-0.22.1
 | 
			
		||||
    - if_missing: /usr/src/libgit2-{{ libgit2_settings.version }}
 | 
			
		||||
 | 
			
		||||
/usr/src/libgit2-0.22.1/_build:
 | 
			
		||||
{{ libgit2_build_dir }}:
 | 
			
		||||
  file.directory
 | 
			
		||||
 | 
			
		||||
configure-libgit2:
 | 
			
		||||
  cmd.run:
 | 
			
		||||
    - name: cmake ..
 | 
			
		||||
    - cwd: /usr/src/libgit2-0.22.1/_build
 | 
			
		||||
    - creates: /usr/src/libgit2-0.22.1/_build/Makefile
 | 
			
		||||
    - cwd: {{ libgit2_build_dir }}
 | 
			
		||||
    - creates: {{ libgit2_build_dir }}/Makefile
 | 
			
		||||
 | 
			
		||||
build-libgit2:
 | 
			
		||||
  cmd.run:
 | 
			
		||||
    - name: make -j4
 | 
			
		||||
    - cwd: /usr/src/libgit2-0.22.1/_build
 | 
			
		||||
    - creates: /usr/src/libgit2-0.22.1/_build/libgit2.so
 | 
			
		||||
    - cwd: {{ libgit2_build_dir }}
 | 
			
		||||
    - creates: {{ libgit2_build_dir }}/libgit2.so
 | 
			
		||||
 | 
			
		||||
install-libgit2:
 | 
			
		||||
  cmd.run:
 | 
			
		||||
    - name: make install
 | 
			
		||||
    - cwd: /usr/src/libgit2-0.22.1/_build
 | 
			
		||||
    - cwd: {{ libgit2_build_dir }}
 | 
			
		||||
    - creates: /usr/local/lib/libgit2.so
 | 
			
		||||
 | 
			
		||||
run-ldconfig-after-lib-install:
 | 
			
		||||
@ -51,9 +64,15 @@ run-ldconfig-after-lib-install:
 | 
			
		||||
    - onchanges:
 | 
			
		||||
      - cmd: install-libgit2
 | 
			
		||||
 | 
			
		||||
{% else %}
 | 
			
		||||
{{ salt_settings.libgit2 }}:
 | 
			
		||||
  pkg.installed
 | 
			
		||||
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
install-pygit2:
 | 
			
		||||
  pip.installed:
 | 
			
		||||
    - name: pygit2
 | 
			
		||||
    - name: pygit2 == {{ pygit2_settings.version }}
 | 
			
		||||
 | 
			
		||||
{% else %}
 | 
			
		||||
{{ salt_settings.pygit2 }}:
 | 
			
		||||
 | 
			
		||||
@ -4,27 +4,44 @@
 | 
			
		||||
{## Start with  defaults from defaults.yaml ##}
 | 
			
		||||
{% import_yaml "salt/defaults.yaml" as default_settings %}
 | 
			
		||||
 | 
			
		||||
{## 
 | 
			
		||||
{##
 | 
			
		||||
Setup variable using grains['os_family'] based logic, only add key:values here
 | 
			
		||||
that differ from whats in defaults.yaml
 | 
			
		||||
##}
 | 
			
		||||
{% set os_family_map = salt['grains.filter_by']({
 | 
			
		||||
    'Debian':  {},
 | 
			
		||||
    'Ubuntu':  {},
 | 
			
		||||
    'CentOS':  {},
 | 
			
		||||
    'Amazon':  {},
 | 
			
		||||
    'Fedora':  {},
 | 
			
		||||
    'Debian':  {
 | 
			
		||||
      'pkgrepo': 'deb http://debian.saltstack.com/debian ' + salt['grains.get']('oscodename') + '-saltstack main',
 | 
			
		||||
      'key_url': 'salt://' + slspath + '/saltstack.gpg',
 | 
			
		||||
      'libgit2': 'libgit2-22',
 | 
			
		||||
      'gitfs': {
 | 
			
		||||
        'pygit2': {
 | 
			
		||||
          'install_from_source': True,
 | 
			
		||||
          'version': '0.22.1',
 | 
			
		||||
          'git': {
 | 
			
		||||
            'require_state': False,
 | 
			
		||||
            'install_from_package': 'git',
 | 
			
		||||
          },
 | 
			
		||||
          'libgit2': {
 | 
			
		||||
            'install_from_source': False,
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    'RedHat':  {
 | 
			
		||||
      'pygit2': 'python-pygit2',
 | 
			
		||||
      'gitfs': {
 | 
			
		||||
        'pygit2': {
 | 
			
		||||
           'install_from_source': False
 | 
			
		||||
          'install_from_source': False,
 | 
			
		||||
          'git': {
 | 
			
		||||
            'require_state': False,
 | 
			
		||||
            'install_from_package': 'git',
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      'master': {
 | 
			
		||||
        'gitfs_provider': 'pygit2'
 | 
			
		||||
      },
 | 
			
		||||
      'repotype': 'epel'
 | 
			
		||||
      'repotype': 'epel',
 | 
			
		||||
    },
 | 
			
		||||
    'Suse':    {},
 | 
			
		||||
    'Gentoo':  {
 | 
			
		||||
@ -32,7 +49,7 @@ that differ from whats in defaults.yaml
 | 
			
		||||
      'salt_minion': 'app-admin/salt',
 | 
			
		||||
      'salt_syndic': 'app-admin/salt',
 | 
			
		||||
      'salt_api': 'app-admin/salt',
 | 
			
		||||
      'salt_cloud': 'app-admin/salt'
 | 
			
		||||
      'salt_cloud': 'app-admin/salt',
 | 
			
		||||
    },
 | 
			
		||||
    'Arch':    {
 | 
			
		||||
      'salt_master': 'salt-zmq',
 | 
			
		||||
@ -40,7 +57,7 @@ that differ from whats in defaults.yaml
 | 
			
		||||
      'salt_syndic':  'salt-zmq',
 | 
			
		||||
      'salt_cloud':  'salt-zmq',
 | 
			
		||||
      'salt_api': 'salt-zmq',
 | 
			
		||||
      'salt_ssh':  'salt-zmq'
 | 
			
		||||
      'salt_ssh':  'salt-zmq',
 | 
			
		||||
    },
 | 
			
		||||
    'FreeBSD': {
 | 
			
		||||
      'salt_master': 'py27-salt',
 | 
			
		||||
@ -55,20 +72,17 @@ that differ from whats in defaults.yaml
 | 
			
		||||
      'minion_service': 'salt_minion',
 | 
			
		||||
      'master_service': 'salt_master',
 | 
			
		||||
      'api_service': 'salt_api',
 | 
			
		||||
      'syndic_service': 'salt_syndic'
 | 
			
		||||
      'syndic_service': 'salt_syndic',
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
  , grain="os_family"
 | 
			
		||||
  , merge=salt['pillar.get']('salt:lookup'))
 | 
			
		||||
  }, grain="os_family", merge=salt['pillar.get']('salt:lookup'))
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
{## Merge the flavor_map to the default settings ##}
 | 
			
		||||
{% do default_settings.salt.update(os_family_map) %}
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
{## Merge in salt:lookup pillar ##}
 | 
			
		||||
{% set salt_settings = salt['pillar.get'](
 | 
			
		||||
    'salt',
 | 
			
		||||
    default=default_settings.salt,
 | 
			
		||||
    merge=True
 | 
			
		||||
  )
 | 
			
		||||
    merge=True)
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,8 @@
 | 
			
		||||
{% from "salt/map.jinja" import salt_settings with context %}
 | 
			
		||||
 | 
			
		||||
drop-saltstack-pkgrepo:
 | 
			
		||||
  pkgrepo.absent:
 | 
			
		||||
    - name: {{ salt_settings.pkgrepo }}
 | 
			
		||||
  file.absent:
 | 
			
		||||
    - name: /etc/apt/sources.list.d/saltstack.list
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,21 +1,12 @@
 | 
			
		||||
saltstack-apt-key:
 | 
			
		||||
  file.managed:
 | 
			
		||||
    - name: /etc/apt/trusted.gpg.d/saltstack.gpg
 | 
			
		||||
    - source: salt://{{ slspath }}/saltstack.gpg
 | 
			
		||||
    - user: root
 | 
			
		||||
    - group: root
 | 
			
		||||
    - mode: 644
 | 
			
		||||
{% from "salt/map.jinja" import salt_settings with context %}
 | 
			
		||||
 | 
			
		||||
saltstack-pkgrepo:
 | 
			
		||||
  file.managed:
 | 
			
		||||
    - name: /etc/apt/sources.list.d/saltstack.list
 | 
			
		||||
    - source: salt://{{ slspath }}/sources.list
 | 
			
		||||
    - user: root
 | 
			
		||||
    - group: root
 | 
			
		||||
    - mode: 644
 | 
			
		||||
    - template: jinja
 | 
			
		||||
    - require:
 | 
			
		||||
      - file: saltstack-apt-key
 | 
			
		||||
  pkgrepo.managed:
 | 
			
		||||
    - humanname: SaltStack Debian Repo
 | 
			
		||||
    - name: {{ salt_settings.pkgrepo }}
 | 
			
		||||
    - file: /etc/apt/sources.list.d/saltstack.list
 | 
			
		||||
    - key_url: {{ salt_settings.key_url }}
 | 
			
		||||
    - clean_file: True
 | 
			
		||||
    # Order: 1 because we can't put a require_in on "pkg: salt-{master,minion}"
 | 
			
		||||
    # because we don't know if they are used.
 | 
			
		||||
    - order: 1
 | 
			
		||||
 | 
			
		||||
@ -1,2 +0,0 @@
 | 
			
		||||
# saltstack
 | 
			
		||||
deb http://debian.saltstack.com/debian {{ grains['oscodename'] }}-saltstack main
 | 
			
		||||
@ -9,6 +9,7 @@ salt-syndic:
 | 
			
		||||
    - name: {{ salt_settings.salt_syndic }}
 | 
			
		||||
{% endif %}
 | 
			
		||||
  service.running:
 | 
			
		||||
    - name: {{ salt_settings.syndic_service }}
 | 
			
		||||
    - require:
 | 
			
		||||
      - service: salt-master
 | 
			
		||||
    - watch:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user