Skip to content

PwnPeter/Proxmox-VE-Web-Interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proxmox VE Web Interface

Upload a simple .csv (with columns firstname, lastname, email) file to clone VMs from a template/VM id and affect role. You can next delete them in one click 🐱‍🏍

All VM id are created with the next pattern : {class id}{os id}{001..N}, for exemple if class is IR4 and OS CentOS, the first user will have th VM id 41001.

Get Started 🐱‍💻

pip3 -r requirements.txt
python3.8 proxmox_multiple_clone.py # python >= 3.0 required

Next go to http://localhost:8080

Mini Documentation 📚

You can change these variables:

app.config["BASIC_AUTH_USERNAME"] = "admin" # login 

app.config["BASIC_AUTH_PASSWORD"] = "1234" # password

#infos proxmox
url_proxmox = "https://172.16.1.92:8006" #without / at the end
username = "balbla@pve"
password = "12345"

role = "Etudiant" # user's role on the cloned vm
authentication_mode = "authentification-AD" # user authentication method in proxmox, exemple with user peterpan: peterpan@authentification-AD

You can add a maximum of 2 nodes to distribute the created VMs:

nodes_list = ["proxmox1"] 
# or 
nodes_list = ["proxmox1", "proxmox2"] # for exemple, you need to have the same template (with same id) in each node

You can edit the dictionaries below:

os_equivalent = {
    "1": "CentOS",
    "2": "Debian",
    "3": "Linux_Autre",
    "4": "WinXP",
    "5": "Win7",
    "6": "Win10",
    "7": "WinSRV2016",
    "8": "WinSRV2019",
    "9": "Win_Autre",
}

template_equivalent = {
    "CentOS": 100,
    "WinSRV2016": 104,
}

class_equivalent = {
    "1": "ING1",
    "2": "ING2",
    "3": "IR3",
    "4": "IR4",
    "5": "IR5",
    "6": "Bachelor",
    "7": "M1",
    "8": "M2",
    "9": "Autre",
}

The value associated with one of the os_equivalent keys must match an equivalent template_equivalent key, ex:

os_equivalent = {
    "1": "CentOS", # this value (CentOS) match with 
    "2": "Debian",
    "3": "Linux_Autre",
    "4": "WinXP",
    "5": "Win7",
    "6": "Win10",
    "7": "WinSRV2016",
    "8": "WinSRV2019",
    "9": "Win_Autre",
}

template_equivalent = {
    "CentOS": 100, # this template key (CentOS)
    "WinSRV2016": 104,
}

Releases

No releases published

Packages

No packages published