diff --git a/pillar.example b/pillar.example index df81335..f3b20b9 100644 --- a/pillar.example +++ b/pillar.example @@ -57,6 +57,9 @@ users: ssh_keys: privkey: PRIVATEKEY pubkey: PUBLICKEY + # or you can provide path to key on Salt fileserver + privkey: salt://path_to_PRIVATEKEY + pubkey: salt://path_to_PUBLICKEY # you can provide multiple keys, the keyname is taken as filename # make sure your public keys suffix is .pub foobar: PRIVATEKEY diff --git a/users/init.sls b/users/init.sls index 630b9db..e48bebe 100644 --- a/users/init.sls +++ b/users/init.sls @@ -195,7 +195,12 @@ users_{{ name }}_{{ key_name }}_key: - mode: 600 {% endif %} - show_diff: False + {%- set key_value = salt['pillar.get']('users:'+name+':ssh_keys:'+_key) %} + {%- if 'salt://' in key_value[:7] %} + - source: {{ key_value }} + {%- else %} - contents_pillar: users:{{ name }}:ssh_keys:{{ _key }} + {%- endif %} - require: - user: users_{{ name }}_user {% for group in user.get('groups', []) %}