24 lines
633 B
Django/Jinja
24 lines
633 B
Django/Jinja
#cloud-config
|
|
hostname: "{{ hostname }}"
|
|
ssh_pwauth: true
|
|
package_update: false
|
|
package_upgrade: false
|
|
users:
|
|
{% for user in system_cfg.users %}
|
|
- name: "{{ user.name }}"
|
|
primary_group: "{{ user.name }}"
|
|
groups: users
|
|
{% if user.sudo | default(false) %}
|
|
sudo: "{{ 'ALL=(ALL) NOPASSWD:ALL' if user.sudo is sameas true else user.sudo }}"
|
|
{% endif %}
|
|
passwd: "{{ user.password | password_hash('sha512') }}"
|
|
lock_passwd: false
|
|
{% set ssh_keys = user['keys'] | default([]) %}
|
|
{% if ssh_keys | length > 0 %}
|
|
ssh_authorized_keys:
|
|
{% for key in ssh_keys %}
|
|
- "{{ key }}"
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endfor %}
|