diff options
| author | spmfox <spmfox@foxwd.com> | 2023-06-10 22:50:30 -0400 |
|---|---|---|
| committer | spmfox <spmfox@foxwd.com> | 2023-06-10 22:50:30 -0400 |
| commit | 843ad6659cc0bd6b8baaf2033e680d32a0531b2d (patch) | |
| tree | 1f421307396ce3805a07b33a2cb6d82ee0fbc300 /roles | |
| parent | a93e04656b8dc9bfbce998d0ec2ca299f4120629 (diff) | |
adding tags, adding guest configuration
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/guest-configure/tasks/main.yml | 17 | ||||
| -rw-r--r-- | roles/guest-configure/tasks/packages.yml | 5 | ||||
| -rw-r--r-- | roles/guest-configure/tasks/services.yml | 6 | ||||
| -rw-r--r-- | roles/guest-configure/tasks/update.yml | 4 | ||||
| -rw-r--r-- | roles/guest-configure/tasks/user.yml | 52 | ||||
| -rw-r--r-- | roles/guest-configure/vars/main.yml | 6 | ||||
| -rw-r--r-- | roles/libvirt/vars/main.yml | 8 | ||||
| -rw-r--r-- | roles/zfs/vars/main.yml | 2 |
8 files changed, 95 insertions, 5 deletions
diff --git a/roles/guest-configure/tasks/main.yml b/roles/guest-configure/tasks/main.yml new file mode 100644 index 0000000..4e4b429 --- /dev/null +++ b/roles/guest-configure/tasks/main.yml @@ -0,0 +1,17 @@ +- name: Wait for guest connectivity + ansible.builtin.wait_for_connection: + +- name: Gather facts + ansible.builtin.setup: + +- name: Import user creation task + ansible.builtin.import_tasks: user.yml + +- name: Import update task + ansible.builtin.import_tasks: update.yml + +- name: Import packages task + ansible.builtin.import_tasks: packages.yml + +- name: Import services task + ansible.builtin.import_tasks: services.yml diff --git a/roles/guest-configure/tasks/packages.yml b/roles/guest-configure/tasks/packages.yml new file mode 100644 index 0000000..cffd690 --- /dev/null +++ b/roles/guest-configure/tasks/packages.yml @@ -0,0 +1,5 @@ +- name: Install packages + ansible.builtin.package: + name: "{{ item }}" + state: present + loop: "{{ guest_configure_packages }}" diff --git a/roles/guest-configure/tasks/services.yml b/roles/guest-configure/tasks/services.yml new file mode 100644 index 0000000..56a5626 --- /dev/null +++ b/roles/guest-configure/tasks/services.yml @@ -0,0 +1,6 @@ +- name: Enable and start services + ansible.builtin.service: + name: "{{ item }}" + enabled: yes + state: started + loop: "{{ guest_configure_services }}" diff --git a/roles/guest-configure/tasks/update.yml b/roles/guest-configure/tasks/update.yml new file mode 100644 index 0000000..f74b190 --- /dev/null +++ b/roles/guest-configure/tasks/update.yml @@ -0,0 +1,4 @@ +- name: Update all packages + ansible.builtin.package: + name: "*" + state: latest diff --git a/roles/guest-configure/tasks/user.yml b/roles/guest-configure/tasks/user.yml new file mode 100644 index 0000000..c0e418b --- /dev/null +++ b/roles/guest-configure/tasks/user.yml @@ -0,0 +1,52 @@ +- name: Create user + ansible.builtin.user: + name: "{{ guest_configure_user }}" + +- name: RedHat block + block: + - name: Add user to sudo group (RedHat) + ansible.builtin.user: + name: "{{ guest_configure_user }}" + groups: "wheel" + append: yes + + - name: Allow wheel group nopasswd in sudoers (RedHat) + lineinfile: + path: /etc/sudoers + state: present + regexp: '^%wheel' + line: '%wheel ALL=(ALL) NOPASSWD: ALL' + validate: 'visudo -cf %s' + when: ansible_os_family == "RedHat" + +- name: Debian block + block: + - name: Add user to sudo group (Debian) + ansible.builtin.user: + name: "{{ guest_configure_user }}" + groups: "sudo" + append: yes + + - name: Allow sudo group nopasswd in sudoers (Debian) + lineinfile: + path: /etc/sudoers + state: present + regexp: '^%sudo' + line: '%sudo ALL=(ALL) NOPASSWD: ALL' + validate: 'visudo -cf %s' + when: ansible_os_family == "Debian" + +- name: Create user .ssh folder + ansible.builtin.file: + path: "/home/{{ guest_configure_user }}/.ssh/" + state: directory + mode: "0700" + owner: "{{ guest_configure_user }}" + +- name: Copy root ssh authorized_keys key to new user + ansible.builtin.copy: + src: "/root/.ssh/authorized_keys" + dest: "/home/{{ guest_configure_user }}/.ssh/authorized_keys" + remote_src: yes + mode: "0600" + owner: "{{ guest_configure_user }}" diff --git a/roles/guest-configure/vars/main.yml b/roles/guest-configure/vars/main.yml new file mode 100644 index 0000000..10881fb --- /dev/null +++ b/roles/guest-configure/vars/main.yml @@ -0,0 +1,6 @@ +ansible_ssh_common_args: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" +ansible_user: root + +guest_configure_user: "{{ user }}" +guest_configure_packages: "{{ packages }}" +guest_configure_services: "{{ services }}" diff --git a/roles/libvirt/vars/main.yml b/roles/libvirt/vars/main.yml index 82140c5..54fd9e7 100644 --- a/roles/libvirt/vars/main.yml +++ b/roles/libvirt/vars/main.yml @@ -1,4 +1,4 @@ -libvirt_vm_name: "{{ vm_name }}" +libvirt_vm_name: "{{ inventory_hostname }}" libvirt_vm_memory: "{{ memory_mb }}" libvirt_vm_vcpus: "{{ cpus }}" libvirt_vm_disk_size: "{{ disk_gb }}" @@ -6,10 +6,10 @@ libvirt_vm_disk_format: "{{ disk_format }}" libvirt_vm_os: "{{ os }}" libvirt_vm_kickstart_file: "{{ kickstart }}" libvirt_vm_location_path: "{{ iso_path }}" -libvirt_vm_destination: "{{ parent_dataset }}/{{ vm_name }}" +libvirt_vm_destination: "{{ parent_dataset }}/{{ inventory_hostname }}" libvirt_vm_network: "{{ network }}" -libvirt_kickstart_hostname: "{{ vm_name }}" +libvirt_kickstart_hostname: "{{ inventory_hostname }}" libvirt_kickstart_timezone: "{{ timezone }}" -libvirt_kickstart_root_ssh_key: "{{ root_ssh_key }}" +libvirt_kickstart_root_ssh_key: "{{ ssh_key }}" libvirt_kickstart_root_password: "{{ root_password }}" diff --git a/roles/zfs/vars/main.yml b/roles/zfs/vars/main.yml index a53eb98..825fd0b 100644 --- a/roles/zfs/vars/main.yml +++ b/roles/zfs/vars/main.yml @@ -1 +1 @@ -zfs_dataset: "{{ parent_dataset }}/{{ vm_name }}" +zfs_dataset: "{{ parent_dataset }}/{{ inventory_hostname }}" |
