[PR #2144] [CLOSED] Allow Exporting and Importing of servers #1778

Closed
opened 2026-02-04 20:14:37 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/pelican-dev/panel/pull/2144
Author: @notAreYouScared
Created: 1/28/2026
Status: Closed

Base: mainHead: charles/ex-im-servers


📝 Commits (8)

📊 Changes

12 files changed (+844 additions, -3 deletions)

View changed files

📝 app/Filament/Admin/Resources/Eggs/Pages/ListEggs.php (+1 -1)
📝 app/Filament/Admin/Resources/Plugins/PluginResource.php (+1 -1)
📝 app/Filament/Admin/Resources/Servers/Pages/EditServer.php (+11 -0)
📝 app/Filament/Admin/Resources/Servers/Pages/ListServers.php (+2 -0)
app/Filament/Components/Actions/ExportServerConfigAction.php (+60 -0)
app/Filament/Components/Actions/ImportServerConfigAction.php (+87 -0)
app/Http/Controllers/Api/Application/Servers/ServerConfigController.php (+76 -0)
app/Services/Servers/Sharing/ServerConfigCreatorService.php (+267 -0)
app/Services/Servers/Sharing/ServerConfigExporterService.php (+106 -0)
app/Services/Servers/Sharing/ServerConfigImporterService.php (+194 -0)
📝 lang/en/admin/server.php (+36 -0)
📝 routes/api-application.php (+3 -1)

📄 Description

This pull request introduces a comprehensive server configuration import/export feature. It allows server configurations to be exported to YAML files (including settings, allocations, and variables) and imported from such files, both via the Filament admin UI and a new API controller.
Import/Export Actions (UI):

  • Added ExportServerConfigAction and ImportServerConfigAction to the Filament admin UI, enabling users to export a server's configuration as a YAML file and import a server from a YAML file, respectively. These actions include options for customizing what is included in the export and error handling for imports.

API Endpoints:

  • Introduced ServerConfigController with endpoints to export a server’s configuration as a downloadable YAML file and to create a server from an uploaded YAML configuration. Includes validation and error handling for both operations.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/pelican-dev/panel/pull/2144 **Author:** [@notAreYouScared](https://github.com/notAreYouScared) **Created:** 1/28/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `charles/ex-im-servers` --- ### 📝 Commits (8) - [`158a5bc`](https://github.com/pelican-dev/panel/commit/158a5bcf968f908ea800f8da0230478c78adf720) init - [`21ca789`](https://github.com/pelican-dev/panel/commit/21ca78915813fc2ea52f1546bf01390b200f3457) use lang - [`ebc5164`](https://github.com/pelican-dev/panel/commit/ebc5164a53ea9f04ac673b7a5f40ea9aee7c94f7) oh stan - [`2ce53b2`](https://github.com/pelican-dev/panel/commit/2ce53b2a4fc4d75fcba1c67c13ae0d44a55372e9) Merge remote-tracking branch 'origin/main' into charles/ex-im-servers - [`826701c`](https://github.com/pelican-dev/panel/commit/826701c1647c92a6d5b88f7ea7117e234a9570a8) updates - [`5a56af4`](https://github.com/pelican-dev/panel/commit/5a56af418a79006f8bd5f4abcaf4e100db7c63a8) tweak action - [`adb0f12`](https://github.com/pelican-dev/panel/commit/adb0f1202a74162b1a58e60bf43fa74cb6a34b48) server creator - [`bb4d55c`](https://github.com/pelican-dev/panel/commit/bb4d55c651ad0d2d15456b5363c4437698d671a0) stan ### 📊 Changes **12 files changed** (+844 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `app/Filament/Admin/Resources/Eggs/Pages/ListEggs.php` (+1 -1) 📝 `app/Filament/Admin/Resources/Plugins/PluginResource.php` (+1 -1) 📝 `app/Filament/Admin/Resources/Servers/Pages/EditServer.php` (+11 -0) 📝 `app/Filament/Admin/Resources/Servers/Pages/ListServers.php` (+2 -0) ➕ `app/Filament/Components/Actions/ExportServerConfigAction.php` (+60 -0) ➕ `app/Filament/Components/Actions/ImportServerConfigAction.php` (+87 -0) ➕ `app/Http/Controllers/Api/Application/Servers/ServerConfigController.php` (+76 -0) ➕ `app/Services/Servers/Sharing/ServerConfigCreatorService.php` (+267 -0) ➕ `app/Services/Servers/Sharing/ServerConfigExporterService.php` (+106 -0) ➕ `app/Services/Servers/Sharing/ServerConfigImporterService.php` (+194 -0) 📝 `lang/en/admin/server.php` (+36 -0) 📝 `routes/api-application.php` (+3 -1) </details> ### 📄 Description This pull request introduces a comprehensive server configuration import/export feature. It allows server configurations to be exported to YAML files (including settings, allocations, and variables) and imported from such files, both via the Filament admin UI and a new API controller. **Import/Export Actions (UI):** - Added `ExportServerConfigAction` and `ImportServerConfigAction` to the Filament admin UI, enabling users to export a server's configuration as a YAML file and import a server from a YAML file, respectively. These actions include options for customizing what is included in the export and error handling for imports. **API Endpoints:** - Introduced `ServerConfigController` with endpoints to export a server’s configuration as a downloadable YAML file and to create a server from an uploaded YAML configuration. Includes validation and error handling for both operations. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-04 20:14:37 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/panel#1778