summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-05-06 11:18:28 +0200
committerAhmed Abdelhalim <[email protected]>2026-05-06 11:18:28 +0200
commitc76729956477f5ad3b603d6d1ea022fbf132999a (patch)
tree879a3dd3e5b5290fc8661ac1089fcfd56c174ad2 /roles
parent4abac66c1ca799029b13076e0c14a8e9a676e401 (diff)
Add the creation of admin user for pve
Diffstat (limited to 'roles')
-rw-r--r--roles/proxmox-ve/defaults/main.yml2
-rw-r--r--roles/proxmox-ve/meta/argument_specs.yml8
-rw-r--r--roles/proxmox-ve/tasks/main.yml27
3 files changed, 37 insertions, 0 deletions
diff --git a/roles/proxmox-ve/defaults/main.yml b/roles/proxmox-ve/defaults/main.yml
index 1fb51b74..e56c830b 100644
--- a/roles/proxmox-ve/defaults/main.yml
+++ b/roles/proxmox-ve/defaults/main.yml
@@ -1,2 +1,4 @@
---
proxmox_ve_repo: "no-subscription"
+proxmox_ve_admin_user: "admin"
+proxmox_ve_admin_password: "changeme"
diff --git a/roles/proxmox-ve/meta/argument_specs.yml b/roles/proxmox-ve/meta/argument_specs.yml
index 915bcc59..adf6e105 100644
--- a/roles/proxmox-ve/meta/argument_specs.yml
+++ b/roles/proxmox-ve/meta/argument_specs.yml
@@ -9,3 +9,11 @@ argument_specs:
choices:
- "no-subscription"
- "enterprise"
+ proxmox_ve_admin_user:
+ type: "str"
+ description: "PVE realm admin username"
+ default: "admin"
+ proxmox_ve_admin_password:
+ type: "str"
+ description: "PVE realm admin password"
+ default: "changeme"
diff --git a/roles/proxmox-ve/tasks/main.yml b/roles/proxmox-ve/tasks/main.yml
index 77975f0c..0e69da45 100644
--- a/roles/proxmox-ve/tasks/main.yml
+++ b/roles/proxmox-ve/tasks/main.yml
@@ -37,6 +37,33 @@
# Since container doesn't have network ip address, skipping this test
- "molecule-notest"
+- name: "Create PVE admin user"
+ become: true
+ ansible.builtin.command:
+ cmd: "pveum user add {{ proxmox_ve_admin_user }}@pve"
+ register: pveum_user_add
+ changed_when: pveum_user_add.rc == 0
+ failed_when: pveum_user_add.rc != 0 and 'already exists' not in pveum_user_add.stderr
+ tags:
+ - "molecule-notest"
+
+- name: "Set PVE admin user password"
+ become: true
+ no_log: true
+ ansible.builtin.command:
+ cmd: "pveum passwd {{ proxmox_ve_admin_user }}@pve --password {{ proxmox_ve_admin_password }}"
+ changed_when: true
+ tags:
+ - "molecule-notest"
+
+- name: "Grant PVE Administrator role"
+ become: true
+ ansible.builtin.command:
+ cmd: "pveum acl modify / --roles Administrator --users {{ proxmox_ve_admin_user }}@pve"
+ changed_when: true
+ tags:
+ - "molecule-notest"
+
- name: "Enable and start Proxmox VE services"
become: true
ansible.builtin.systemd_service: