mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-04 15:32:35 +00:00
Plugins base (#613)
* wip * wip * cleanup * notification channels * phpstan * services * remove server types * refactoring * refactoring
This commit is contained in:
120
app/Providers/ServerProviderServiceProvider.php
Normal file
120
app/Providers/ServerProviderServiceProvider.php
Normal file
@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\DTOs\DynamicField;
|
||||
use App\DTOs\DynamicForm;
|
||||
use App\Plugins\RegisterServerProvider;
|
||||
use App\ServerProviders\AWS;
|
||||
use App\ServerProviders\Custom;
|
||||
use App\ServerProviders\DigitalOcean;
|
||||
use App\ServerProviders\Hetzner;
|
||||
use App\ServerProviders\Linode;
|
||||
use App\ServerProviders\Vultr;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class ServerProviderServiceProvider extends ServiceProvider
|
||||
{
|
||||
public function register(): void {}
|
||||
|
||||
public function boot(): void
|
||||
{
|
||||
$this->custom();
|
||||
$this->aws();
|
||||
$this->hetzner();
|
||||
$this->digitalOcean();
|
||||
$this->linode();
|
||||
$this->vultr();
|
||||
}
|
||||
|
||||
private function custom(): void
|
||||
{
|
||||
RegisterServerProvider::make(Custom::id())
|
||||
->label('Custom')
|
||||
->handler(Custom::class)
|
||||
->register();
|
||||
}
|
||||
|
||||
private function aws(): void
|
||||
{
|
||||
RegisterServerProvider::make(AWS::id())
|
||||
->label('AWS')
|
||||
->handler(AWS::class)
|
||||
->form(
|
||||
DynamicForm::make([
|
||||
DynamicField::make('key')
|
||||
->text()
|
||||
->label('Access Key'),
|
||||
DynamicField::make('secret')
|
||||
->text()
|
||||
->label('Secret'),
|
||||
])
|
||||
)
|
||||
->defaultUser('ubuntu')
|
||||
->register();
|
||||
}
|
||||
|
||||
private function hetzner(): void
|
||||
{
|
||||
RegisterServerProvider::make(Hetzner::id())
|
||||
->label('Hetzner')
|
||||
->handler(Hetzner::class)
|
||||
->form(
|
||||
DynamicForm::make([
|
||||
DynamicField::make('token')
|
||||
->text()
|
||||
->label('Token'),
|
||||
])
|
||||
)
|
||||
->defaultUser('root')
|
||||
->register();
|
||||
}
|
||||
|
||||
private function digitalOcean(): void
|
||||
{
|
||||
RegisterServerProvider::make(DigitalOcean::id())
|
||||
->label('DigitalOcean')
|
||||
->handler(DigitalOcean::class)
|
||||
->form(
|
||||
DynamicForm::make([
|
||||
DynamicField::make('token')
|
||||
->text()
|
||||
->label('Token'),
|
||||
])
|
||||
)
|
||||
->defaultUser('root')
|
||||
->register();
|
||||
}
|
||||
|
||||
private function linode(): void
|
||||
{
|
||||
RegisterServerProvider::make(Linode::id())
|
||||
->label('Linode')
|
||||
->handler(Linode::class)
|
||||
->form(
|
||||
DynamicForm::make([
|
||||
DynamicField::make('token')
|
||||
->text()
|
||||
->label('Token'),
|
||||
])
|
||||
)
|
||||
->defaultUser('root')
|
||||
->register();
|
||||
}
|
||||
|
||||
private function vultr(): void
|
||||
{
|
||||
RegisterServerProvider::make(Vultr::id())
|
||||
->label('Vultr')
|
||||
->handler(Vultr::class)
|
||||
->form(
|
||||
DynamicForm::make([
|
||||
DynamicField::make('token')
|
||||
->text()
|
||||
->label('Token'),
|
||||
])
|
||||
)
|
||||
->defaultUser('root')
|
||||
->register();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user