resist-vpn-infra/playbooks/add_user.yml
2026-01-26 21:22:41 -05:00

51 lines
1.5 KiB
YAML

---
# Add Single User Playbook
# Quick playbook to add one admin user
- name: Add Admin User
hosts: all
become: yes
gather_facts: yes
vars_prompt:
- name: new_username
prompt: "Enter username to create"
private: no
- name: new_user_comment
prompt: "Enter full name/comment"
private: no
default: ""
- name: generate_ssh_key
prompt: "Generate SSH key pair? (yes/no)"
private: no
default: "yes"
vars:
admin_users:
- username: "{{ new_username }}"
comment: "{{ new_user_comment if new_user_comment else new_username }}"
groups: ["sudo", "adm"]
generate_keys: "{{ generate_ssh_key | bool }}"
shell: /bin/bash
state: present
roles:
- role: ssh_users
post_tasks:
- name: Display success message
ansible.builtin.debug:
msg:
- "========================================="
- "User {{ new_username }} created successfully!"
- "========================================="
- "{% if generate_ssh_key | bool %}SSH keys: {{ ssh_keys_local_dir }}/{{ inventory_hostname }}/{{ new_username }}_id_ed25519{% endif %}"
- ""
- "{% if generate_ssh_key | bool %}Test SSH access:{% endif %}"
- "{% if generate_ssh_key | bool %}ssh -i {{ ssh_keys_local_dir }}/{{ inventory_hostname }}/{{ new_username }}_id_ed25519 {{ new_username }}@{{ inventory_hostname }}{% endif %}"
- "========================================="
delegate_to: localhost
run_once: true