diff --git a/app/Http/Requests/Admin/Egg/EggFormRequest.php b/app/Http/Requests/Admin/Egg/EggFormRequest.php index a53b9c91b..561ffb797 100644 --- a/app/Http/Requests/Admin/Egg/EggFormRequest.php +++ b/app/Http/Requests/Admin/Egg/EggFormRequest.php @@ -14,6 +14,7 @@ class EggFormRequest extends AdminFormRequest 'docker_images' => ['required', 'string', 'regex:/^[\w#\.\/\- ]*\|?~?[\w\.\/\-:@ ]*$/im'], 'force_outgoing_ip' => 'sometimes|boolean', 'file_denylist' => 'array', + 'features' => 'sometimes|array', 'startup' => 'required|string', 'config_from' => 'sometimes|bail|nullable|numeric', 'config_stop' => 'required_without:config_from|nullable|string|max:191', @@ -42,6 +43,7 @@ class EggFormRequest extends AdminFormRequest return array_merge($data, [ 'force_outgoing_ip' => array_get($data, 'force_outgoing_ip', false), + 'features' => array_get($data, 'features', []), ]); } } diff --git a/resources/views/admin/eggs/new.blade.php b/resources/views/admin/eggs/new.blade.php index 9a0a07849..7f77fec9a 100644 --- a/resources/views/admin/eggs/new.blade.php +++ b/resources/views/admin/eggs/new.blade.php @@ -72,6 +72,14 @@

The default startup command that should be used for new servers created with this Egg. You can change this per-server as needed.

+
+ +
+ +

Additional features belonging to the egg. Useful for configuring additional panel modifications.

+
+
@@ -161,5 +169,10 @@ $(this).val(prepend + ' ' + append); } }); + $('#pConfigFeatures').select2({ + tags: true, + selectOnClose: false, + tokenSeparators: [',', ' '], + }); @endsection diff --git a/resources/views/admin/eggs/view.blade.php b/resources/views/admin/eggs/view.blade.php index b999d2a91..50b69c379 100644 --- a/resources/views/admin/eggs/view.blade.php +++ b/resources/views/admin/eggs/view.blade.php @@ -114,6 +114,17 @@

The default startup command that should be used for new servers using this Egg.

+
+ +
+ +

Additional features belonging to the egg. Useful for configuring additional panel modifications.

+
+
@@ -202,5 +213,10 @@ $(this).val(prepend + ' ' + append); } }); + $('#pConfigFeatures').select2({ + tags: true, + selectOnClose: false, + tokenSeparators: [',', ' '], + }); @endsection