From c18d6cdb218af3c5dadb0f81833cb8d876dbafb4 Mon Sep 17 00:00:00 2001 From: Terry Derks Date: Fri, 22 Dec 2023 15:58:35 -0500 Subject: [PATCH] split up common --- common/init.sls | 3 --- common/map.jinja | 43 -------------------------------- common/packages.sls | 11 -------- cron/init.sls | 8 ++++++ cron/map.jinja | 4 +++ packages/init.sls | 5 ++++ top.sls | 4 ++- {common => vim}/files/vimrc | 0 common/vimrc.sls => vim/init.sls | 10 +++++--- vim/map.jinja | 4 +++ 10 files changed, 30 insertions(+), 62 deletions(-) delete mode 100644 common/init.sls delete mode 100644 common/map.jinja delete mode 100644 common/packages.sls create mode 100644 cron/init.sls create mode 100644 cron/map.jinja create mode 100644 packages/init.sls rename {common => vim}/files/vimrc (100%) rename common/vimrc.sls => vim/init.sls (68%) create mode 100644 vim/map.jinja diff --git a/common/init.sls b/common/init.sls deleted file mode 100644 index 2762107..0000000 --- a/common/init.sls +++ /dev/null @@ -1,3 +0,0 @@ -include: - - common.packages - - common.vimrc diff --git a/common/map.jinja b/common/map.jinja deleted file mode 100644 index 7db4381..0000000 --- a/common/map.jinja +++ /dev/null @@ -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 %} diff --git a/common/packages.sls b/common/packages.sls deleted file mode 100644 index d8aafae..0000000 --- a/common/packages.sls +++ /dev/null @@ -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 %} diff --git a/cron/init.sls b/cron/init.sls new file mode 100644 index 0000000..441196b --- /dev/null +++ b/cron/init.sls @@ -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 }} diff --git a/cron/map.jinja b/cron/map.jinja new file mode 100644 index 0000000..aeee386 --- /dev/null +++ b/cron/map.jinja @@ -0,0 +1,4 @@ +{% set cron = salt['grains.filter_by']({ + 'Debian': {'pkg': 'cron', 'svc': 'cron', 'reload': false}, + 'RedHat': {'pkg': 'cronie', 'svc': 'crond', 'reload': true}, +}) %} diff --git a/packages/init.sls b/packages/init.sls new file mode 100644 index 0000000..eeb8955 --- /dev/null +++ b/packages/init.sls @@ -0,0 +1,5 @@ +{% for name, state in salt.pillar.get("packages", {}) %} +{{ "pkg_%s" | format(name) }}: + pkg.{{ state }}: + - name: {{ name | yaml_encode }} +{% endfor %} diff --git a/top.sls b/top.sls index 4d9be5c..f923428 100644 --- a/top.sls +++ b/top.sls @@ -1,7 +1,9 @@ {{ saltenv }}: '*': - salt - - common + - cron + - vim + - packages - users {% if salt.pillar.get('restic:client', None) is not none or salt.pillar.get('restic:server', None) is not none %} diff --git a/common/files/vimrc b/vim/files/vimrc similarity index 100% rename from common/files/vimrc rename to vim/files/vimrc diff --git a/common/vimrc.sls b/vim/init.sls similarity index 68% rename from common/vimrc.sls rename to vim/init.sls index a766848..d828e77 100644 --- a/common/vimrc.sls +++ b/vim/init.sls @@ -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: file.managed: @@ -11,8 +14,7 @@ /home/{{user}}/.vimrc: file.managed: - source: 'salt://common/files/vimrc' - - user: {{user}} - - group: {{user}} + - user: {{ user }} + - group: {{ user }} - mode: 644 - {% endfor %} diff --git a/vim/map.jinja b/vim/map.jinja new file mode 100644 index 0000000..25471ec --- /dev/null +++ b/vim/map.jinja @@ -0,0 +1,4 @@ +{% set vim = salt.grains.filter_by({ + 'Debian': {'pkg': 'vim'}, + 'RedHat': {'pkg': 'vim-enhanced'}, +}) %}