Skip to main content

Preparing Ansible managed nodes using playbook

---
- name: prep playbook for use with ansible-navigator
  hosts: all
  remote_user: root
  vars:
    ansible_password: 'Passw0rd!'
    remuser: devops
    rempass: redhat123
  tasks:
    - name: create user {{ remuser }}
      user:
        name: "{{ remuser }}"
        state: present
        password: "{{ rempass | ansible.builtin.password_hash('sha512') }}"
    - name: provision ssh key
      authorized_key:
        user: "{{ remuser }}"
        state: present
        key: "{{ lookup('file', '~/.ssh/id_ecdsa.pub') }}"
    - name: provision sudo rule for {{ remuser }}
      copy:
        dest: /etc/sudoers.d/training
        content: 'devops   ALL=(ALL) NOPASSWD: ALL'
        owner: root
        group: root
        mode: 0600

 

Alternative solution: Preparing Ansible Managed Nodes - shell script