PXE Cloud es un proyecto que intenta crear un entorno fácil de configurar y fácil de administrar para iniciar imágenes en vivo e instaladores de sistemas operativos. Actualmente, puede iniciar imágenes ISOS e INITRD.
Si está interesado en usar este proyecto, consulte el repositorio PXE Cloud Docker. Allí tiene contenedores y Docker componen definiciones tanto para el servidor local (el servidor que va a servir el binario IPXE que se conectará al servidor principal) y el servidor principal (el servidor que servirá a la API, el front-end y todos los menús de arranque).
Hay un diagrama que muestra todo el proceso:
La ruta roja y naranja muestra cómo el cliente administra las organizaciones, usuarios, imágenes, menús ... a través de un navegador web . Este front-end llama a la API para hacer cambios en el DB
El camino púrpura y verde muestra el proceso de arranque :

El código está separado en dos carpetas grandes:
api : la carpeta API es la carpeta que contiene todo el código relacionado con el back-end del proyectowebsite : la carpeta del sitio web es la carpeta que contiene todo el código relacionado con el front-end del proyecto La base de datos está estructurada como la siguiente:
USERS
+------------------------------------------+
| |
| username PK string |
| password string |
| email string |
| organizations array of strings (FK) +----+
| groups array of strings (FK) +----+----+
| | | |
+------------------------------------------+ | |
| |
ORGANIZATIONS | |
+------------------------------------------+ | |
| | | |
| id PK string |<---+ |
| name string | |
| description string | |
| groups array of strings (FK) +----+ |
| | | |
+------------------------------------------+ | |
| |
GROUPS | |
+--------------------------------+ | |
| | | |
| id PK string |<-------------+----+
| name string |
| description string |
| menu sitrng (FK) +----+
| | |
+--------------------------------+ |
|
MENUS |
+---------------------------+ |
| | |
| id PK string |<--------+
| title string |
| background string |
| entries array |
| type string |
| "image" |
| "separator" |
| * image_id FK string +----------------------------------------------+
| * content string | |
+---------------------------+ |
* If type is image, the field content isn't going to exist and viceversa |
|
IMAGE |
+---------------------------+ |
| | |
| id PK string |<---------------------------------------------+
| title string |
| type string |
| iso |
| kernel_initrd |
| kernel_source string |
| image_source string |
| boot_args array |
| |
+---------------------------+
Para la referencia de API, consulte https://pxecloud.docs.apiary.io. El código de esta documentación de BluePrint API está en Docs/Pxecloud.apib
En caso de que necesite ayuda o tenga una pregunta, ¡solo abra un problema y estaremos encantados de ayudarlo!
Este proyecto está bajo una licencia pública general de GNU v3.0. Para más información, consulte la licencia