--- # 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