feat(pb,role): adds alpine as an option for VM deploying

This commit is contained in:
2026-09-14 14:47:28 +04:00
parent 6bef8b28e5
commit e59f07fb6d
3 changed files with 46 additions and 3 deletions
+33 -2
View File
@@ -15,6 +15,16 @@
prompt: "Hostname for the VM (may only contain letters (a-z, A-Z), numbers (0-9), and hyphens)"
private: false
- name: vm_os_template
prompt: "Select OS template. Available: debian-13 | alpine"
default: "debian-13"
private: false
- name: vm_become_method
prompt: "Select become method. Available: sudo | su | pbrun | pfexec | doas | dzdo | ksu | runas | machinectl"
default: "sudo"
private: false
- name: vm_ip_address
prompt: "IP address for the VM (in x.x.x.x/x formant)"
private: false
@@ -28,15 +38,35 @@
when: not vm_hostname is regex('^[a-zA-Z0-9-]+$')
run_once: true
- name: Validate OS template
ansible.builtin.fail:
msg: |
Invalid OS template: "{{ vm_os_template }}"
Select from available options: debian-13, alpine
when: vm_os_template not in ['debian-13', 'alpine']
run_once: true
- name: Validate become method
ansible.builtin.fail:
msg: |
Invalid become method: "{{ vm_become_method }}"
Select from available options: sudo | su | pbrun | pfexec | doas | dzdo | ksu | runas | machinectl
when: vm_become_method not in ['sudo', 'su', 'pbrun', 'pfexec', 'doas', 'dzdo', 'ksu', 'runas', 'machinectl']
run_once: true
roles:
- ../roles/deploy_vm_on_proxmox
tasks:
- name: Make the prompted hostname available to the whole playbook
- name: Make the hostname available to the whole playbook
ansible.builtin.set_fact:
fact_vm_hostname: "{{ vm_hostname }}"
- name: Make the prompted IP available to the whole playbook
- name: Make the OS template available to the whole playbook
ansible.builtin.set_fact:
fact_vm_os_template: "{{ vm_os_template }}"
- name: Make the IP available to the whole playbook
ansible.builtin.set_fact:
fact_vm_ip_address: "{{ vm_ip_address.split('/') | first }}"
@@ -46,6 +76,7 @@
groups: new_host
ansible_user: ansible
ansible_become_password: "{{ ansible_become_passwd }}"
ansible_become_method: "{{ vm_become_method }}"
- name: Configure VM