setup: Manage server user accounts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kacper Donat 2026-10-25 18:59:16 +01:00
parent ba6dcc6d7a
commit 4ff526d163
3 changed files with 30 additions and 3 deletions

View File

@ -1,2 +1,3 @@
skip_list: skip_list:
- '306' - '306'
- 'name[template]'

View File

@ -14,13 +14,34 @@
- kadet.docker-swarm - kadet.docker-swarm
tasks: tasks:
- name: "Create user accounts"
ansible.builtin.user:
state: "{{ user.state | default('present') }}"
user: "{{ user.name }}"
groups: "{{ user.groups | default([]) }}"
append: true
with_items: "{{ server_user_accounts }}"
loop_control:
label: "{{ user.name }}"
loop_var: user
- name: Set authorized key taken from file
ansible.posix.authorized_key:
user: "{{ user.name }}"
state: present
key: "{{ user.key }}"
with_items: "{{ server_user_accounts }}"
loop_control:
label: "{{ user.name }}"
loop_var: user
- name: "Add '{{ ansible_user }}' to docker group" - name: "Add '{{ ansible_user }}' to docker group"
user: ansible.builtin.user:
user: "{{ ansible_user }}" user: "{{ ansible_user }}"
groups: docker groups: docker
append: true append: true
- name: "Add acl package" - name: "Add acl package"
apt: ansible.builtin.apt:
name: acl name: acl
state: present state: present

View File

@ -26,3 +26,8 @@ swarm_registry_user:
swarm_global_secrets: swarm_global_secrets:
- name: dockerregistryauth - name: dockerregistryauth
data: "{{ lookup('ansible.builtin.template', 'templates/dockerregistryauth.json.j2', convert_data=False)|string }}" data: "{{ lookup('ansible.builtin.template', 'templates/dockerregistryauth.json.j2', convert_data=False)|string }}"
server_user_accounts:
- name: obelisk
key: |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCjvnPk20JYqrcFzV8Pyi4vXV5s07NEk37Fuh0BS8j6LwThfHBNxoz/TTpxUr5yPXpug/u+xORB4e/T13CfYKQUGoSHc6g/ByXolfiOdixiKG2H48aw/GLB6yftr6HNIEyUwfD9TA8YQzgfaRyLcIWbu/Ut3etaCDrVqaj83kWRcGhWh6hnp5iJM9dlFZentdYI2dZlOk/GXOB8DojN4zm+F3YnvSoQRJ7Hgks416bCDBew+gPP8GQc3TQ8pz26TAh86PH6rks36TJU96Yv8dnfPaCX3ndeZWedPhY3jxvsHWY6Lcg/fWMWdyJwau0WZNLJhSCe7OxeX0mN5KMCeqKiL+fi6mBXHiropqY1NFN3xLlBuit0VW2on1uQWPa3FzjZxZ0ymhsaqwk8SfbMPRkGLtR/IBO+XGoYrG1qi5BCZ3Rz2way2H9l+iarV/hlzV/TlJwRc7RvZVoUgvWwiYH4shIgE9KNNv2PJHCJ4r36VpUv24X+t02tfX6DDjbZ8Rs= obelisk@obelisk-b550