-
-
Notifications
You must be signed in to change notification settings - Fork 91
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* simplify setup command * add installer page * add route for installer * adjust gitignore * set colors globally * add "unsaved data changes" alert * add helper method to check if panel is installed * make nicer * redis username isn't required * bring back db settings command * store current date in "installed" file * only redirect if install was successfull * remove fpm requirement * change "installed" marker to env variable * improve requirements step * add commands to change cache, queue or session drivers respectively * removed `grouped` for better mobile view
- Loading branch information
Showing
17 changed files
with
778 additions
and
131 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
<?php | ||
|
||
namespace App\Console\Commands\Environment; | ||
|
||
use Illuminate\Console\Command; | ||
use Illuminate\Contracts\Console\Kernel; | ||
use App\Traits\Commands\EnvironmentWriterTrait; | ||
use App\Traits\Commands\RequestRedisSettingsTrait; | ||
|
||
class CacheSettingsCommand extends Command | ||
{ | ||
use EnvironmentWriterTrait; | ||
use RequestRedisSettingsTrait; | ||
|
||
public const CACHE_DRIVERS = [ | ||
'file' => 'Filesystem (default)', | ||
'database' => 'Database', | ||
'redis' => 'Redis', | ||
]; | ||
|
||
protected $description = 'Configure cache settings for the Panel.'; | ||
|
||
protected $signature = 'p:environment:cache | ||
{--driver= : The cache driver backend to use.} | ||
{--redis-host= : Redis host to use for connections.} | ||
{--redis-pass= : Password used to connect to redis.} | ||
{--redis-port= : Port to connect to redis over.}'; | ||
|
||
protected array $variables = []; | ||
|
||
/** | ||
* CacheSettingsCommand constructor. | ||
*/ | ||
public function __construct(private Kernel $console) | ||
{ | ||
parent::__construct(); | ||
} | ||
|
||
/** | ||
* Handle command execution. | ||
*/ | ||
public function handle(): int | ||
{ | ||
$selected = config('cache.default', 'file'); | ||
$this->variables['CACHE_STORE'] = $this->option('driver') ?? $this->choice( | ||
'Cache Driver', | ||
self::CACHE_DRIVERS, | ||
array_key_exists($selected, self::CACHE_DRIVERS) ? $selected : null | ||
); | ||
|
||
if ($this->variables['CACHE_STORE'] === 'redis') { | ||
$this->requestRedisSettings(); | ||
|
||
if (config('queue.default') !== 'sync') { | ||
$this->call('p:environment:queue-service', [ | ||
'--use-redis' => true, | ||
'--overwrite' => true, | ||
]); | ||
} | ||
} | ||
|
||
$this->writeToEnvironment($this->variables); | ||
|
||
$this->info($this->console->output()); | ||
|
||
return 0; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
<?php | ||
|
||
namespace App\Console\Commands\Environment; | ||
|
||
use Illuminate\Console\Command; | ||
use Illuminate\Contracts\Console\Kernel; | ||
use App\Traits\Commands\EnvironmentWriterTrait; | ||
use App\Traits\Commands\RequestRedisSettingsTrait; | ||
|
||
class QueueSettingsCommand extends Command | ||
{ | ||
use EnvironmentWriterTrait; | ||
use RequestRedisSettingsTrait; | ||
|
||
public const QUEUE_DRIVERS = [ | ||
'database' => 'Database (default)', | ||
'redis' => 'Redis', | ||
'sync' => 'Synchronous', | ||
]; | ||
|
||
protected $description = 'Configure queue settings for the Panel.'; | ||
|
||
protected $signature = 'p:environment:queue | ||
{--driver= : The queue driver backend to use.} | ||
{--redis-host= : Redis host to use for connections.} | ||
{--redis-pass= : Password used to connect to redis.} | ||
{--redis-port= : Port to connect to redis over.}'; | ||
|
||
protected array $variables = []; | ||
|
||
/** | ||
* QueueSettingsCommand constructor. | ||
*/ | ||
public function __construct(private Kernel $console) | ||
{ | ||
parent::__construct(); | ||
} | ||
|
||
/** | ||
* Handle command execution. | ||
*/ | ||
public function handle(): int | ||
{ | ||
$selected = config('queue.default', 'database'); | ||
$this->variables['QUEUE_CONNECTION'] = $this->option('driver') ?? $this->choice( | ||
'Queue Driver', | ||
self::QUEUE_DRIVERS, | ||
array_key_exists($selected, self::QUEUE_DRIVERS) ? $selected : null | ||
); | ||
|
||
if ($this->variables['QUEUE_CONNECTION'] === 'redis') { | ||
$this->requestRedisSettings(); | ||
|
||
$this->call('p:environment:queue-service', [ | ||
'--use-redis' => true, | ||
'--overwrite' => true, | ||
]); | ||
} | ||
|
||
$this->writeToEnvironment($this->variables); | ||
|
||
$this->info($this->console->output()); | ||
|
||
return 0; | ||
} | ||
} |
69 changes: 69 additions & 0 deletions
69
app/Console/Commands/Environment/SessionSettingsCommand.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
<?php | ||
|
||
namespace App\Console\Commands\Environment; | ||
|
||
use Illuminate\Console\Command; | ||
use Illuminate\Contracts\Console\Kernel; | ||
use App\Traits\Commands\EnvironmentWriterTrait; | ||
use App\Traits\Commands\RequestRedisSettingsTrait; | ||
|
||
class SessionSettingsCommand extends Command | ||
{ | ||
use EnvironmentWriterTrait; | ||
use RequestRedisSettingsTrait; | ||
|
||
public const SESSION_DRIVERS = [ | ||
'file' => 'Filesystem (default)', | ||
'redis' => 'Redis', | ||
'database' => 'Database', | ||
'cookie' => 'Cookie', | ||
]; | ||
|
||
protected $description = 'Configure session settings for the Panel.'; | ||
|
||
protected $signature = 'p:environment:session | ||
{--driver= : The session driver backend to use.} | ||
{--redis-host= : Redis host to use for connections.} | ||
{--redis-pass= : Password used to connect to redis.} | ||
{--redis-port= : Port to connect to redis over.}'; | ||
|
||
protected array $variables = []; | ||
|
||
/** | ||
* SessionSettingsCommand constructor. | ||
*/ | ||
public function __construct(private Kernel $console) | ||
{ | ||
parent::__construct(); | ||
} | ||
|
||
/** | ||
* Handle command execution. | ||
*/ | ||
public function handle(): int | ||
{ | ||
$selected = config('session.driver', 'file'); | ||
$this->variables['SESSION_DRIVER'] = $this->option('driver') ?? $this->choice( | ||
'Session Driver', | ||
self::SESSION_DRIVERS, | ||
array_key_exists($selected, self::SESSION_DRIVERS) ? $selected : null | ||
); | ||
|
||
if ($this->variables['SESSION_DRIVER'] === 'redis') { | ||
$this->requestRedisSettings(); | ||
|
||
if (config('queue.default') !== 'sync') { | ||
$this->call('p:environment:queue-service', [ | ||
'--use-redis' => true, | ||
'--overwrite' => true, | ||
]); | ||
} | ||
} | ||
|
||
$this->writeToEnvironment($this->variables); | ||
|
||
$this->info($this->console->output()); | ||
|
||
return 0; | ||
} | ||
} |
Oops, something went wrong.