From 9cd57760960a4f5544fe985e1014ed70f0e1b57c Mon Sep 17 00:00:00 2001 From: Terry Derks Date: Fri, 29 Dec 2023 23:25:04 -0500 Subject: [PATCH] lookup homedirs --- restic/init.sls | 2 +- users/init.sls | 16 +++++++++++----- vim/init.sls | 19 +++++++++++-------- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/restic/init.sls b/restic/init.sls index 9abd102..400f24a 100644 --- a/restic/init.sls +++ b/restic/init.sls @@ -73,7 +73,7 @@ restic scripts: restic cron: cron.present: - - name: "/opt/restic/backup.sh 2>&1 >/dev/null" + - name: "/opt/restic/backup.sh >/dev/null 2>&1" - identifier: restic backup - minute: random - hour: 4 diff --git a/users/init.sls b/users/init.sls index b272364..16d8529 100644 --- a/users/init.sls +++ b/users/init.sls @@ -12,7 +12,6 @@ {% endif %} {% for user, config in salt.pillar.get('users', {}).items() %} - {{ user }}_user: user.present: - name: {{ user }} @@ -23,8 +22,15 @@ {% endif %} {% endfor %} -{% if config.get('manage_bashrc', False) %} -/home/{{ user }}/.bashrc: + {% if config.get('manage_bashrc', False) %} + {% set homedir = salt.user.info(user).get('home', None) %} + {% if homedir is none %} +{{ "~%s/.bashrc" | format(user) }}: + test.fail_without_changes: + - name: {{ "No homedir for %s - if they were created in this run, run this state again" | format(user) }} + {% else %} + +{{ homedir }}/.bashrc: file.managed: - source: 'salt://users/files/bashrc.jinja' - template: jinja @@ -35,7 +41,7 @@ bashrc_user: {{ user }} - require: - user: {{ user }}_user -{% endif %} - + {% endif %} + {% endif %} {% endfor %} diff --git a/vim/init.sls b/vim/init.sls index b2aadfc..b2ce729 100644 --- a/vim/init.sls +++ b/vim/init.sls @@ -3,18 +3,21 @@ {{ vim.pkg }}: pkg.installed: [] -/root/.vimrc: - file.managed: - - source: 'salt://vim/files/vimrc' - - user: root - - group: root - - mode: 644 +{% set vim_users = salt.pillar.get('users', {}) | list %} +{% do vim_users.append('root') %} -{% for user in salt.pillar.get('users', []) %} -/home/{{ user }}/.vimrc: +{% for user in vim_users %} + {% set homedir = salt.user.info(user).get('home', None) %} + {% if homedir is none %} +{{ "~%s/.vimrc" | format(user) }}: + test.fail_without_changes: + - name: {{ "No homedir for %s - if they were created in this run, run this state again" | format(user) }} + {% else %} +{{ homedir }}/.vimrc: file.managed: - source: 'salt://vim/files/vimrc' - user: {{ user }} - group: {{ user }} - mode: 644 + {% endif %} {% endfor %}