added a help system, replaced the words "tenant" and "Pwa" with better alternatives. corrected and implemented cron jobs. prepared going live on a coolify-powered system.
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\PhotoboothSettings\Schemas;
|
||||
|
||||
use Filament\Forms\Components\Section;
|
||||
use Filament\Forms\Components\TagsInput;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Components\Toggle;
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class PhotoboothSettingForm
|
||||
{
|
||||
public static function configure(Schema $schema): Schema
|
||||
{
|
||||
return $schema->components([
|
||||
Section::make(__('FTP-Verbindung'))
|
||||
->description(__('Globale Parameter für den vsftpd-Container.'))
|
||||
->schema([
|
||||
TextInput::make('ftp_port')
|
||||
->numeric()
|
||||
->required()
|
||||
->minValue(1)
|
||||
->maxValue(65535)
|
||||
->helperText(__('Standard: Port 2121 innerhalb des internen Netzwerks.')),
|
||||
TextInput::make('rate_limit_per_minute')
|
||||
->label(__('Uploads pro Minute'))
|
||||
->numeric()
|
||||
->required()
|
||||
->minValue(1)
|
||||
->maxValue(200)
|
||||
->helperText(__('Harte Rate-Limits für Photobooth-Clients.')),
|
||||
TextInput::make('expiry_grace_days')
|
||||
->label(__('Ablauf (Tage nach Eventende)'))
|
||||
->numeric()
|
||||
->required()
|
||||
->minValue(0)
|
||||
->maxValue(14),
|
||||
])->columns(3),
|
||||
Section::make(__('Sicherheit & Steuerung'))
|
||||
->schema([
|
||||
Toggle::make('require_ftps')
|
||||
->label(__('FTPS erzwingen'))
|
||||
->helperText(__('Aktivieren, wenn nur verschlüsselte FTP-Verbindungen erlaubt sein sollen.')),
|
||||
TagsInput::make('allowed_ip_ranges')
|
||||
->label(__('Erlaubte IP-Ranges (optional)'))
|
||||
->placeholder('10.0.0.0/24')
|
||||
->helperText(__('Liste optionaler CIDR-Ranges für Control-Service Allowlisting.')),
|
||||
TextInput::make('control_service_base_url')
|
||||
->label(__('Control-Service URL'))
|
||||
->url()
|
||||
->maxLength(191)
|
||||
->helperText(__('REST-Endpunkt des Provisioning-Sidecars (z. B. http://control:8080).')),
|
||||
TextInput::make('control_service_token_identifier')
|
||||
->label(__('Token Referenz'))
|
||||
->maxLength(191)
|
||||
->helperText(__('Bezeichner des Secrets im Secrets-Store (keine Klartext-Tokens speichern).')),
|
||||
])->columns(2),
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user