Pxe Cloud - это проект, который пытается создать простую в настройке и простую в управлении Enviloment для загрузки живых изображений и установщиков ОС. В настоящее время вы можете загрузить изображения ISOS и initrd.
Если вы заинтересованы в использовании этого проекта, ознакомьтесь с репозиторием PXE Cloud Docker. Там у вас есть контейнеры и Docker Compose определения как для локального сервера (сервер, который собирается на сервер, двоичный IPXE, который собирается подключаться к основному серверу), так и на основном сервере (сервер, который будет обслуживать API, фронтальный и все меню загрузки).
Есть диаграмма, которая показывает весь процесс:
Красный и оранжевый путь показывает, как клиент управляет организациями, пользователями, изображениями, меню ... через веб -браузер . Этот фронт-энд называет API для внесения изменений в БД
Фиолетовый и зеленый путь показывает процесс загрузки :

Код разделен в двух больших папках:
api : папка API-это папка, которая содержит весь код, связанный с задней частью проектаwebsite : Папка веб-сайта-это папка, которая содержит весь код, связанный с передним конец проекта База данных структурируется как следующее:
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 |
| |
+---------------------------+
Для ссылки API посетите https://pxecloud.docs.apary.io. Код этой документации API Blueprint находится в docs/pxecloud.apib
Если вам нужна помощь или у вас есть вопрос, просто откройте проблему, и мы будем рады помочь вам!
Этот проект находится под общей публичной лицензией GNU v3.0. Для получения дополнительной информации проверьте лицензию