---
# Initialization task (for simpler ansible management)

- name: Setting up sudoers for root
  lineinfile:
    dest: /etc/sudoers.d/root
    regexp: "^root.*NOPASSWD"
    line: "root ALL=(ALL:ALL) NOPASSWD:ALL"
    owner: root
    group: root
    mode: 0440
    create: yes
    state: present
    validate: '/usr/sbin/visudo -c -f %s'

- name: Creating Ansible Management User
  user:
    name: amgmt
    comment: "Ansible Management User"
    group: users
    password: $6$rounds=100000$XvHuMoXtpCksx379$nhlfUn38.oBB7JrDrtwfUisw8T0Bg5InzFq1fw31mcEmGZ2AYFkFK2zC2g04lSfw.kpdSgqH3Dl5q9r1fY6.k.
    shell: /bin/bash
    state: present
    generate_ssh_key: yes

- name: Setting up sudoers for Ansible Management User
  lineinfile:
    dest: /etc/sudoers.d/amgmt
    regexp: "^amgmt.*NOPASSWD"
    line: "amgmt ALL=(ALL:ALL) NOPASSWD:ALL"
    owner: root
    group: root
    mode: 0440
    create: yes
    state: present
    validate: '/usr/sbin/visudo -c -f %s'

- name: Authorizing Ansible Management User's key from server
  authorized_key:
    user: amgmt
    key: "{{ lookup('pipe', 'curl -sSL http://' + ansible_local.domain.serverfqdn + ':3000/mgmtkey') }}"
    state: present