diff --git a/ansible/roles/owner/defaults/main.yml b/ansible/roles/owner/defaults/main.yml index 7240a6b..863b77e 100644 --- a/ansible/roles/owner/defaults/main.yml +++ b/ansible/roles/owner/defaults/main.yml @@ -2,4 +2,4 @@ owner_name: '' owner_group: '{{ owner_name }}' owner_ssh_keys: [] -owner_envs: {} +owner_env: {} diff --git a/ansible/roles/owner/tasks/main.yml b/ansible/roles/owner/tasks/main.yml index 3cd6156..5f35236 100644 --- a/ansible/roles/owner/tasks/main.yml +++ b/ansible/roles/owner/tasks/main.yml @@ -15,6 +15,7 @@ group: '{{ owner_group }}' groups: '{{ owner_extra_groups }}' shell: /bin/bash + register: uc_result - name: 'Set up user ssh keys for user "{{ owner_name }}".' authorized_key: @@ -24,6 +25,15 @@ with_items: '{{ owner_ssh_keys }}' when: owner_ssh_keys +- name: 'Prepare env variables.' + set_fact: + env_dict: '{{ owner_env | combine({ + "CURRENT_UID": uc_result.uid | default(owner_name), + "CURRENT_GID": uc_result.group | default(owner_group), + }) }}' + tags: + - env + - name: 'Set up environment variables for user "{{ owner_name }}".' template: src: env.j2 @@ -38,7 +48,7 @@ path: '/home/{{ owner_name }}/.bashrc' regexp: '^export {{ item.key }}=' state: absent - with_dict: '{{ owner_env }}' + with_dict: '{{ env_dict }}' tags: - env diff --git a/ansible/roles/owner/templates/env.j2 b/ansible/roles/owner/templates/env.j2 index ad19075..4749688 100644 --- a/ansible/roles/owner/templates/env.j2 +++ b/ansible/roles/owner/templates/env.j2 @@ -1,3 +1,3 @@ -{% for name, value in owner_env.iteritems() %} -{{ name }}={{ value }} +{% for name in env_dict.iterkeys() | sort %} +{{ name }}={{ env_dict[name] }} {% endfor %}