Merge pull request #29 from brot/f/user_with_more_keys
Refactor auth.sls to allow more keys for one user
This commit is contained in:
		
						commit
						7adb33ca01
					
				| @ -1,15 +1,18 @@ | ||||
| include: | ||||
|   - openssh | ||||
| {%- from "openssh/map.jinja" import openssh with context -%} | ||||
| {%- set openssh_pillar = pillar.get('openssh', {}) -%} | ||||
| {%- set auth = openssh_pillar.get('auth', {}) -%} | ||||
| {%- for user,keys in auth.items() -%} | ||||
|   {%- for key in keys -%} | ||||
|     {% if 'present' in key and key['present'] %} | ||||
| {%- macro print_name(identifier, key) -%} | ||||
| {%- if 'name' in key  %} | ||||
| {{ key['name'] }}: | ||||
|   ssh_auth.present: | ||||
|     - user: {{ user }} | ||||
|       {%- if 'source' in key %} | ||||
| {%- else %} | ||||
| {{ identifier }}: | ||||
| {%- endif %} | ||||
| {%- endmacro -%} | ||||
| 
 | ||||
| {%- macro print_ssh_auth(identifier, key) -%} | ||||
|       {%- if 'user' in key  %} | ||||
|     - user: {{ key['user'] }} | ||||
|       {%- else %} | ||||
|     - user: {{ identifier }} | ||||
|       {%- endif %} | ||||
|       {%- if 'present' in key and key['present'] and 'source' in key %} | ||||
|     - source: {{ key['source'] }} | ||||
|       {%- else %} | ||||
|         {%- if 'enc' in key %} | ||||
| @ -22,21 +25,25 @@ include: | ||||
|     - options: {{ key['options'] }} | ||||
|         {%- endif -%} | ||||
|       {%- endif %} | ||||
| {%- endmacro -%} | ||||
| 
 | ||||
| include: | ||||
|   - openssh | ||||
| {%- from "openssh/map.jinja" import openssh with context -%} | ||||
| {%- set openssh_pillar = pillar.get('openssh', {}) -%} | ||||
| {%- set auth = openssh_pillar.get('auth', {}) -%} | ||||
| {%- for identifier,keys in auth.items() -%} | ||||
|   {%- for key in keys -%} | ||||
|     {% if 'present' in key and key['present'] %} | ||||
| {{ print_name(identifier, key) }}: | ||||
|   ssh_auth.present: | ||||
|     {{ print_ssh_auth(identifier, key) }} | ||||
|     - require: | ||||
|       - service: {{ openssh.service }} | ||||
|     {%- else %} | ||||
| {{ key['name'] }}: | ||||
| {{ print_name(identifier, key) }}: | ||||
|   ssh_auth.absent: | ||||
|     - user: {{ user }} | ||||
|       {%- if 'enc' in key %} | ||||
|     - enc: {{ key['enc'] }} | ||||
|       {%- endif -%} | ||||
|       {%- if 'comment' in key %} | ||||
|     - comment: {{ key['comment'] }} | ||||
|       {%- endif -%} | ||||
|       {%- if 'options' in key %} | ||||
|     - options: {{ key['options'] }} | ||||
|       {%- endif -%} | ||||
|     {{ print_ssh_auth(identifier, key) }} | ||||
|     {%- endif -%} | ||||
|   {%- endfor -%} | ||||
| {%- endfor -%} | ||||
|  | ||||
| @ -49,12 +49,18 @@ sshd_config: | ||||
| 
 | ||||
| openssh: | ||||
|   auth: | ||||
|     joe: | ||||
|       - name: JOE_VALID_SSH_PUBLIC_KEY | ||||
|     joe-valid-ssh-key-desktop: | ||||
|       - user: joe | ||||
|         present: True | ||||
|         enc: ssh-rsa | ||||
|         comment: main key | ||||
|       - name: JOE_NON_VALID_SSH_PUBLIC_KEY | ||||
|         comment: main key - desktop | ||||
|     joe-valid-ssh-key-notebook: | ||||
|       - user: joe | ||||
|         present: True | ||||
|         enc: ssh-rsa | ||||
|         comment: main key - notebook | ||||
|     joe-non-valid-ssh-key: | ||||
|       - user: joe | ||||
|         present: False | ||||
|         enc: ssh-rsa | ||||
|         comment: obsolete key - removed | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Nitin Madhok
						Nitin Madhok