format muhahaha
This commit is contained in:
parent
c762195c8a
commit
82a01b4483
@ -66,8 +66,8 @@ public static function decodeOutput(?Activity $activity = null): string
|
|||||||
}
|
}
|
||||||
|
|
||||||
return collect($decoded)
|
return collect($decoded)
|
||||||
->sortBy(fn($i) => $i['order'])
|
->sortBy(fn ($i) => $i['order'])
|
||||||
->map(fn($i) => $i['output'])
|
->map(fn ($i) => $i['output'])
|
||||||
->implode("");
|
->implode("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,15 +134,15 @@ private function generate_environment_variables()
|
|||||||
$environment_variables->push("$env->key=$env->value");
|
$environment_variables->push("$env->key=$env->value");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($environment_variables->filter(fn($env) => Str::of($env)->contains('POSTGRES_USER'))->isEmpty()) {
|
if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('POSTGRES_USER'))->isEmpty()) {
|
||||||
$environment_variables->push("POSTGRES_USER={$this->database->postgres_user}");
|
$environment_variables->push("POSTGRES_USER={$this->database->postgres_user}");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($environment_variables->filter(fn($env) => Str::of($env)->contains('POSTGRES_PASSWORD'))->isEmpty()) {
|
if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('POSTGRES_PASSWORD'))->isEmpty()) {
|
||||||
$environment_variables->push("POSTGRES_PASSWORD={$this->database->postgres_password}");
|
$environment_variables->push("POSTGRES_PASSWORD={$this->database->postgres_password}");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($environment_variables->filter(fn($env) => Str::of($env)->contains('POSTGRES_DB'))->isEmpty()) {
|
if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('POSTGRES_DB'))->isEmpty()) {
|
||||||
$environment_variables->push("POSTGRES_DB={$this->database->postgres_db}");
|
$environment_variables->push("POSTGRES_DB={$this->database->postgres_db}");
|
||||||
}
|
}
|
||||||
return $environment_variables->all();
|
return $environment_variables->all();
|
||||||
|
@ -29,8 +29,10 @@ public function update(User $user, array $input): void
|
|||||||
],
|
],
|
||||||
])->validateWithBag('updateProfileInformation');
|
])->validateWithBag('updateProfileInformation');
|
||||||
|
|
||||||
if ($input['email'] !== $user->email &&
|
if (
|
||||||
$user instanceof MustVerifyEmail) {
|
$input['email'] !== $user->email &&
|
||||||
|
$user instanceof MustVerifyEmail
|
||||||
|
) {
|
||||||
$this->updateVerifiedUser($user, $input);
|
$this->updateVerifiedUser($user, $input);
|
||||||
} else {
|
} else {
|
||||||
$user->forceFill([
|
$user->forceFill([
|
||||||
|
@ -22,5 +22,4 @@ public function __invoke(Server $server, bool $reset = false)
|
|||||||
|
|
||||||
return $proxy_configuration;
|
return $proxy_configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -20,4 +20,4 @@ public function __invoke(Server $server, string $configuration)
|
|||||||
"echo '$docker_compose_yml_base64' | base64 -d > $proxy_path/docker-compose.yml",
|
"echo '$docker_compose_yml_base64' | base64 -d > $proxy_path/docker-compose.yml",
|
||||||
], $server);
|
], $server);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,15 +43,16 @@ private function showHelp()
|
|||||||
style('coolify')->color('#9333EA');
|
style('coolify')->color('#9333EA');
|
||||||
style('title-box')->apply('mt-1 px-2 py-1 bg-coolify');
|
style('title-box')->apply('mt-1 px-2 py-1 bg-coolify');
|
||||||
|
|
||||||
render(<<<'HTML'
|
render(
|
||||||
|
<<<'HTML'
|
||||||
<div>
|
<div>
|
||||||
<div class="title-box">
|
<div class="title-box">
|
||||||
Coolify
|
Coolify
|
||||||
</div>
|
</div>
|
||||||
<p class="ml-1 mt-1 ">
|
<p class="mt-1 ml-1 ">
|
||||||
Demo Notify <strong class="text-coolify">=></strong> Send a demo notification to a given channel.
|
Demo Notify <strong class="text-coolify">=></strong> Send a demo notification to a given channel.
|
||||||
</p>
|
</p>
|
||||||
<p class="ml-1 mt-1 bg-coolify px-1">
|
<p class="px-1 mt-1 ml-1 bg-coolify">
|
||||||
php artisan app:demo-notify {channel}
|
php artisan app:demo-notify {channel}
|
||||||
</p>
|
</p>
|
||||||
<div class="my-1">
|
<div class="my-1">
|
||||||
|
@ -64,7 +64,7 @@ public function handle()
|
|||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
Http::pool(fn(Pool $pool) => [
|
Http::pool(fn (Pool $pool) => [
|
||||||
$pool->storage(file: "$parent_dir/$compose_file")->put("/$bunny_cdn_storage_name/$bunny_cdn_path/$compose_file"),
|
$pool->storage(file: "$parent_dir/$compose_file")->put("/$bunny_cdn_storage_name/$bunny_cdn_path/$compose_file"),
|
||||||
$pool->storage(file: "$parent_dir/$compose_file_prod")->put("/$bunny_cdn_storage_name/$bunny_cdn_path/$compose_file_prod"),
|
$pool->storage(file: "$parent_dir/$compose_file_prod")->put("/$bunny_cdn_storage_name/$bunny_cdn_path/$compose_file_prod"),
|
||||||
$pool->storage(file: "$parent_dir/$production_env")->put("/$bunny_cdn_storage_name/$bunny_cdn_path/$production_env"),
|
$pool->storage(file: "$parent_dir/$production_env")->put("/$bunny_cdn_storage_name/$bunny_cdn_path/$production_env"),
|
||||||
@ -73,7 +73,7 @@ public function handle()
|
|||||||
$pool->storage(file: "$parent_dir/$versions")->put("/$bunny_cdn_storage_name/$bunny_cdn_path/$versions"),
|
$pool->storage(file: "$parent_dir/$versions")->put("/$bunny_cdn_storage_name/$bunny_cdn_path/$versions"),
|
||||||
]);
|
]);
|
||||||
ray("{$bunny_cdn}/{$bunny_cdn_path}");
|
ray("{$bunny_cdn}/{$bunny_cdn_path}");
|
||||||
Http::pool(fn(Pool $pool) => [
|
Http::pool(fn (Pool $pool) => [
|
||||||
$pool->purge("$bunny_cdn/$bunny_cdn_path/$compose_file"),
|
$pool->purge("$bunny_cdn/$bunny_cdn_path/$compose_file"),
|
||||||
$pool->purge("$bunny_cdn/$bunny_cdn_path/$compose_file_prod"),
|
$pool->purge("$bunny_cdn/$bunny_cdn_path/$compose_file_prod"),
|
||||||
$pool->purge("$bunny_cdn/$bunny_cdn_path/$production_env"),
|
$pool->purge("$bunny_cdn/$bunny_cdn_path/$production_env"),
|
||||||
|
@ -17,7 +17,7 @@ class Kernel extends ConsoleKernel
|
|||||||
{
|
{
|
||||||
protected function schedule(Schedule $schedule): void
|
protected function schedule(Schedule $schedule): void
|
||||||
{
|
{
|
||||||
// $schedule->call(fn() => $this->check_scheduled_backups($schedule))->everyTenSeconds();
|
// $schedule->call(fn() => $this->check_scheduled_backups($schedule))->everyTenSeconds();
|
||||||
if (is_dev()) {
|
if (is_dev()) {
|
||||||
$schedule->command('horizon:snapshot')->everyMinute();
|
$schedule->command('horizon:snapshot')->everyMinute();
|
||||||
$schedule->job(new InstanceApplicationsStatusJob)->everyMinute();
|
$schedule->job(new InstanceApplicationsStatusJob)->everyMinute();
|
||||||
@ -54,7 +54,6 @@ private function check_scheduled_backups($schedule)
|
|||||||
backup: $scheduled_backup
|
backup: $scheduled_backup
|
||||||
))->cron($scheduled_backup->frequency);
|
))->cron($scheduled_backup->frequency);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function commands(): void
|
protected function commands(): void
|
||||||
|
@ -22,7 +22,6 @@ public function __construct(
|
|||||||
public ?Model $model = null,
|
public ?Model $model = null,
|
||||||
public string $status = ProcessStatus::QUEUED->value,
|
public string $status = ProcessStatus::QUEUED->value,
|
||||||
public bool $ignore_errors = false,
|
public bool $ignore_errors = false,
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@ class ServerMetadata extends Data
|
|||||||
public function __construct(
|
public function __construct(
|
||||||
public ?ProxyTypes $type,
|
public ?ProxyTypes $type,
|
||||||
public ?ProxyStatus $status
|
public ?ProxyStatus $status
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ public function subscription()
|
|||||||
abort(404);
|
abort(404);
|
||||||
}
|
}
|
||||||
return view('subscription', [
|
return view('subscription', [
|
||||||
'settings' => InstanceSettings::get()
|
'settings' => InstanceSettings::get(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ public function license()
|
|||||||
abort(404);
|
abort(404);
|
||||||
}
|
}
|
||||||
return view('settings.license', [
|
return view('settings.license', [
|
||||||
'settings' => InstanceSettings::get()
|
'settings' => InstanceSettings::get(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,13 +63,11 @@ public function settings()
|
|||||||
$settings = InstanceSettings::get();
|
$settings = InstanceSettings::get();
|
||||||
$database = StandalonePostgresql::whereName('coolify-db')->first();
|
$database = StandalonePostgresql::whereName('coolify-db')->first();
|
||||||
if ($database) {
|
if ($database) {
|
||||||
$backup = $database->scheduledBackups->first();
|
|
||||||
$s3s = S3Storage::whereTeamId(0)->get();
|
$s3s = S3Storage::whereTeamId(0)->get();
|
||||||
}
|
}
|
||||||
return view('settings.configuration', [
|
return view('settings.configuration', [
|
||||||
'settings' => $settings,
|
'settings' => $settings,
|
||||||
'database' => $database,
|
'database' => $database,
|
||||||
'backup' => $backup ?? null,
|
|
||||||
's3s' => $s3s ?? [],
|
's3s' => $s3s ?? [],
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
|
@ -31,7 +31,6 @@ public function save()
|
|||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
return general_error_handler($th, $this, false);
|
return general_error_handler($th, $this, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_files()
|
public function get_files()
|
||||||
|
@ -54,18 +54,13 @@ public function instantSave()
|
|||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$this->emit('error', $e->getMessage());
|
$this->emit('error', $e->getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function custom_validate()
|
private function custom_validate()
|
||||||
{
|
{
|
||||||
// if ($this->backup->save_s3) {
|
if (!is_numeric($this->backup->s3_storage_id)) {
|
||||||
// if (!is_numeric($this->selected_storage_id)) {
|
$this->backup->s3_storage_id = null;
|
||||||
// throw new \Exception('Invalid S3 Storage');
|
}
|
||||||
// } else {
|
|
||||||
// $this->backup->s3_storage_id = $this->selected_storage_id;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
$isValid = validate_cron_expression($this->backup->frequency);
|
$isValid = validate_cron_expression($this->backup->frequency);
|
||||||
if (!$isValid) {
|
if (!$isValid) {
|
||||||
throw new \Exception('Invalid Cron / Human expression');
|
throw new \Exception('Invalid Cron / Human expression');
|
||||||
|
@ -11,7 +11,6 @@ class BackupExecution extends Component
|
|||||||
|
|
||||||
public function download()
|
public function download()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function delete(): void
|
public function delete(): void
|
||||||
|
18
app/Http/Livewire/Project/Database/BackupNow.php
Normal file
18
app/Http/Livewire/Project/Database/BackupNow.php
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Livewire\Project\Database;
|
||||||
|
|
||||||
|
use App\Jobs\DatabaseBackupJob;
|
||||||
|
use Livewire\Component;
|
||||||
|
|
||||||
|
class BackupNow extends Component
|
||||||
|
{
|
||||||
|
public $backup;
|
||||||
|
public function backup_now()
|
||||||
|
{
|
||||||
|
dispatch(new DatabaseBackupJob(
|
||||||
|
backup: $this->backup
|
||||||
|
));
|
||||||
|
$this->emit('success', 'Backup queued. It will be available in a few minutes');
|
||||||
|
}
|
||||||
|
}
|
@ -42,7 +42,7 @@ class General extends Component
|
|||||||
|
|
||||||
public function save_init_script($script)
|
public function save_init_script($script)
|
||||||
{
|
{
|
||||||
$this->database->init_scripts = filter($this->database->init_scripts, fn($s) => $s['filename'] !== $script['filename']);
|
$this->database->init_scripts = filter($this->database->init_scripts, fn ($s) => $s['filename'] !== $script['filename']);
|
||||||
$this->database->init_scripts = array_merge($this->database->init_scripts, [$script]);
|
$this->database->init_scripts = array_merge($this->database->init_scripts, [$script]);
|
||||||
$this->database->save();
|
$this->database->save();
|
||||||
$this->emit('success', 'Init script saved successfully.');
|
$this->emit('success', 'Init script saved successfully.');
|
||||||
@ -53,8 +53,8 @@ public function delete_init_script($script)
|
|||||||
$collection = collect($this->database->init_scripts);
|
$collection = collect($this->database->init_scripts);
|
||||||
$found = $collection->firstWhere('filename', $script['filename']);
|
$found = $collection->firstWhere('filename', $script['filename']);
|
||||||
if ($found) {
|
if ($found) {
|
||||||
ray($collection->filter(fn($s) => $s['filename'] !== $script['filename'])->toArray());
|
ray($collection->filter(fn ($s) => $s['filename'] !== $script['filename'])->toArray());
|
||||||
$this->database->init_scripts = $collection->filter(fn($s) => $s['filename'] !== $script['filename'])->toArray();
|
$this->database->init_scripts = $collection->filter(fn ($s) => $s['filename'] !== $script['filename'])->toArray();
|
||||||
$this->database->save();
|
$this->database->save();
|
||||||
$this->refresh();
|
$this->refresh();
|
||||||
$this->emit('success', 'Init script deleted successfully.');
|
$this->emit('success', 'Init script deleted successfully.');
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
namespace App\Http\Livewire\Settings;
|
namespace App\Http\Livewire\Settings;
|
||||||
|
|
||||||
|
use App\Jobs\DatabaseBackupJob;
|
||||||
use App\Models\InstanceSettings;
|
use App\Models\InstanceSettings;
|
||||||
use App\Models\S3Storage;
|
use App\Models\S3Storage;
|
||||||
use App\Models\ScheduledDatabaseBackup;
|
use App\Models\ScheduledDatabaseBackup;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
use App\Models\StandalonePostgresql;
|
use App\Models\StandalonePostgresql;
|
||||||
use App\Jobs\DatabaseBackupJob;
|
|
||||||
use Livewire\Component;
|
use Livewire\Component;
|
||||||
|
|
||||||
class Backup extends Component
|
class Backup extends Component
|
||||||
@ -16,6 +16,7 @@ class Backup extends Component
|
|||||||
public $s3s;
|
public $s3s;
|
||||||
public StandalonePostgresql|null $database = null;
|
public StandalonePostgresql|null $database = null;
|
||||||
public ScheduledDatabaseBackup|null $backup = null;
|
public ScheduledDatabaseBackup|null $backup = null;
|
||||||
|
public $executions = [];
|
||||||
|
|
||||||
protected $rules = [
|
protected $rules = [
|
||||||
'database.uuid' => 'required',
|
'database.uuid' => 'required',
|
||||||
@ -33,9 +34,13 @@ class Backup extends Component
|
|||||||
'database.postgres_password' => 'postgres password',
|
'database.postgres_password' => 'postgres password',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function mount()
|
||||||
|
{
|
||||||
|
$this->backup = $this->database->scheduledBackups->first();
|
||||||
|
$this->executions = $this->backup->executions;
|
||||||
|
}
|
||||||
public function add_coolify_database()
|
public function add_coolify_database()
|
||||||
{
|
{
|
||||||
ray('add_coolify_database');
|
|
||||||
$server = Server::find(0);
|
$server = Server::find(0);
|
||||||
$out = instant_remote_process(['docker inspect coolify-db'], $server);
|
$out = instant_remote_process(['docker inspect coolify-db'], $server);
|
||||||
$envs = format_docker_envs_to_json($out);
|
$envs = format_docker_envs_to_json($out);
|
||||||
@ -68,7 +73,8 @@ public function add_coolify_database()
|
|||||||
$this->s3s = S3Storage::whereTeamId(0)->get();
|
$this->s3s = S3Storage::whereTeamId(0)->get();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function backup_now() {
|
public function backup_now()
|
||||||
|
{
|
||||||
dispatch(new DatabaseBackupJob(
|
dispatch(new DatabaseBackupJob(
|
||||||
backup: $this->backup
|
backup: $this->backup
|
||||||
));
|
));
|
||||||
@ -78,5 +84,4 @@ public function submit()
|
|||||||
{
|
{
|
||||||
$this->emit('success', 'Backup updated successfully');
|
$this->emit('success', 'Backup updated successfully');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -77,35 +77,35 @@ private function setup_instance_fqdn()
|
|||||||
$schema = $url->getScheme();
|
$schema = $url->getScheme();
|
||||||
$traefik_dynamic_conf = [
|
$traefik_dynamic_conf = [
|
||||||
'http' =>
|
'http' =>
|
||||||
|
[
|
||||||
|
'routers' =>
|
||||||
[
|
[
|
||||||
'routers' =>
|
'coolify-http' =>
|
||||||
[
|
[
|
||||||
'coolify-http' =>
|
'entryPoints' => [
|
||||||
[
|
0 => 'http',
|
||||||
'entryPoints' => [
|
|
||||||
0 => 'http',
|
|
||||||
],
|
|
||||||
'service' => 'coolify',
|
|
||||||
'rule' => "Host(`{$host}`)",
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'services' =>
|
|
||||||
[
|
|
||||||
'coolify' =>
|
|
||||||
[
|
|
||||||
'loadBalancer' =>
|
|
||||||
[
|
|
||||||
'servers' =>
|
|
||||||
[
|
|
||||||
0 =>
|
|
||||||
[
|
|
||||||
'url' => 'http://coolify:80',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
],
|
||||||
|
'service' => 'coolify',
|
||||||
|
'rule' => "Host(`{$host}`)",
|
||||||
|
],
|
||||||
],
|
],
|
||||||
|
'services' =>
|
||||||
|
[
|
||||||
|
'coolify' =>
|
||||||
|
[
|
||||||
|
'loadBalancer' =>
|
||||||
|
[
|
||||||
|
'servers' =>
|
||||||
|
[
|
||||||
|
0 =>
|
||||||
|
[
|
||||||
|
'url' => 'http://coolify:80',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($schema === 'https') {
|
if ($schema === 'https') {
|
||||||
|
@ -70,7 +70,6 @@ public function submit()
|
|||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
return general_error_handler($th, $this);
|
return general_error_handler($th, $this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function test_s3_connection()
|
private function test_s3_connection()
|
||||||
|
@ -20,7 +20,7 @@ class TrustProxies extends Middleware
|
|||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
protected $headers =
|
protected $headers =
|
||||||
Request::HEADER_X_FORWARDED_FOR |
|
Request::HEADER_X_FORWARDED_FOR |
|
||||||
Request::HEADER_X_FORWARDED_HOST |
|
Request::HEADER_X_FORWARDED_HOST |
|
||||||
Request::HEADER_X_FORWARDED_PORT |
|
Request::HEADER_X_FORWARDED_PORT |
|
||||||
Request::HEADER_X_FORWARDED_PROTO |
|
Request::HEADER_X_FORWARDED_PROTO |
|
||||||
|
@ -434,7 +434,7 @@ private function generate_environment_variables($ports)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Add PORT if not exists, use the first port as default
|
// Add PORT if not exists, use the first port as default
|
||||||
if ($environment_variables->filter(fn($env) => Str::of($env)->contains('PORT'))->isEmpty()) {
|
if ($environment_variables->filter(fn ($env) => Str::of($env)->contains('PORT'))->isEmpty()) {
|
||||||
$environment_variables->push("PORT={$ports[0]}");
|
$environment_variables->push("PORT={$ports[0]}");
|
||||||
}
|
}
|
||||||
return $environment_variables->all();
|
return $environment_variables->all();
|
||||||
|
@ -25,8 +25,7 @@ public function __construct(
|
|||||||
public int $pull_request_id,
|
public int $pull_request_id,
|
||||||
public string $deployment_uuid,
|
public string $deployment_uuid,
|
||||||
public string $status
|
public string $status
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handle()
|
public function handle()
|
||||||
|
@ -20,8 +20,7 @@ class CoolifyTask implements ShouldQueue
|
|||||||
public function __construct(
|
public function __construct(
|
||||||
public Activity $activity,
|
public Activity $activity,
|
||||||
public bool $ignore_errors = false,
|
public bool $ignore_errors = false,
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -157,7 +157,7 @@ private function upload_to_s3(): void
|
|||||||
}
|
}
|
||||||
$key = $this->s3->key;
|
$key = $this->s3->key;
|
||||||
$secret = $this->s3->secret;
|
$secret = $this->s3->secret;
|
||||||
// $region = $this->s3->region;
|
// $region = $this->s3->region;
|
||||||
$bucket = $this->s3->bucket;
|
$bucket = $this->s3->bucket;
|
||||||
$endpoint = $this->s3->endpoint;
|
$endpoint = $this->s3->endpoint;
|
||||||
|
|
||||||
@ -183,6 +183,5 @@ private function save_backup_logs(): void
|
|||||||
'message' => $this->backup_output,
|
'message' => $this->backup_output,
|
||||||
'size' => $this->size,
|
'size' => $this->size,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,8 +28,7 @@ class SendMessageToDiscordJob implements ShouldQueue
|
|||||||
public function __construct(
|
public function __construct(
|
||||||
public string $text,
|
public string $text,
|
||||||
public string $webhookUrl
|
public string $webhookUrl
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -41,7 +41,7 @@ public function type()
|
|||||||
public function publishDirectory(): Attribute
|
public function publishDirectory(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn($value) => $value ? '/' . ltrim($value, '/') : null,
|
set: fn ($value) => $value ? '/' . ltrim($value, '/') : null,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,14 +71,14 @@ public function gitCommits(): Attribute
|
|||||||
public function baseDirectory(): Attribute
|
public function baseDirectory(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn($value) => '/' . ltrim($value, '/'),
|
set: fn ($value) => '/' . ltrim($value, '/'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function portsMappings(): Attribute
|
public function portsMappings(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn($value) => $value === "" ? null : $value,
|
set: fn ($value) => $value === "" ? null : $value,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ public function portsMappings(): Attribute
|
|||||||
public function portsMappingsArray(): Attribute
|
public function portsMappingsArray(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
get: fn() => is_null($this->ports_mappings)
|
get: fn () => is_null($this->ports_mappings)
|
||||||
? []
|
? []
|
||||||
: explode(',', $this->ports_mappings),
|
: explode(',', $this->ports_mappings),
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ public function portsMappingsArray(): Attribute
|
|||||||
public function portsExposesArray(): Attribute
|
public function portsExposesArray(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
get: fn() => is_null($this->ports_exposes)
|
get: fn () => is_null($this->ports_exposes)
|
||||||
? []
|
? []
|
||||||
: explode(',', $this->ports_exposes)
|
: explode(',', $this->ports_exposes)
|
||||||
);
|
);
|
||||||
|
@ -45,7 +45,7 @@ public function services()
|
|||||||
protected function name(): Attribute
|
protected function name(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn(string $value) => strtolower($value),
|
set: fn (string $value) => strtolower($value),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,8 +34,8 @@ protected static function booted()
|
|||||||
protected function value(): Attribute
|
protected function value(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
get: fn(string $value) => $this->get_environment_variables($value),
|
get: fn (string $value) => $this->get_environment_variables($value),
|
||||||
set: fn(string $value) => $this->set_environment_variables($value),
|
set: fn (string $value) => $this->set_environment_variables($value),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ private function set_environment_variables(string $environment_variable): string
|
|||||||
protected function key(): Attribute
|
protected function key(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn(string $value) => Str::of($value)->trim(),
|
set: fn (string $value) => Str::of($value)->trim(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,14 +23,14 @@ public function standalone_postgresql()
|
|||||||
protected function name(): Attribute
|
protected function name(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn(string $value) => Str::of($value)->trim()->value,
|
set: fn (string $value) => Str::of($value)->trim()->value,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function mountPath(): Attribute
|
protected function mountPath(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn(string $value) => Str::of($value)->trim()->start('/')->value
|
set: fn (string $value) => Str::of($value)->trim()->start('/')->value
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ protected static function booted()
|
|||||||
public function portsMappings(): Attribute
|
public function portsMappings(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn($value) => $value === "" ? null : $value,
|
set: fn ($value) => $value === "" ? null : $value,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ public function portsMappings(): Attribute
|
|||||||
public function portsMappingsArray(): Attribute
|
public function portsMappingsArray(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
get: fn() => is_null($this->ports_mappings)
|
get: fn () => is_null($this->ports_mappings)
|
||||||
? []
|
? []
|
||||||
: explode(',', $this->ports_mappings),
|
: explode(',', $this->ports_mappings),
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ public function send(SendsEmail $notifiable, Notification $notification): void
|
|||||||
Mail::send(
|
Mail::send(
|
||||||
[],
|
[],
|
||||||
[],
|
[],
|
||||||
fn(Message $message) => $message
|
fn (Message $message) => $message
|
||||||
->from(
|
->from(
|
||||||
data_get($notifiable, 'smtp_from_address'),
|
data_get($notifiable, 'smtp_from_address'),
|
||||||
data_get($notifiable, 'smtp_from_name'),
|
data_get($notifiable, 'smtp_from_name'),
|
||||||
|
@ -5,4 +5,4 @@
|
|||||||
interface SendsEmail
|
interface SendsEmail
|
||||||
{
|
{
|
||||||
public function getRecepients($notification);
|
public function getRecepients($notification);
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ public function send(User $notifiable, Notification $notification): void
|
|||||||
Mail::send(
|
Mail::send(
|
||||||
[],
|
[],
|
||||||
[],
|
[],
|
||||||
fn(Message $message) => $message
|
fn (Message $message) => $message
|
||||||
->from(
|
->from(
|
||||||
data_get($settings, 'smtp_from_address'),
|
data_get($settings, 'smtp_from_address'),
|
||||||
data_get($settings, 'smtp_from_name')
|
data_get($settings, 'smtp_from_name')
|
||||||
|
@ -49,7 +49,6 @@ public function via($notifiable)
|
|||||||
return ['mail'];
|
return ['mail'];
|
||||||
}
|
}
|
||||||
throw new \Exception('SMTP is not enabled');
|
throw new \Exception('SMTP is not enabled');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function toMail($notifiable)
|
public function toMail($notifiable)
|
||||||
|
@ -23,7 +23,8 @@ class FortifyServiceProvider extends ServiceProvider
|
|||||||
*/
|
*/
|
||||||
public function register(): void
|
public function register(): void
|
||||||
{
|
{
|
||||||
$this->app->instance(RegisterResponse::class, new class implements RegisterResponse {
|
$this->app->instance(RegisterResponse::class, new class implements RegisterResponse
|
||||||
|
{
|
||||||
public function toResponse($request)
|
public function toResponse($request)
|
||||||
{
|
{
|
||||||
// First user (root) will be redirected to /settings instead of / on registration.
|
// First user (root) will be redirected to /settings instead of / on registration.
|
||||||
|
@ -17,8 +17,7 @@ public function __construct(
|
|||||||
public bool $noStyle = false,
|
public bool $noStyle = false,
|
||||||
public string|null $modalId = null,
|
public string|null $modalId = null,
|
||||||
public string $defaultClass = "btn btn-primary btn-sm font-normal text-white normal-case no-animation rounded border-none"
|
public string $defaultClass = "btn btn-primary btn-sm font-normal text-white normal-case no-animation rounded border-none"
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
if ($this->noStyle) {
|
if ($this->noStyle) {
|
||||||
$this->defaultClass = "";
|
$this->defaultClass = "";
|
||||||
}
|
}
|
||||||
|
@ -20,8 +20,7 @@ public function __construct(
|
|||||||
public bool $instantSave = false,
|
public bool $instantSave = false,
|
||||||
public bool $disabled = false,
|
public bool $disabled = false,
|
||||||
public string $defaultClass = "toggle toggle-xs toggle-warning rounded disabled:bg-coolgray-200 disabled:opacity-50 placeholder:text-neutral-700"
|
public string $defaultClass = "toggle toggle-xs toggle-warning rounded disabled:bg-coolgray-200 disabled:opacity-50 placeholder:text-neutral-700"
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,8 +21,7 @@ public function __construct(
|
|||||||
public string|null $helper = null,
|
public string|null $helper = null,
|
||||||
public bool $allowToPeak = true,
|
public bool $allowToPeak = true,
|
||||||
public string $defaultClass = "input input-sm bg-coolgray-200 rounded text-white w-full disabled:bg-coolgray-200/50 disabled:border-none placeholder:text-coolgray-500 read-only:text-neutral-500 read-only:bg-coolgray-200/50"
|
public string $defaultClass = "input input-sm bg-coolgray-200 rounded text-white w-full disabled:bg-coolgray-200/50 disabled:border-none placeholder:text-coolgray-500 read-only:text-neutral-500 read-only:bg-coolgray-200/50"
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function render(): View|Closure|string
|
public function render(): View|Closure|string
|
||||||
|
@ -20,8 +20,7 @@ public function __construct(
|
|||||||
public string|null $helper = null,
|
public string|null $helper = null,
|
||||||
public bool $required = false,
|
public bool $required = false,
|
||||||
public string $defaultClass = "select select-sm w-full rounded text-white text-sm bg-coolgray-200 font-normal disabled:bg-coolgray-200/50 disabled:border-none"
|
public string $defaultClass = "select select-sm w-full rounded text-white text-sm bg-coolgray-200 font-normal disabled:bg-coolgray-200/50 disabled:border-none"
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,8 +25,7 @@ public function __construct(
|
|||||||
public bool $readonly = false,
|
public bool $readonly = false,
|
||||||
public string|null $helper = null,
|
public string|null $helper = null,
|
||||||
public string $defaultClass = "textarea bg-coolgray-200 rounded text-white scrollbar disabled:bg-coolgray-200/50 disabled:border-none placeholder:text-coolgray-500 read-only:text-neutral-500 read-only:bg-coolgray-200/50"
|
public string $defaultClass = "textarea bg-coolgray-200 rounded text-white scrollbar disabled:bg-coolgray-200/50 disabled:border-none placeholder:text-coolgray-500 read-only:text-neutral-500 read-only:bg-coolgray-200/50"
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,7 @@ public function __construct(
|
|||||||
public string|null $modalSubmit = null,
|
public string|null $modalSubmit = null,
|
||||||
public bool $yesOrNo = false,
|
public bool $yesOrNo = false,
|
||||||
public string $action = 'delete'
|
public string $action = 'delete'
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@ function format_docker_command_output_to_json($rawOutput): Collection
|
|||||||
$outputLines = explode(PHP_EOL, $rawOutput);
|
$outputLines = explode(PHP_EOL, $rawOutput);
|
||||||
|
|
||||||
return collect($outputLines)
|
return collect($outputLines)
|
||||||
->reject(fn($line) => empty($line))
|
->reject(fn ($line) => empty($line))
|
||||||
->map(fn($outputLine) => json_decode($outputLine, true, flags: JSON_THROW_ON_ERROR));
|
->map(fn ($outputLine) => json_decode($outputLine, true, flags: JSON_THROW_ON_ERROR));
|
||||||
}
|
}
|
||||||
|
|
||||||
function format_docker_labels_to_json($rawOutput): Collection
|
function format_docker_labels_to_json($rawOutput): Collection
|
||||||
@ -17,7 +17,7 @@ function format_docker_labels_to_json($rawOutput): Collection
|
|||||||
$outputLines = explode(PHP_EOL, $rawOutput);
|
$outputLines = explode(PHP_EOL, $rawOutput);
|
||||||
|
|
||||||
return collect($outputLines)
|
return collect($outputLines)
|
||||||
->reject(fn($line) => empty($line))
|
->reject(fn ($line) => empty($line))
|
||||||
->map(function ($outputLine) {
|
->map(function ($outputLine) {
|
||||||
$outputArray = explode(',', $outputLine);
|
$outputArray = explode(',', $outputLine);
|
||||||
return collect($outputArray)
|
return collect($outputArray)
|
||||||
|
@ -104,52 +104,52 @@ function setup_default_redirect_404(string|null $redirect_url, Server $server)
|
|||||||
} else {
|
} else {
|
||||||
$traefik_dynamic_conf = [
|
$traefik_dynamic_conf = [
|
||||||
'http' =>
|
'http' =>
|
||||||
|
[
|
||||||
|
'routers' =>
|
||||||
[
|
[
|
||||||
'routers' =>
|
'catchall' =>
|
||||||
[
|
[
|
||||||
'catchall' =>
|
'entryPoints' => [
|
||||||
[
|
0 => 'http',
|
||||||
'entryPoints' => [
|
1 => 'https',
|
||||||
0 => 'http',
|
|
||||||
1 => 'https',
|
|
||||||
],
|
|
||||||
'service' => 'noop',
|
|
||||||
'rule' => "HostRegexp(`{catchall:.*}`)",
|
|
||||||
'priority' => 1,
|
|
||||||
'middlewares' => [
|
|
||||||
0 => 'redirect-regexp@file',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
],
|
||||||
'services' =>
|
'service' => 'noop',
|
||||||
[
|
'rule' => "HostRegexp(`{catchall:.*}`)",
|
||||||
'noop' =>
|
'priority' => 1,
|
||||||
[
|
'middlewares' => [
|
||||||
'loadBalancer' =>
|
0 => 'redirect-regexp@file',
|
||||||
[
|
|
||||||
'servers' =>
|
|
||||||
[
|
|
||||||
0 =>
|
|
||||||
[
|
|
||||||
'url' => '',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'middlewares' =>
|
|
||||||
[
|
|
||||||
'redirect-regexp' =>
|
|
||||||
[
|
|
||||||
'redirectRegex' =>
|
|
||||||
[
|
|
||||||
'regex' => '(.*)',
|
|
||||||
'replacement' => $redirect_url,
|
|
||||||
'permanent' => false,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
|
'services' =>
|
||||||
|
[
|
||||||
|
'noop' =>
|
||||||
|
[
|
||||||
|
'loadBalancer' =>
|
||||||
|
[
|
||||||
|
'servers' =>
|
||||||
|
[
|
||||||
|
0 =>
|
||||||
|
[
|
||||||
|
'url' => '',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'middlewares' =>
|
||||||
|
[
|
||||||
|
'redirect-regexp' =>
|
||||||
|
[
|
||||||
|
'redirectRegex' =>
|
||||||
|
[
|
||||||
|
'regex' => '(.*)',
|
||||||
|
'replacement' => $redirect_url,
|
||||||
|
'permanent' => false,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
$yaml = Yaml::dump($traefik_dynamic_conf, 12, 2);
|
$yaml = Yaml::dump($traefik_dynamic_conf, 12, 2);
|
||||||
$yaml =
|
$yaml =
|
||||||
|
@ -27,8 +27,7 @@ function remote_process(
|
|||||||
?string $type_uuid = null,
|
?string $type_uuid = null,
|
||||||
?Model $model = null,
|
?Model $model = null,
|
||||||
bool $ignore_errors = false,
|
bool $ignore_errors = false,
|
||||||
): Activity
|
): Activity {
|
||||||
{
|
|
||||||
|
|
||||||
$command_string = implode("\n", $command);
|
$command_string = implode("\n", $command);
|
||||||
if (auth()->user()) {
|
if (auth()->user()) {
|
||||||
@ -141,10 +140,10 @@ function decode_remote_command_output(?ApplicationDeploymentQueue $application_d
|
|||||||
}
|
}
|
||||||
$formatted = collect($decoded);
|
$formatted = collect($decoded);
|
||||||
if (!$is_debug_enabled) {
|
if (!$is_debug_enabled) {
|
||||||
$formatted = $formatted->filter(fn($i) => $i['hidden'] === false ?? false);
|
$formatted = $formatted->filter(fn ($i) => $i['hidden'] === false ?? false);
|
||||||
}
|
}
|
||||||
$formatted = $formatted
|
$formatted = $formatted
|
||||||
->sortBy(fn($i) => $i['order'])
|
->sortBy(fn ($i) => $i['order'])
|
||||||
->map(function ($i) {
|
->map(function ($i) {
|
||||||
$i['timestamp'] = Carbon::parse($i['timestamp'])->format('Y-M-d H:i:s.u');
|
$i['timestamp'] = Carbon::parse($i['timestamp'])->format('Y-M-d H:i:s.u');
|
||||||
return $i;
|
return $i;
|
||||||
|
@ -178,5 +178,3 @@ function validate_cron_expression($expression_to_validate): bool
|
|||||||
}
|
}
|
||||||
return $isValid;
|
return $isValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ public function definition(): array
|
|||||||
*/
|
*/
|
||||||
public function unverified(): static
|
public function unverified(): static
|
||||||
{
|
{
|
||||||
return $this->state(fn(array $attributes) => [
|
return $this->state(fn (array $attributes) => [
|
||||||
'email_verified_at' => null,
|
'email_verified_at' => null,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Laravel\Fortify\Fortify;
|
use Laravel\Fortify\Fortify;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -6,7 +6,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('scheduled_database_backups', function (Blueprint $table) {
|
Schema::create('scheduled_database_backups', function (Blueprint $table) {
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('scheduled_database_backup_executions', function (Blueprint $table) {
|
Schema::create('scheduled_database_backup_executions', function (Blueprint $table) {
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration {
|
return new class extends Migration
|
||||||
|
{
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::table('teams', function (Blueprint $table) {
|
Schema::table('teams', function (Blueprint $table) {
|
||||||
|
@ -11,11 +11,11 @@ class EnvironmentVariableSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
// EnvironmentVariable::create([
|
// EnvironmentVariable::create([
|
||||||
// 'key' => 'NODE_ENV',
|
// 'key' => 'NODE_ENV',
|
||||||
// 'value' => 'production',
|
// 'value' => 'production',
|
||||||
// 'is_build_time' => true,
|
// 'is_build_time' => true,
|
||||||
// 'application_id' => 1,
|
// 'application_id' => 1,
|
||||||
// ]);
|
// ]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,4 +41,4 @@ public function run(): void
|
|||||||
echo "Error: {$e->getMessage()}\n";
|
echo "Error: {$e->getMessage()}\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,8 @@ class ProjectSettingSeeder extends Seeder
|
|||||||
{
|
{
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
// $first_project = Project::find(1);
|
// $first_project = Project::find(1);
|
||||||
// $first_project->settings->wildcard_domain = 'wildcard.example.com';
|
// $first_project->settings->wildcard_domain = 'wildcard.example.com';
|
||||||
// $first_project->settings->save();
|
// $first_project->settings->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Custom nginx configuration
|
# Custom nginx configuration
|
||||||
|
|
||||||
# Disable access logs
|
# Disable access logs
|
||||||
access_log off;
|
access_log off;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Custom nginx configuration
|
# Custom nginx configuration
|
||||||
|
|
||||||
# Disable access logs
|
# Disable access logs
|
||||||
access_log off;
|
access_log off;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
@if ($pull_request_id !== 0)
|
@if ($pull_request_id !== 0)
|
||||||
Pull Request #{{ $pull_request_id }} of {{ $name }} (<a target="_blank"
|
Pull Request #{{ $pull_request_id }} of {{ $name }} (<a target="_blank" href="{{ $fqdn }}">{{ $fqdn }}</a>) deployment failed:
|
||||||
href="{{ $fqdn }}">{{ $fqdn }}</a>) deployment failed:
|
|
||||||
@else
|
@else
|
||||||
Deployment failed of {{ $name }} (<a target="_blank" href="{{ $fqdn }}">{{ $fqdn }}</a>):
|
Deployment failed of {{ $name }} (<a target="_blank" href="{{ $fqdn }}">{{ $fqdn }}</a>):
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<a target="_blank" href="{{ $deployment_url }}">View Deployment Logs</a><br><br>
|
<a target="_blank" href="{{ $deployment_url }}">View Deployment Logs</a><br><br>
|
@ -1,8 +1,7 @@
|
|||||||
@if ($pull_request_id === 0)
|
@if ($pull_request_id === 0)
|
||||||
A new version of <a target="_blank" href="{{ $fqdn }}">{{ $fqdn }}</a> is available:
|
A new version of <a target="_blank" href="{{ $fqdn }}">{{ $fqdn }}</a> is available:
|
||||||
@else
|
@else
|
||||||
Pull request #{{ $pull_request_id }} of {{ $name }} deployed successfully: <a target="_blank"
|
Pull request #{{ $pull_request_id }} of {{ $name }} deployed successfully: <a target="_blank" href="{{ $fqdn }}">Application Link</a> |
|
||||||
href="{{ $fqdn }}">Application Link</a> |
|
|
||||||
@endif
|
@endif
|
||||||
<a target="_blank" href="{{ $deployment_url }}">View
|
<a target="_blank" href="{{ $deployment_url }}">View
|
||||||
Deployment Logs</a><br><br>
|
Deployment Logs</a><br><br>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user