Add new resource view to create server
This commit is contained in:
parent
04675a73fd
commit
f17ac6ffac
@ -481,70 +481,130 @@ class CreateServer extends CreateRecord
|
|||||||
]),
|
]),
|
||||||
|
|
||||||
Forms\Components\Section::make('Resource Management')
|
Forms\Components\Section::make('Resource Management')
|
||||||
// ->hiddenOn('create')
|
|
||||||
->collapsed()
|
->collapsed()
|
||||||
->icon('tabler-server-cog')
|
->icon('tabler-server-cog')
|
||||||
->iconColor('primary')
|
->iconColor('primary')
|
||||||
->columns(2)
|
->columns([
|
||||||
->columnSpan(([
|
|
||||||
'default' => 2,
|
'default' => 2,
|
||||||
'sm' => 4,
|
'sm' => 4,
|
||||||
'md' => 4,
|
'md' => 4,
|
||||||
'lg' => 6,
|
'lg' => 4,
|
||||||
]))
|
])
|
||||||
->schema([
|
->schema([
|
||||||
|
Forms\Components\ToggleButtons::make('unlimited_mem')
|
||||||
|
->label('Memory')
|
||||||
|
->afterStateUpdated(fn (Forms\Set $set) => $set('memory', 0))
|
||||||
|
->inlineLabel()->inline()
|
||||||
|
->live()
|
||||||
|
->formatStateUsing(fn (Forms\Get $get) => $get('memory') <= 0)
|
||||||
|
->options([
|
||||||
|
true => 'Unlimited',
|
||||||
|
false => 'Limited',
|
||||||
|
])
|
||||||
|
->colors([
|
||||||
|
true => 'primary',
|
||||||
|
false => 'warning',
|
||||||
|
])
|
||||||
|
->columnSpan(2),
|
||||||
|
|
||||||
Forms\Components\TextInput::make('memory')
|
Forms\Components\TextInput::make('memory')
|
||||||
->default(0)
|
->disabled(fn (Forms\Get $get) => $get('unlimited_mem'))
|
||||||
->label('Allocated Memory')
|
->label('Memory Limit')
|
||||||
->suffix('MB')
|
->suffix('MB')
|
||||||
->required()
|
->required()
|
||||||
|
->inlineLabel()
|
||||||
|
->columnSpan(2)
|
||||||
->numeric(),
|
->numeric(),
|
||||||
|
|
||||||
Forms\Components\TextInput::make('swap')
|
Forms\Components\ToggleButtons::make('unlimited_disk')
|
||||||
->default(0)
|
->label('Disk Space')
|
||||||
->label('Swap Memory')
|
->inlineLabel()->inline()
|
||||||
->suffix('MB')
|
->live()
|
||||||
->helperText('0 disables swap and -1 allows unlimited swap')
|
->afterStateUpdated(fn (Forms\Set $set) => $set('disk', 0))
|
||||||
->minValue(-1)
|
->formatStateUsing(fn (Forms\Get $get) => $get('disk') <= 0)
|
||||||
->required()
|
->options([
|
||||||
->numeric(),
|
true => 'Unlimited',
|
||||||
|
false => 'Limited',
|
||||||
|
])
|
||||||
|
->colors([
|
||||||
|
true => 'primary',
|
||||||
|
false => 'warning',
|
||||||
|
])
|
||||||
|
->columnSpan(2),
|
||||||
|
|
||||||
Forms\Components\TextInput::make('disk')
|
Forms\Components\TextInput::make('disk')
|
||||||
->default(0)
|
->disabled(fn (Forms\Get $get) => $get('unlimited_disk'))
|
||||||
->label('Disk Space Limit')
|
->label('Disk Space Limit')
|
||||||
->suffix('MB')
|
->suffix('MB')
|
||||||
->required()
|
->required()
|
||||||
|
->inlineLabel()
|
||||||
|
->columnSpan(2)
|
||||||
->numeric(),
|
->numeric(),
|
||||||
|
|
||||||
|
Forms\Components\ToggleButtons::make('unlimited_cpu')
|
||||||
|
->label('CPU')
|
||||||
|
->inlineLabel()->inline()
|
||||||
|
->afterStateUpdated(fn (Forms\Set $set) => $set('cpu', 0))
|
||||||
|
->live()
|
||||||
|
->formatStateUsing(fn (Forms\Get $get) => $get('cpu') <= 0)
|
||||||
|
->options([
|
||||||
|
true => 'Unlimited',
|
||||||
|
false => 'Limited',
|
||||||
|
])
|
||||||
|
->colors([
|
||||||
|
true => 'primary',
|
||||||
|
false => 'warning',
|
||||||
|
])
|
||||||
|
->columnSpan(2),
|
||||||
|
|
||||||
Forms\Components\TextInput::make('cpu')
|
Forms\Components\TextInput::make('cpu')
|
||||||
->default(0)
|
->disabled(fn (Forms\Get $get) => $get('unlimited_cpu'))
|
||||||
->label('CPU Limit')
|
->label('CPU Limit')
|
||||||
->suffix('%')
|
->suffix('%')
|
||||||
->required()
|
->required()
|
||||||
|
->inlineLabel()
|
||||||
|
->columnSpan(2)
|
||||||
->numeric(),
|
->numeric(),
|
||||||
|
|
||||||
Forms\Components\TextInput::make('threads')
|
Forms\Components\Hidden::make('io')
|
||||||
->hint('Advanced')
|
|
||||||
->hintColor('danger')
|
|
||||||
->helperText('Examples: 0, 0-1,3, or 0,1,3,4')
|
|
||||||
->label('CPU Pinning')
|
|
||||||
->suffixIcon('tabler-cpu')
|
|
||||||
->maxLength(191),
|
|
||||||
|
|
||||||
Forms\Components\TextInput::make('io')
|
|
||||||
->helperText('The IO performance relative to other running containers')
|
->helperText('The IO performance relative to other running containers')
|
||||||
->label('Block IO Proportion')
|
->label('Block IO Proportion')
|
||||||
|
->required(),
|
||||||
|
// ->numeric()
|
||||||
|
// ->minValue(0)
|
||||||
|
// ->maxValue(1000)
|
||||||
|
// ->step(10)
|
||||||
|
|
||||||
|
Forms\Components\ToggleButtons::make('swap_support')
|
||||||
|
->label('Enable Swap Memory')
|
||||||
|
->columnSpan(2)
|
||||||
|
->inlineLabel()->inline()
|
||||||
|
->formatStateUsing(fn (Forms\Get $get) => $get('swap') <= 0)
|
||||||
|
->options([
|
||||||
|
'unlimited' => 'Unlimited',
|
||||||
|
'limited' => 'Limited',
|
||||||
|
'disabled' => 'Disabled',
|
||||||
|
])
|
||||||
|
->colors([
|
||||||
|
'unlimited' => 'primary',
|
||||||
|
'limited' => 'warning',
|
||||||
|
'disabled' => 'danger',
|
||||||
|
]),
|
||||||
|
|
||||||
|
Forms\Components\TextInput::make('swap')
|
||||||
|
->disabled(fn (Forms\Get $get) => $get('swap_support'))
|
||||||
|
->label('Swap Memory')
|
||||||
|
->suffix('MB')
|
||||||
|
->minValue(-1)
|
||||||
|
->columnSpan(2)
|
||||||
|
->inlineLabel()
|
||||||
->required()
|
->required()
|
||||||
->minValue(0)
|
|
||||||
->maxValue(1000)
|
|
||||||
->step(10)
|
|
||||||
->default(0)
|
|
||||||
->numeric(),
|
->numeric(),
|
||||||
|
|
||||||
Forms\Components\ToggleButtons::make('oom_disabled')
|
Forms\Components\ToggleButtons::make('oom_disabled')
|
||||||
->label('OOM Killer')
|
->label('OOM Killer')
|
||||||
->inline()
|
->inline()
|
||||||
->default(false)
|
->columnSpan(2)
|
||||||
->options([
|
->options([
|
||||||
false => 'Disabled',
|
false => 'Disabled',
|
||||||
true => 'Enabled',
|
true => 'Enabled',
|
||||||
@ -552,12 +612,7 @@ class CreateServer extends CreateRecord
|
|||||||
->colors([
|
->colors([
|
||||||
false => 'success',
|
false => 'success',
|
||||||
true => 'danger',
|
true => 'danger',
|
||||||
])
|
]),
|
||||||
->icons([
|
|
||||||
false => 'tabler-sword-off',
|
|
||||||
true => 'tabler-sword',
|
|
||||||
])
|
|
||||||
->required(),
|
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user