fastapi
Migration includes: * A move away from being a SPA to have actual endpoints * Every page is generated via Jinja2Template * Added observability class to export metrics and logs to opentelemetry to integrate with observability stack * Let's database cache what the current status of all VMs are instead of using a dict to allow more multiple workers reading from a single source * The vm status API check to proxmox not caches authentication header for an hour instead of requesting a new header everytime it makes a request every thirty seconds. * Updated front end to be more WCAG compatible but it's still WIP
proxmox-web-portal
A web portal to primarily allow students access to VMs in our proxmox environment
It uses fastapi and mariadb alongside our oauth2 service.
Setup
There is a setup.sh script that installs the dependencies, nodejs and curl, along with setting up the actuall nodejs environment. It also creates and installs a systemd service called proxmox-web-portal that starts the nodejs server.
Configuration
After running setup you will have an empty config.ini file in your project location that you need to fill out with relevant information, primarily information for the proxmox cluster, mariadb and oauth2 service.
MariaDB configuration
Access to VMs is handled via MariaDB. The repo includes a schema.sql that can be imported after the database has been setup.
Description
Languages
Python
65.6%
HTML
14.9%
CSS
7.6%
JavaScript
6.8%
Shell
5.1%