split up common
This commit is contained in:
@@ -1,3 +0,0 @@
|
|||||||
include:
|
|
||||||
- common.packages
|
|
||||||
- common.vimrc
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
|
|
||||||
{% set common = salt['grains.filter_by']({
|
|
||||||
'Debian': {
|
|
||||||
'packages': [
|
|
||||||
'vim'
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'RedHat': {
|
|
||||||
'packages': [
|
|
||||||
'vim-enhanced'
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}) %}
|
|
||||||
|
|
||||||
{% set distro = salt['grains.filter_by']({
|
|
||||||
'Fedora': {
|
|
||||||
'packages': [
|
|
||||||
'pcp-system-tools'
|
|
||||||
]
|
|
||||||
},
|
|
||||||
'default': {
|
|
||||||
'packages': [
|
|
||||||
'dstat'
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}, grain='os') %}
|
|
||||||
|
|
||||||
{% set defaults = {
|
|
||||||
'packages': [
|
|
||||||
'iotop',
|
|
||||||
'nano',
|
|
||||||
'screen',
|
|
||||||
'git'
|
|
||||||
]
|
|
||||||
} %}
|
|
||||||
|
|
||||||
{# custom deep merge #}
|
|
||||||
{% for key in distro.keys() %}
|
|
||||||
{% do common[key].extend(distro[key]) %}
|
|
||||||
{% endfor %}
|
|
||||||
{% for key in defaults.keys() %}
|
|
||||||
{% do common[key].extend(defaults[key]) %}
|
|
||||||
{% endfor %}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{% from "common/map.jinja" import common with context %}
|
|
||||||
|
|
||||||
'base_packages':
|
|
||||||
pkg.installed:
|
|
||||||
- pkgs:
|
|
||||||
{% for package in common['packages'] %}
|
|
||||||
- {{ package|yaml_encode }}
|
|
||||||
{% endfor %}
|
|
||||||
{% for package in salt.pillar.get('packages', []) %}
|
|
||||||
- {{ package|yaml_encode }}
|
|
||||||
{% endfor %}
|
|
||||||
8
cron/init.sls
Normal file
8
cron/init.sls
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{% from "cron/map.jinja" import cron with context %}
|
||||||
|
|
||||||
|
cron:
|
||||||
|
pkg.installed:
|
||||||
|
- name: {{ cron.pkg }}
|
||||||
|
service.running:
|
||||||
|
- name: {{ cron.svc }}
|
||||||
|
- reload: {{ cron.reload | yaml_encode }}
|
||||||
4
cron/map.jinja
Normal file
4
cron/map.jinja
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{% set cron = salt['grains.filter_by']({
|
||||||
|
'Debian': {'pkg': 'cron', 'svc': 'cron', 'reload': false},
|
||||||
|
'RedHat': {'pkg': 'cronie', 'svc': 'crond', 'reload': true},
|
||||||
|
}) %}
|
||||||
5
packages/init.sls
Normal file
5
packages/init.sls
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{% for name, state in salt.pillar.get("packages", {}) %}
|
||||||
|
{{ "pkg_%s" | format(name) }}:
|
||||||
|
pkg.{{ state }}:
|
||||||
|
- name: {{ name | yaml_encode }}
|
||||||
|
{% endfor %}
|
||||||
4
top.sls
4
top.sls
@@ -1,7 +1,9 @@
|
|||||||
{{ saltenv }}:
|
{{ saltenv }}:
|
||||||
'*':
|
'*':
|
||||||
- salt
|
- salt
|
||||||
- common
|
- cron
|
||||||
|
- vim
|
||||||
|
- packages
|
||||||
- users
|
- users
|
||||||
{% if salt.pillar.get('restic:client', None) is not none
|
{% if salt.pillar.get('restic:client', None) is not none
|
||||||
or salt.pillar.get('restic:server', None) is not none %}
|
or salt.pillar.get('restic:server', None) is not none %}
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
{% from "common/map.jinja" import common with context %}
|
{% from "vim/map.jinja" import vim with context %}
|
||||||
|
|
||||||
|
{{ vim.pkg }}:
|
||||||
|
pkg.installed: []
|
||||||
|
|
||||||
/root/.vimrc:
|
/root/.vimrc:
|
||||||
file.managed:
|
file.managed:
|
||||||
@@ -11,8 +14,7 @@
|
|||||||
/home/{{user}}/.vimrc:
|
/home/{{user}}/.vimrc:
|
||||||
file.managed:
|
file.managed:
|
||||||
- source: 'salt://common/files/vimrc'
|
- source: 'salt://common/files/vimrc'
|
||||||
- user: {{user}}
|
- user: {{ user }}
|
||||||
- group: {{user}}
|
- group: {{ user }}
|
||||||
- mode: 644
|
- mode: 644
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
4
vim/map.jinja
Normal file
4
vim/map.jinja
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{% set vim = salt.grains.filter_by({
|
||||||
|
'Debian': {'pkg': 'vim'},
|
||||||
|
'RedHat': {'pkg': 'vim-enhanced'},
|
||||||
|
}) %}
|
||||||
Reference in New Issue
Block a user