This commit is contained in:
Saeed Vaziry
2023-07-02 12:47:50 +02:00
commit 5c72f12490
825 changed files with 41659 additions and 0 deletions

216
config/app.php Normal file
View File

@ -0,0 +1,216 @@
<?php
use Illuminate\Support\Facades\Facade;
return [
/*
|--------------------------------------------------------------------------
| Application Name
|--------------------------------------------------------------------------
|
| This value is the name of your application. This value is used when the
| framework needs to place the application's name in a notification or
| any other location as required by the application or its packages.
|
*/
'name' => env('APP_NAME', 'Laravel'),
/*
|--------------------------------------------------------------------------
| Application Environment
|--------------------------------------------------------------------------
|
| This value determines the "environment" your application is currently
| running in. This may determine how you prefer to configure various
| services the application utilizes. Set this in your ".env" file.
|
*/
'env' => env('APP_ENV', 'production'),
/*
|--------------------------------------------------------------------------
| Application Debug Mode
|--------------------------------------------------------------------------
|
| When your application is in debug mode, detailed error messages with
| stack traces will be shown on every error that occurs within your
| application. If disabled, a simple generic error page is shown.
|
*/
'debug' => (bool) env('APP_DEBUG', false),
/*
|--------------------------------------------------------------------------
| Application URL
|--------------------------------------------------------------------------
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
| your application so that it is used when running Artisan tasks.
|
*/
'url' => env('APP_URL', 'http://localhost'),
'asset_url' => env('ASSET_URL'),
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'UTC',
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'en',
/*
|--------------------------------------------------------------------------
| Application Fallback Locale
|--------------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'en',
/*
|--------------------------------------------------------------------------
| Faker Locale
|--------------------------------------------------------------------------
|
| This locale will be used by the Faker PHP library when generating fake
| data for your database seeds. For example, this will be used to get
| localized telephone numbers, street address information and more.
|
*/
'faker_locale' => 'en_US',
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| This key is used by the Illuminate encrypter service and should be set
| to a random, 32 character string, otherwise these encrypted strings
| will not be safe. Please do this before deploying an application!
|
*/
'key' => env('APP_KEY'),
'cipher' => 'AES-256-CBC',
/*
|--------------------------------------------------------------------------
| Maintenance Mode Driver
|--------------------------------------------------------------------------
|
| These configuration options determine the driver used to determine and
| manage Laravel's "maintenance mode" status. The "cache" driver will
| allow maintenance mode to be controlled across multiple machines.
|
| Supported drivers: "file", "cache"
|
*/
'maintenance' => [
'driver' => 'file',
// 'store' => 'redis',
],
/*
|--------------------------------------------------------------------------
| Autoloaded Service Providers
|--------------------------------------------------------------------------
|
| The service providers listed here will be automatically loaded on the
| request to your application. Feel free to add your own services to
| this array to grant expanded functionality to your applications.
|
*/
'providers' => [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
Illuminate\Filesystem\FilesystemServiceProvider::class,
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
Illuminate\Hashing\HashServiceProvider::class,
Illuminate\Mail\MailServiceProvider::class,
Illuminate\Notifications\NotificationServiceProvider::class,
Illuminate\Pagination\PaginationServiceProvider::class,
Illuminate\Pipeline\PipelineServiceProvider::class,
Illuminate\Queue\QueueServiceProvider::class,
Illuminate\Redis\RedisServiceProvider::class,
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
Illuminate\Session\SessionServiceProvider::class,
Illuminate\Translation\TranslationServiceProvider::class,
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
/*
* Package Service Providers...
*/
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\TelescopeServiceProvider::class,
],
/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/
'aliases' => Facade::defaultAliases()->merge([
// 'ExampleClass' => App\Example\ExampleClass::class,
])->toArray(),
];

115
config/auth.php Normal file
View File

@ -0,0 +1,115 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Defaults
|--------------------------------------------------------------------------
|
| This option controls the default authentication "guard" and password
| reset options for your application. You may change these defaults
| as required, but they're a perfect start for most applications.
|
*/
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
/*
|--------------------------------------------------------------------------
| Authentication Guards
|--------------------------------------------------------------------------
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
| here which uses session storage and the Eloquent user provider.
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| Supported: "session"
|
*/
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
],
/*
|--------------------------------------------------------------------------
| User Providers
|--------------------------------------------------------------------------
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| If you have multiple user tables or models you may configure multiple
| sources which represent each model / table. These sources may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
|
*/
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
/*
|--------------------------------------------------------------------------
| Resetting Passwords
|--------------------------------------------------------------------------
|
| You may specify multiple password reset configurations if you have more
| than one user table or model in the application and you want to have
| separate password reset settings based on the specific user types.
|
| The expiry time is the number of minutes that each reset token will be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
| The throttle setting is the number of seconds a user must wait before
| generating more password reset tokens. This prevents the user from
| quickly generating a very large amount of password reset tokens.
|
*/
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_reset_tokens',
'expire' => 60,
'throttle' => 60,
],
],
/*
|--------------------------------------------------------------------------
| Password Confirmation Timeout
|--------------------------------------------------------------------------
|
| Here you may define the amount of seconds before a password confirmation
| times out and the user is prompted to re-enter their password via the
| confirmation screen. By default, the timeout lasts for three hours.
|
*/
'password_timeout' => 10800,
];

View File

@ -0,0 +1,57 @@
<?php
return [
/*
|-----------------------------------------------------------------
| Default Prefix
|-----------------------------------------------------------------
|
| This config option allows you to define a default prefix for
| your icons. The dash separator will be applied automatically
| to every icon name. It's required and needs to be unique.
|
*/
'prefix' => 'heroicon',
/*
|-----------------------------------------------------------------
| Fallback Icon
|-----------------------------------------------------------------
|
| This config option allows you to define a fallback
| icon when an icon in this set cannot be found.
|
*/
'fallback' => '',
/*
|-----------------------------------------------------------------
| Default Set Classes
|-----------------------------------------------------------------
|
| This config option allows you to define some classes which
| will be applied by default to all icons within this set.
|
*/
'class' => '',
/*
|-----------------------------------------------------------------
| Default Set Attributes
|-----------------------------------------------------------------
|
| This config option allows you to define some attributes which
| will be applied by default to all icons within this set.
|
*/
'attributes' => [
// 'width' => 50,
// 'height' => 50,
],
];

70
config/broadcasting.php Normal file
View File

@ -0,0 +1,70 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Broadcaster
|--------------------------------------------------------------------------
|
| This option controls the default broadcaster that will be used by the
| framework when an event needs to be broadcast. You may set this to
| any of the connections defined in the "connections" array below.
|
| Supported: "pusher", "ably", "redis", "log", "null"
|
*/
'default' => env('BROADCAST_DRIVER', 'null'),
/*
|--------------------------------------------------------------------------
| Broadcast Connections
|--------------------------------------------------------------------------
|
| Here you may define all of the broadcast connections that will be used
| to broadcast events to other systems or over websockets. Samples of
| each available type of connection are provided inside this array.
|
*/
'connections' => [
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
'port' => env('PUSHER_PORT', 443),
'scheme' => env('PUSHER_SCHEME', 'https'),
'encrypted' => true,
'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
],
'client_options' => [
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
],
],
'ably' => [
'driver' => 'ably',
'key' => env('ABLY_KEY'),
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
'log' => [
'driver' => 'log',
],
'null' => [
'driver' => 'null',
],
],
];

110
config/cache.php Normal file
View File

@ -0,0 +1,110 @@
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Cache Store
|--------------------------------------------------------------------------
|
| This option controls the default cache connection that gets used while
| using this caching library. This connection is used when another is
| not explicitly specified when executing a given caching function.
|
*/
'default' => env('CACHE_DRIVER', 'file'),
/*
|--------------------------------------------------------------------------
| Cache Stores
|--------------------------------------------------------------------------
|
| Here you may define all of the cache "stores" for your application as
| well as their drivers. You may even define multiple stores for the
| same cache driver to group types of items stored in your caches.
|
| Supported drivers: "apc", "array", "database", "file",
| "memcached", "redis", "dynamodb", "octane", "null"
|
*/
'stores' => [
'apc' => [
'driver' => 'apc',
],
'array' => [
'driver' => 'array',
'serialize' => false,
],
'database' => [
'driver' => 'database',
'table' => 'cache',
'connection' => null,
'lock_connection' => null,
],
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
],
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],
'redis' => [
'driver' => 'redis',
'connection' => 'cache',
'lock_connection' => 'default',
],
'dynamodb' => [
'driver' => 'dynamodb',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
'endpoint' => env('DYNAMODB_ENDPOINT'),
],
'octane' => [
'driver' => 'octane',
],
],
/*
|--------------------------------------------------------------------------
| Cache Key Prefix
|--------------------------------------------------------------------------
|
| When utilizing the APC, database, memcached, Redis, or DynamoDB cache
| stores there might be other applications using the same cache. For
| that reason, you may prefix every cache key to avoid collisions.
|
*/
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
];

361
config/core.php Executable file
View File

@ -0,0 +1,361 @@
<?php
use App\Jobs\Installation\InstallMariadb;
use App\Jobs\Installation\InstallMysql;
use App\Jobs\Installation\InstallNginx;
use App\Jobs\Installation\InstallPHP;
use App\Jobs\Installation\InstallPHPMyAdmin;
use App\Jobs\Installation\InstallRedis;
use App\Jobs\Installation\InstallSupervisor;
use App\Jobs\Installation\InstallUfw;
use App\Jobs\Installation\UninstallPHP;
use App\Jobs\Installation\UninstallPHPMyAdmin;
use App\NotificationChannels\Discord;
use App\NotificationChannels\Email;
use App\NotificationChannels\Slack;
use App\ServerProviders\AWS;
use App\ServerProviders\DigitalOcean;
use App\ServerProviders\Hetzner;
use App\ServerProviders\Linode;
use App\ServerProviders\Vultr;
use App\ServerTypes\Regular;
use App\ServiceHandlers\Database\Mysql;
use App\ServiceHandlers\Firewall\Ufw;
use App\ServiceHandlers\PHP;
use App\ServiceHandlers\ProcessManager\Supervisor;
use App\ServiceHandlers\Webserver\Nginx;
use App\SiteTypes\Laravel;
use App\SiteTypes\PHPSite;
use App\SiteTypes\Wordpress;
use App\SourceControlProviders\Bitbucket;
use App\SourceControlProviders\Custom;
use App\SourceControlProviders\Github;
use App\SourceControlProviders\Gitlab;
use App\StorageProviders\Dropbox;
return [
/*
* SSH
*/
'ssh_user' => env('SSH_USER', 'vito'),
'ssh_public_key' => env('SSH_PUBLIC_KEY'),
'ssh_public_key_name' => env('SSH_PUBLIC_KEY_NAME'),
'ssh_private_key_name' => env('SSH_PRIVATE_KEY_NAME'),
'logs_disk' => env('SERVER_LOGS_DISK', 'server-logs-local'),
'key_pairs_disk' => env('KEY_PAIRS_DISK', 'key-pairs-local'),
/*
* General
*/
'operating_systems' => ['ubuntu_18', 'ubuntu_20', 'ubuntu_22'],
'webservers' => ['nginx'],
'php_versions' => [
'none',
// '5.6',
'7.0',
'7.1',
'7.2',
'7.3',
'7.4',
'8.0',
'8.1',
'8.2',
],
'databases' => ['none', 'mysql57', 'mysql80', 'mariadb'],
'databases_name' => [
'mysql57' => 'mysql',
'mysql80' => 'mysql',
'mariadb' => 'mariadb',
],
'databases_version' => [
'mysql57' => '5.7',
'mysql80' => '8.0',
'mariadb' => '10.3',
],
/*
* Server
*/
'server_types' => ['regular'],
'server_types_class' => [
'regular' => Regular::class,
],
'server_providers' => ['custom', 'aws', 'linode', 'digitalocean', 'vultr', 'hetzner'],
'server_providers_class' => [
'custom' => \App\ServerProviders\Custom::class,
'aws' => AWS::class,
'linode' => Linode::class,
'digitalocean' => DigitalOcean::class,
'vultr' => Vultr::class,
'hetzner' => Hetzner::class,
],
'server_providers_default_user' => [
'custom' => [
'ubuntu_18' => 'root',
'ubuntu_20' => 'root',
'ubuntu_22' => 'root',
],
'aws' => [
'ubuntu_18' => 'ubuntu',
'ubuntu_20' => 'ubuntu',
'ubuntu_22' => 'ubuntu',
],
'linode' => [
'ubuntu_18' => 'root',
'ubuntu_20' => 'root',
'ubuntu_22' => 'root',
],
'digitalocean' => [
'ubuntu_18' => 'root',
'ubuntu_20' => 'root',
'ubuntu_22' => 'root',
],
'vultr' => [
'ubuntu_18' => 'root',
'ubuntu_20' => 'root',
'ubuntu_22' => 'root',
],
'hetzner' => [
'ubuntu_18' => 'root',
'ubuntu_20' => 'root',
'ubuntu_22' => 'root',
],
],
/*
* Service
*/
'service_installers' => [
'nginx' => InstallNginx::class,
'mysql' => InstallMysql::class,
'mariadb' => InstallMariadb::class,
'php' => InstallPHP::class,
'redis' => InstallRedis::class,
'supervisor' => InstallSupervisor::class,
'ufw' => InstallUfw::class,
'phpmyadmin' => InstallPHPMyAdmin::class,
],
'service_uninstallers' => [
'phpmyadmin' => UninstallPHPMyAdmin::class,
'php' => UninstallPHP::class,
],
'service_handlers' => [
'nginx' => Nginx::class,
'mysql' => Mysql::class,
'mariadb' => Mysql::class,
'php' => PHP::class,
'ufw' => Ufw::class,
'supervisor' => Supervisor::class,
],
'service_units' => [
'nginx' => [
'ubuntu_18' => [
'latest' => 'nginx',
],
'ubuntu_20' => [
'latest' => 'nginx',
],
'ubuntu_22' => [
'latest' => 'nginx',
],
],
'mysql' => [
'ubuntu_18' => [
'5.7' => 'mysql',
'8.0' => 'mysql',
],
'ubuntu_20' => [
'5.7' => 'mysql',
'8.0' => 'mysql',
],
'ubuntu_22' => [
'5.7' => 'mysql',
'8.0' => 'mysql',
],
],
'mariadb' => [
'ubuntu_18' => [
'10.3' => 'mariadb',
],
'ubuntu_20' => [
'10.3' => 'mariadb',
],
'ubuntu_22' => [
'10.3' => 'mariadb',
],
],
'php' => [
'ubuntu_18' => [
'5.6' => 'php5.6-fpm',
'7.0' => 'php7.0-fpm',
'7.1' => 'php7.1-fpm',
'7.2' => 'php7.2-fpm',
'7.3' => 'php7.3-fpm',
'7.4' => 'php7.4-fpm',
'8.0' => 'php8.0-fpm',
'8.1' => 'php8.1-fpm',
'8.2' => 'php8.2-fpm',
],
'ubuntu_20' => [
'5.6' => 'php5.6-fpm',
'7.0' => 'php7.0-fpm',
'7.1' => 'php7.1-fpm',
'7.2' => 'php7.2-fpm',
'7.3' => 'php7.3-fpm',
'7.4' => 'php7.4-fpm',
'8.0' => 'php8.0-fpm',
'8.1' => 'php8.1-fpm',
'8.2' => 'php8.2-fpm',
],
'ubuntu_22' => [
'5.6' => 'php5.6-fpm',
'7.0' => 'php7.0-fpm',
'7.1' => 'php7.1-fpm',
'7.2' => 'php7.2-fpm',
'7.3' => 'php7.3-fpm',
'7.4' => 'php7.4-fpm',
'8.0' => 'php8.0-fpm',
'8.1' => 'php8.1-fpm',
'8.2' => 'php8.2-fpm',
],
],
'redis' => [
'ubuntu_18' => [
'latest' => 'redis',
],
'ubuntu_20' => [
'latest' => 'redis',
],
'ubuntu_22' => [
'latest' => 'redis',
],
],
'supervisor' => [
'ubuntu_18' => [
'latest' => 'supervisor',
],
'ubuntu_20' => [
'latest' => 'supervisor',
],
'ubuntu_22' => [
'latest' => 'supervisor',
],
],
'ufw' => [
'ubuntu_18' => [
'latest' => 'ufw',
],
'ubuntu_20' => [
'latest' => 'ufw',
],
'ubuntu_22' => [
'latest' => 'ufw',
],
],
],
/*
* Site
*/
'site_types' => [
\App\Enums\SiteType::LARAVEL,
\App\Enums\SiteType::PHP,
\App\Enums\SiteType::WORDPRESS,
],
'site_types_class' => [
\App\Enums\SiteType::LARAVEL => Laravel::class,
\App\Enums\SiteType::PHP => PHPSite::class,
\App\Enums\SiteType::WORDPRESS => Wordpress::class,
],
/*
* Source Control
*/
'source_control_providers' => [
'github',
'gitlab',
'bitbucket',
'custom',
],
'source_control_providers_class' => [
'github' => Github::class,
'gitlab' => Gitlab::class,
'bitbucket' => Bitbucket::class,
'custom' => Custom::class,
],
/*
* available php extensions
*/
'php_extensions' => [
'imagick',
// 'geoip',
'exif',
'gmagick',
'ssh2',
'gmp',
'intl',
],
/*
* php settings
*/
'php_settings' => [
'upload_max_filesize' => '2',
'memory_limit' => '128',
'max_execution_time' => '30',
'post_max_size' => '2',
],
'php_settings_unit' => [
'upload_max_filesize' => 'M',
'memory_limit' => 'M',
'max_execution_time' => 'S',
'post_max_size' => 'M',
],
/*
* firewall
*/
'firewall_protocols_port' => [
'ssh' => 22,
'http' => 80,
'https' => 443,
'mysql' => 3306,
'ftp' => 21,
'phpmyadmin' => 54331,
'tcp' => '',
'udp' => '',
],
/*
* Disable these IPs for servers
*/
'restricted_ip_addresses' => array_merge(
['127.0.0.1', 'localhost', '0.0.0.0'],
explode(',', env('RESTRICTED_IP_ADDRESSES', ''))
),
/*
* Notification channels
*/
'notification_channels_providers' => [
\App\Enums\NotificationChannel::SLACK,
\App\Enums\NotificationChannel::DISCORD,
\App\Enums\NotificationChannel::EMAIL,
],
'notification_channels_providers_class' => [
\App\Enums\NotificationChannel::SLACK => Slack::class,
\App\Enums\NotificationChannel::DISCORD => Discord::class,
\App\Enums\NotificationChannel::EMAIL => Email::class,
],
/*
* storage providers
*/
'storage_providers' => [
'dropbox',
],
'storage_providers_class' => [
'dropbox' => Dropbox::class,
],
];

34
config/cors.php Normal file
View File

@ -0,0 +1,34 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Cross-Origin Resource Sharing (CORS) Configuration
|--------------------------------------------------------------------------
|
| Here you may configure your settings for cross-origin resource sharing
| or "CORS". This determines what cross-origin operations may execute
| in web browsers. You are free to adjust these settings as needed.
|
| To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
|
*/
'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,
];

151
config/database.php Normal file
View File

@ -0,0 +1,151 @@
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all database work. Of course
| you may use many connections at once using the Database library.
|
*/
'default' => env('DB_CONNECTION', 'mysql'),
/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
| Here are each of the database connections setup for your application.
| Of course, examples of configuring each database platform that is
| supported by Laravel is shown below to make development simple.
|
|
| All database work in Laravel is done through the PHP PDO facilities
| so make sure you have the driver for your particular database of
| choice installed on your machine before you begin development.
|
*/
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'search_path' => 'public',
'sslmode' => 'prefer',
],
'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
// 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
],
],
/*
|--------------------------------------------------------------------------
| Migration Repository Table
|--------------------------------------------------------------------------
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
| the migrations on disk haven't actually been run in the database.
|
*/
'migrations' => 'migrations',
/*
|--------------------------------------------------------------------------
| Redis Databases
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer body of commands than a typical key-value system
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
*/
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_CACHE_DB', '1'),
],
],
];

85
config/filesystems.php Normal file
View File

@ -0,0 +1,85 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
| based disks are available to your application. Just store away!
|
*/
'default' => env('FILESYSTEM_DISK', 'local'),
/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Here you may configure as many filesystem "disks" as you wish, and you
| may even configure multiple disks of the same driver. Defaults have
| been set up for each driver as an example of the required values.
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
*/
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'throw' => false,
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
'throw' => false,
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'throw' => false,
],
'key-pairs-local' => [
'driver' => 'local',
'root' => storage_path('app/key-pairs'),
],
'server-logs-local' => [
'driver' => 'local',
'root' => storage_path('app/server-logs'),
],
],
/*
|--------------------------------------------------------------------------
| Symbolic Links
|--------------------------------------------------------------------------
|
| Here you may configure the symbolic links that will be created when the
| `storage:link` Artisan command is executed. The array keys should be
| the locations of the links and the values should be their targets.
|
*/
'links' => [
public_path('storage') => storage_path('app/public'),
],
];

52
config/hashing.php Normal file
View File

@ -0,0 +1,52 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Hash Driver
|--------------------------------------------------------------------------
|
| This option controls the default hash driver that will be used to hash
| passwords for your application. By default, the bcrypt algorithm is
| used; however, you remain free to modify this option if you wish.
|
| Supported: "bcrypt", "argon", "argon2id"
|
*/
'driver' => 'bcrypt',
/*
|--------------------------------------------------------------------------
| Bcrypt Options
|--------------------------------------------------------------------------
|
| Here you may specify the configuration options that should be used when
| passwords are hashed using the Bcrypt algorithm. This will allow you
| to control the amount of time it takes to hash the given password.
|
*/
'bcrypt' => [
'rounds' => env('BCRYPT_ROUNDS', 10),
],
/*
|--------------------------------------------------------------------------
| Argon Options
|--------------------------------------------------------------------------
|
| Here you may specify the configuration options that should be used when
| passwords are hashed using the Argon algorithm. These will allow you
| to control the amount of time it takes to hash the given password.
|
*/
'argon' => [
'memory' => 65536,
'threads' => 1,
'time' => 4,
],
];

131
config/logging.php Normal file
View File

@ -0,0 +1,131 @@
<?php
use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
use Monolog\Processor\PsrLogMessageProcessor;
return [
/*
|--------------------------------------------------------------------------
| Default Log Channel
|--------------------------------------------------------------------------
|
| This option defines the default log channel that gets used when writing
| messages to the logs. The name specified in this option should match
| one of the channels defined in the "channels" configuration array.
|
*/
'default' => env('LOG_CHANNEL', 'stack'),
/*
|--------------------------------------------------------------------------
| Deprecations Log Channel
|--------------------------------------------------------------------------
|
| This option controls the log channel that should be used to log warnings
| regarding deprecated PHP and library features. This allows you to get
| your application ready for upcoming major versions of dependencies.
|
*/
'deprecations' => [
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
'trace' => false,
],
/*
|--------------------------------------------------------------------------
| Log Channels
|--------------------------------------------------------------------------
|
| Here you may configure the log channels for your application. Out of
| the box, Laravel uses the Monolog PHP logging library. This gives
| you a variety of powerful log handlers / formatters to utilize.
|
| Available Drivers: "single", "daily", "slack", "syslog",
| "errorlog", "monolog",
| "custom", "stack"
|
*/
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['single'],
'ignore_exceptions' => false,
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'replace_placeholders' => true,
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14,
'replace_placeholders' => true,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => env('LOG_LEVEL', 'critical'),
'replace_placeholders' => true,
],
'papertrail' => [
'driver' => 'monolog',
'level' => env('LOG_LEVEL', 'debug'),
'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
'handler_with' => [
'host' => env('PAPERTRAIL_URL'),
'port' => env('PAPERTRAIL_PORT'),
'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
],
'processors' => [PsrLogMessageProcessor::class],
],
'stderr' => [
'driver' => 'monolog',
'level' => env('LOG_LEVEL', 'debug'),
'handler' => StreamHandler::class,
'formatter' => env('LOG_STDERR_FORMATTER'),
'with' => [
'stream' => 'php://stderr',
],
'processors' => [PsrLogMessageProcessor::class],
],
'syslog' => [
'driver' => 'syslog',
'level' => env('LOG_LEVEL', 'debug'),
'facility' => LOG_USER,
'replace_placeholders' => true,
],
'errorlog' => [
'driver' => 'errorlog',
'level' => env('LOG_LEVEL', 'debug'),
'replace_placeholders' => true,
],
'null' => [
'driver' => 'monolog',
'handler' => NullHandler::class,
],
'emergency' => [
'path' => storage_path('logs/laravel.log'),
],
],
];

124
config/mail.php Normal file
View File

@ -0,0 +1,124 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Mailer
|--------------------------------------------------------------------------
|
| This option controls the default mailer that is used to send any email
| messages sent by your application. Alternative mailers may be setup
| and used as needed; however, this mailer will be used by default.
|
*/
'default' => env('MAIL_MAILER', 'smtp'),
/*
|--------------------------------------------------------------------------
| Mailer Configurations
|--------------------------------------------------------------------------
|
| Here you may configure all of the mailers used by your application plus
| their respective settings. Several examples have been configured for
| you and you are free to add your own as your application requires.
|
| Laravel supports a variety of mail "transport" drivers to be used while
| sending an e-mail. You will specify which one you are using for your
| mailers below. You are free to add additional mailers as required.
|
| Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
| "postmark", "log", "array", "failover"
|
*/
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'local_domain' => env('MAIL_EHLO_DOMAIN'),
],
'ses' => [
'transport' => 'ses',
],
'mailgun' => [
'transport' => 'mailgun',
// 'client' => [
// 'timeout' => 5,
// ],
],
'postmark' => [
'transport' => 'postmark',
// 'client' => [
// 'timeout' => 5,
// ],
],
'sendmail' => [
'transport' => 'sendmail',
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
],
'log' => [
'transport' => 'log',
'channel' => env('MAIL_LOG_CHANNEL'),
],
'array' => [
'transport' => 'array',
],
'failover' => [
'transport' => 'failover',
'mailers' => [
'smtp',
'log',
],
],
],
/*
|--------------------------------------------------------------------------
| Global "From" Address
|--------------------------------------------------------------------------
|
| You may wish for all e-mails sent by your application to be sent from
| the same address. Here, you may specify a name and address that is
| used globally for all e-mails that are sent by your application.
|
*/
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
/*
|--------------------------------------------------------------------------
| Markdown Mail Settings
|--------------------------------------------------------------------------
|
| If you are using Markdown based email rendering, you may configure your
| theme and component paths here, allowing you to customize the design
| of the emails. Or, you may simply stick with the Laravel defaults!
|
*/
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];

89
config/queue.php Executable file
View File

@ -0,0 +1,89 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Queue Connection Name
|--------------------------------------------------------------------------
|
| Laravel's queue API supports an assortment of back-ends via a single
| API, giving you convenient access to each back-end using the same
| syntax for every one. Here you may define a default connection.
|
*/
'default' => env('QUEUE_CONNECTION', 'sync'),
/*
|--------------------------------------------------------------------------
| Queue Connections
|--------------------------------------------------------------------------
|
| Here you may configure the connection information for each server that
| is used by your application. A default configuration has been added
| for each back-end shipped with Laravel. You are free to add more.
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
*/
'connections' => [
'sync' => [
'driver' => 'sync',
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 600,
'block_for' => null,
'after_commit' => false,
],
'default' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'timeout' => 90,
'retry_after' => 600,
],
'ssh' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'ssh',
'timeout' => 240,
'retry_after' => 600,
],
'ssh-long' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'ssh-long',
'timeout' => 600,
'retry_after' => 600,
],
],
/*
|--------------------------------------------------------------------------
| Failed Queue Jobs
|--------------------------------------------------------------------------
|
| These options configure the behavior of failed queue job logging so you
| can control which database and table are used to store the jobs that
| have failed. You may change them to any database / table you wish.
|
*/
'failed' => [
'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
],
];

67
config/sanctum.php Normal file
View File

@ -0,0 +1,67 @@
<?php
use Laravel\Sanctum\Sanctum;
return [
/*
|--------------------------------------------------------------------------
| Stateful Domains
|--------------------------------------------------------------------------
|
| Requests from the following domains / hosts will receive stateful API
| authentication cookies. Typically, these should include your local
| and production domains which access your API via a frontend SPA.
|
*/
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
'%s%s',
'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
Sanctum::currentApplicationUrlWithPort()
))),
/*
|--------------------------------------------------------------------------
| Sanctum Guards
|--------------------------------------------------------------------------
|
| This array contains the authentication guards that will be checked when
| Sanctum is trying to authenticate a request. If none of these guards
| are able to authenticate the request, Sanctum will use the bearer
| token that's present on an incoming request for authentication.
|
*/
'guard' => ['web'],
/*
|--------------------------------------------------------------------------
| Expiration Minutes
|--------------------------------------------------------------------------
|
| This value controls the number of minutes until an issued token will be
| considered expired. If this value is null, personal access tokens do
| not expire. This won't tweak the lifetime of first-party sessions.
|
*/
'expiration' => null,
/*
|--------------------------------------------------------------------------
| Sanctum Middleware
|--------------------------------------------------------------------------
|
| When authenticating your first-party SPA with Sanctum you may need to
| customize some of the middleware Sanctum uses while processing the
| request. You may change the middleware listed below as required.
|
*/
'middleware' => [
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
],
];

821
config/serverproviders.php Normal file
View File

@ -0,0 +1,821 @@
<?php
return [
'aws' => [
'plans' => [
[
'title' => '[t2 nano] 512MB RAM - CPU 1 core(s)',
'value' => 't2.nano',
],
[
'title' => '[t2 micro] 1024MB RAM - CPU 1 core(s)',
'value' => 't2.micro',
],
[
'title' => '[t2 small] 2048MB RAM - CPU 1 core(s)',
'value' => 't2.small',
],
[
'title' => '[t2 medium] 4096MB RAM - CPU 2 core(s)',
'value' => 't2.medium',
],
[
'title' => '[t2 large] 8192MB RAM - CPU 2 core(s)',
'value' => 't2.large',
],
[
'title' => '[t2 xlarge] 16384MB RAM - CPU 4 core(s)',
'value' => 't2.xlarge',
],
[
'title' => '[t2 2xlarge] 32768MB RAM - CPU 8 core(s)',
'value' => 't2.2xlarge',
],
[
'title' => '[t3a nano] 512MB RAM - CPU 2 core(s)',
'value' => 't3a.nano',
],
[
'title' => '[t3a micro] 1024MB RAM - CPU 2 core(s)',
'value' => 't3a.micro',
],
[
'title' => '[t3a small] 2048MB RAM - CPU 2 core(s)',
'value' => 't3a.small',
],
[
'title' => '[t3a medium] 4096MB RAM - CPU 2 core(s)',
'value' => 't3a.medium',
],
[
'title' => '[t3a large] 8192MB RAM - CPU 2 core(s)',
'value' => 't3a.large',
],
[
'title' => '[t3a xlarge] 16384MB RAM - CPU 4 core(s)',
'value' => 't3a.xlarge',
],
],
'regions' => [
[
'title' => 'US East (N. Virginia) (us-east-1)',
'value' => 'us-east-1',
],
[
'title' => 'US East (Ohio) (us-east-2)',
'value' => 'us-east-2',
],
[
'title' => 'US West (N. California) (us-west-1)',
'value' => 'us-west-1',
],
[
'title' => 'US West (Oregon) (us-west-2)',
'value' => 'us-west-2',
],
[
'title' => 'Asia Pacific (Hong Kong) (ap-east-1)',
'value' => 'ap-east-1',
],
[
'title' => 'Asia Pacific (Mumbai) (ap-south-1)',
'value' => 'ap-south-1',
],
[
'title' => 'Asia Pacific (Singapore) (ap-southeast-1',
'value' => 'ap-southeast-1',
],
[
'title' => 'Asia Pacific (Seoul) (ap-northeast-2)',
'value' => 'ap-northeast-2',
],
[
'title' => 'Asia Pacific (Tokyo) (ap-northeast-1)',
'value' => 'ap-northeast-1',
],
[
'title' => 'Asia Pacific (Sydney) (ap-southeast-2)',
'value' => 'ap-southeast-2',
],
[
'title' => 'Canada (Central) (ca-central-1)',
'value' => 'ca-central-1',
],
[
'title' => 'Europe (Frankfurt) (eu-central-1)',
'value' => 'eu-central-1',
],
[
'title' => 'Europe (Ireland) (eu-west-1)',
'value' => 'eu-west-1',
],
[
'title' => 'Europe (London) (eu-west-2)',
'value' => 'eu-west-2',
],
[
'title' => 'Europe (Paris) (eu-west-3)',
'value' => 'eu-west-3',
],
[
'title' => 'Europe (Milan) (eu-south-1)',
'value' => 'eu-south-1',
],
[
'title' => 'Europe (Stockholm) (eu-north-1)',
'value' => 'eu-north-1',
],
[
'title' => 'Middle East (Bahrain) (me-south-1)',
'value' => 'me-south-1',
],
[
'title' => 'South America (São Paulo) (sa-east-1)',
'value' => 'sa-east-1',
],
[
'title' => 'Africa (Cape Town) (af-south-1)',
'value' => 'af-south-1',
],
],
'images' => [
'us-east-1' => [
'ubuntu_18' => 'ami-0279c3b3186e54acd',
'ubuntu_20' => 'ami-083654bd07b5da81d',
],
'us-east-2' => [
'ubuntu_18' => 'ami-020db2c14939a8efb',
'ubuntu_20' => 'ami-0629230e074c580f2',
],
'us-west-1' => [
'ubuntu_18' => 'ami-083f68207d3376798',
'ubuntu_20' => 'ami-053ac55bdcfe96e85',
],
'us-west-2' => [
'ubuntu_18' => 'ami-09889d8d54f9e0a0e',
'ubuntu_20' => 'ami-036d46416a34a611c',
],
'ap-east-1' => [
'ubuntu_18' => 'ami-032c0a4bd39a5772c',
'ubuntu_20' => 'ami-0a9c1cc3697104990',
],
'ap-south-1' => [
'ubuntu_18' => 'ami-00782a7608c7fc226',
'ubuntu_20' => 'ami-0567e0d2b4b2169ae',
],
'ap-northeast-1' => [
'ubuntu_18' => 'ami-085e9421f80dbe728',
'ubuntu_20' => 'ami-036d0684fc96830ca',
],
'ap-northeast-2' => [
'ubuntu_18' => 'ami-0252a84eb1d66c2a0',
'ubuntu_20' => 'ami-0f8b8babb98cc66d0',
],
'ap-southeast-1' => [
'ubuntu_18' => 'ami-0907c2c44ea451f84',
'ubuntu_20' => 'ami-0fed77069cd5a6d6c',
],
'ap-southeast-2' => [
'ubuntu_18' => 'ami-00abf0511a7f4cee5',
'ubuntu_20' => 'ami-0bf8b986de7e3c7ce',
],
'ca-central-1' => [
'ubuntu_18' => 'ami-0e471deaa43652c4a',
'ubuntu_20' => 'ami-0bb84e7329f4fa1f7',
],
'eu-central-1' => [
'ubuntu_18' => 'ami-00d5e377dd7fad751',
'ubuntu_20' => 'ami-0a49b025fffbbdac6',
],
'eu-west-1' => [
'ubuntu_18' => 'ami-095b735dce49535b5',
'ubuntu_20' => 'ami-08edbb0e85d6a0a07',
],
'eu-west-2' => [
'ubuntu_18' => 'ami-008485ca60c91a0f3',
'ubuntu_20' => 'ami-0fdf70ed5c34c5f52',
],
'eu-west-3' => [
'ubuntu_18' => 'ami-0df7d9cc2767d16cd',
'ubuntu_20' => 'ami-06d79c60d7454e2af',
],
'eu-south-1' => [
'ubuntu_18' => 'ami-09f165dd6bd167be5',
'ubuntu_20' => 'ami-0f8ce9c417115413d',
],
'eu-north-1' => [
'ubuntu_18' => 'ami-038904f9024f34a0c',
'ubuntu_20' => 'ami-0bd9c26722573e69b',
],
'me-south-1' => [
'ubuntu_18' => 'ami-0ef669c57b73af73b',
'ubuntu_20' => 'ami-0b4946d7420c44be4',
],
'sa-east-1' => [
'ubuntu_18' => 'ami-0ed2b3edeb28afa59',
'ubuntu_20' => 'ami-0e66f5495b4efdd0f',
],
'af-south-1' => [
'ubuntu_18' => 'ami-0191bb2cf509687ee',
'ubuntu_20' => 'ami-0ff86122fd4ad7208',
],
],
],
'linode' => [
'plans' => [
[
'title' => 'Nanode 1GB',
'value' => 'g6-nanode-1',
],
[
'title' => 'Linode 2GB',
'value' => 'g6-standard-1',
],
[
'title' => 'Linode 4GB',
'value' => 'g6-standard-2',
],
[
'title' => 'Linode 8GB',
'value' => 'g6-standard-4',
],
[
'title' => 'Linode 16GB',
'value' => 'g6-standard-6',
],
[
'title' => 'Linode 32GB',
'value' => 'g6-standard-8',
],
[
'title' => 'Linode 64GB',
'value' => 'g6-standard-16',
],
[
'title' => 'Linode 96GB',
'value' => 'g6-standard-20',
],
[
'title' => 'Linode 128GB',
'value' => 'g6-standard-24',
],
[
'title' => 'Linode 192GB',
'value' => 'g6-standard-32',
],
[
'title' => 'Linode 24GB',
'value' => 'g7-highmem-1',
],
[
'title' => 'Linode 48GB',
'value' => 'g7-highmem-2',
],
[
'title' => 'Linode 90GB',
'value' => 'g7-highmem-4',
],
[
'title' => 'Linode 150GB',
'value' => 'g7-highmem-8',
],
[
'title' => 'Linode 300GB',
'value' => 'g7-highmem-16',
],
[
'title' => 'Dedicated 4GB',
'value' => 'g6-dedicated-2',
],
[
'title' => 'Dedicated 8GB',
'value' => 'g6-dedicated-4',
],
[
'title' => 'Dedicated 16GB',
'value' => 'g6-dedicated-8',
],
[
'title' => 'Dedicated 32GB',
'value' => 'g6-dedicated-16',
],
[
'title' => 'Dedicated 64GB',
'value' => 'g6-dedicated-32',
],
[
'title' => 'Dedicated 96GB',
'value' => 'g6-dedicated-48',
],
[
'title' => 'Dedicated 128GB',
'value' => 'g6-dedicated-50',
],
[
'title' => 'Dedicated 256GB',
'value' => 'g6-dedicated-56',
],
[
'title' => 'Dedicated 512GB',
'value' => 'g6-dedicated-64',
],
[
'title' => 'Dedicated 32GB + RTX6000 GPU x1',
'value' => 'g1-gpu-rtx6000-1',
],
[
'title' => 'Dedicated 64GB + RTX6000 GPU x2',
'value' => 'g1-gpu-rtx6000-2',
],
[
'title' => 'Dedicated 96GB + RTX6000 GPU x3',
'value' => 'g1-gpu-rtx6000-3',
],
[
'title' => 'Dedicated 128GB + RTX6000 GPU x4',
'value' => 'g1-gpu-rtx6000-4',
],
],
'regions' => [
[
'title' => 'ap-west - India',
'value' => 'ap-west',
],
[
'title' => 'ca-central - Canada',
'value' => 'ca-central',
],
[
'title' => 'ap-southeast - Australia',
'value' => 'ap-southeast',
],
[
'title' => 'us-central - United States',
'value' => 'us-central',
],
[
'title' => 'us-west - United States',
'value' => 'us-west',
],
[
'title' => 'us-southeast - United States',
'value' => 'us-southeast',
],
[
'title' => 'us-east - United States',
'value' => 'us-east',
],
[
'title' => 'eu-west - United Kingdom',
'value' => 'eu-west',
],
[
'title' => 'ap-south - Singapore',
'value' => 'ap-south',
],
[
'title' => 'eu-central - Germany',
'value' => 'eu-central',
],
[
'title' => 'ap-northeast - Japan',
'value' => 'ap-northeast',
],
],
'images' => [
'ubuntu_18' => 'linode/ubuntu18.04',
'ubuntu_20' => 'linode/ubuntu20.04',
],
],
'digitalocean' => [
'plans' => [
[
'title' => '1024MB RAM - CPU 1 core(s) - Disk: 25GB (s-1vcpu-1gb)',
'value' => 's-1vcpu-1gb',
],
[
'title' => '1024MB RAM - CPU 1 core(s) - Disk: 25GB (s-1vcpu-1gb-amd)',
'value' => 's-1vcpu-1gb-amd',
],
[
'title' => '1024MB RAM - CPU 1 core(s) - Disk: 25GB (s-1vcpu-1gb-intel)',
'value' => 's-1vcpu-1gb-intel',
],
[
'title' => '2048MB RAM - CPU 1 core(s) - Disk: 50GB (s-1vcpu-2gb)',
'value' => 's-1vcpu-2gb',
],
[
'title' => '2048MB RAM - CPU 1 core(s) - Disk: 50GB (s-1vcpu-2gb-amd)',
'value' => 's-1vcpu-2gb-amd',
],
[
'title' => '2048MB RAM - CPU 1 core(s) - Disk: 50GB (s-1vcpu-2gb-intel)',
'value' => 's-1vcpu-2gb-intel',
],
[
'title' => '2048MB RAM - CPU 2 core(s) - Disk: 60GB (s-2vcpu-2gb)',
'value' => 's-2vcpu-2gb',
],
[
'title' => '2048MB RAM - CPU 2 core(s) - Disk: 60GB (s-2vcpu-2gb-amd)',
'value' => 's-2vcpu-2gb-amd',
],
[
'title' => '2048MB RAM - CPU 2 core(s) - Disk: 60GB (s-2vcpu-2gb-intel)',
'value' => 's-2vcpu-2gb-intel',
],
[
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 80GB (s-2vcpu-4gb)',
'value' => 's-2vcpu-4gb',
],
[
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 80GB (s-2vcpu-4gb-amd)',
'value' => 's-2vcpu-4gb-amd',
],
[
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 80GB (s-2vcpu-4gb-intel)',
'value' => 's-2vcpu-4gb-intel',
],
[
'title' => '8192MB RAM - CPU 4 core(s) - Disk: 160GB (s-4vcpu-8gb)',
'value' => 's-4vcpu-8gb',
],
[
'title' => '8192MB RAM - CPU 4 core(s) - Disk: 160GB (s-4vcpu-8gb-amd)',
'value' => 's-4vcpu-8gb-amd',
],
[
'title' => '8192MB RAM - CPU 4 core(s) - Disk: 160GB (s-4vcpu-8gb-intel)',
'value' => 's-4vcpu-8gb-intel',
],
[
'title' => '16384MB RAM - CPU 8 core(s) - Disk: 320GB (s-8vcpu-16gb)',
'value' => 's-8vcpu-16gb',
],
[
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 25GB (c-2)',
'value' => 'c-2',
],
[
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 50GB (c2-2vcpu-4gb)',
'value' => 'c2-2vcpu-4gb',
],
[
'title' => '8192MB RAM - CPU 2 core(s) - Disk: 25GB (g-2vcpu-8gb)',
'value' => 'g-2vcpu-8gb',
],
[
'title' => '8192MB RAM - CPU 2 core(s) - Disk: 50GB (gd-2vcpu-8gb)',
'value' => 'gd-2vcpu-8gb',
],
],
'regions' => [
[
'title' => 'New York 1',
'value' => 'nyc1',
],
[
'title' => 'Amsterdam 2',
'value' => 'ams2',
],
[
'title' => 'Singapore 1',
'value' => 'sgp1',
],
[
'title' => 'London 1',
'value' => 'lon1',
],
[
'title' => 'New York 3',
'value' => 'nyc3',
],
[
'title' => 'Amsterdam 3',
'value' => 'ams3',
],
[
'title' => 'Frankfurt 1',
'value' => 'fra1',
],
[
'title' => 'Toronto 1',
'value' => 'tor1',
],
[
'title' => 'Bangalore 1',
'value' => 'blr1',
],
[
'title' => 'San Francisco 3',
'value' => 'sfo3',
],
],
'images' => [
'ubuntu_18' => '93524084',
'ubuntu_20' => '93525508',
],
],
'vultr' => [
'plans' => [
[
'title' => '1 CPU - 1024MB Ram - 25GB Disk',
'value' => 'vc2-1c-1gb',
],
[
'title' => '1 CPU - 2048MB Ram - 55GB Disk',
'value' => 'vc2-1c-2gb',
],
[
'title' => '2 CPU - 4096MB Ram - 80GB Disk',
'value' => 'vc2-2c-4gb',
],
[
'title' => '4 CPU - 8192MB Ram - 160GB Disk',
'value' => 'vc2-4c-8gb',
],
[
'title' => '6 CPU - 16384MB Ram - 320GB Disk',
'value' => 'vc2-6c-16gb',
],
[
'title' => '8 CPU - 32768MB Ram - 640GB Disk',
'value' => 'vc2-8c-32gb',
],
[
'title' => '16 CPU - 65536MB Ram - 1280GB Disk',
'value' => 'vc2-16c-64gb',
],
[
'title' => '24 CPU - 98304MB Ram - 1600GB Disk',
'value' => 'vc2-24c-96gb',
],
[
'title' => '2 CPU - 8192MB Ram - 110GB Disk',
'value' => 'vdc-2vcpu-8gb',
],
[
'title' => '4 CPU - 16384MB Ram - 110GB Disk',
'value' => 'vdc-4vcpu-16gb',
],
[
'title' => '6 CPU - 24576MB Ram - 110GB Disk',
'value' => 'vdc-6vcpu-24gb',
],
[
'title' => '8 CPU - 32768MB Ram - 110GB Disk',
'value' => 'vdc-8vcpu-32gb',
],
[
'title' => '1 CPU - 1024MB Ram - 32GB Disk',
'value' => 'vhf-1c-1gb',
],
[
'title' => '1 CPU - 2048MB Ram - 64GB Disk',
'value' => 'vhf-1c-2gb',
],
[
'title' => '2 CPU - 2048MB Ram - 80GB Disk',
'value' => 'vhf-2c-2gb',
],
[
'title' => '2 CPU - 4096MB Ram - 128GB Disk',
'value' => 'vhf-2c-4gb',
],
[
'title' => '3 CPU - 8192MB Ram - 256GB Disk',
'value' => 'vhf-3c-8gb',
],
[
'title' => '4 CPU - 16384MB Ram - 384GB Disk',
'value' => 'vhf-4c-16gb',
],
[
'title' => '6 CPU - 24576MB Ram - 448GB Disk',
'value' => 'vhf-6c-24gb',
],
[
'title' => '8 CPU - 32768MB Ram - 512GB Disk',
'value' => 'vhf-8c-32gb',
],
[
'title' => '12 CPU - 49152MB Ram - 768GB Disk',
'value' => 'vhf-12c-48gb',
],
],
'regions' => [
[
'title' => 'Europe - Amsterdam',
'value' => 'ams',
],
[
'title' => 'North America - Atlanta',
'value' => 'atl',
],
[
'title' => 'Europe - Paris',
'value' => 'cdg',
],
[
'title' => 'North America - Dallas',
'value' => 'dfw',
],
[
'title' => 'North America - New Jersey',
'value' => 'ewr',
],
[
'title' => 'Europe - Frankfurt',
'value' => 'fra',
],
[
'title' => 'Asia - Seoul',
'value' => 'icn',
],
[
'title' => 'North America - Los Angeles',
'value' => 'lax',
],
[
'title' => 'Europe - London',
'value' => 'lhr',
],
[
'title' => 'North America - Mexico City',
'value' => 'mex',
],
[
'title' => 'North America - Miami',
'value' => 'mia',
],
[
'title' => 'Asia - Tokyo',
'value' => 'nrt',
],
[
'title' => 'North America - Chicago',
'value' => 'ord',
],
[
'title' => 'North America - Seattle',
'value' => 'sea',
],
[
'title' => 'Asia - Singapore',
'value' => 'sgp',
],
[
'title' => 'North America - Silicon Valley',
'value' => 'sjc',
],
[
'title' => 'Europe - Stockholm',
'value' => 'sto',
],
[
'title' => 'Australia - Sydney',
'value' => 'syd',
],
[
'title' => 'North America - Toronto',
'value' => 'yto',
],
],
'images' => [
'ubuntu_18' => '270',
'ubuntu_20' => '387',
],
],
'hetzner' => [
'plans' => [
[
'title' => 'CX11 - 1 Cores - 2 Memory - 20 Disk',
'value' => 'cx11',
],
[
'title' => 'CX21 - 2 Cores - 4 Memory - 40 Disk',
'value' => 'cx21',
],
[
'title' => 'CX31 - 2 Cores - 8 Memory - 80 Disk',
'value' => 'cx31',
],
[
'title' => 'CX41 - 4 Cores - 16 Memory - 160 Disk',
'value' => 'cx41',
],
[
'title' => 'CX51 - 8 Cores - 32 Memory - 240 Disk',
'value' => 'cx51',
],
[
'title' => 'CCX11 Dedicated CPU - 2 Cores - 8 Memory - 80 Disk',
'value' => 'ccx11',
],
[
'title' => 'CCX21 Dedicated CPU - 4 Cores - 16 Memory - 160 Disk',
'value' => 'ccx21',
],
[
'title' => 'CCX31 Dedicated CPU - 8 Cores - 32 Memory - 240 Disk',
'value' => 'ccx31',
],
[
'title' => 'CCX41 Dedicated CPU - 16 Cores - 64 Memory - 360 Disk',
'value' => 'ccx41',
],
[
'title' => 'CCX51 Dedicated CPU - 32 Cores - 128 Memory - 600 Disk',
'value' => 'ccx51',
],
[
'title' => 'CPX 11 - 2 Cores - 2 Memory - 40 Disk',
'value' => 'cpx11',
],
[
'title' => 'CPX 21 - 3 Cores - 4 Memory - 80 Disk',
'value' => 'cpx21',
],
[
'title' => 'CPX 31 - 4 Cores - 8 Memory - 160 Disk',
'value' => 'cpx31',
],
[
'title' => 'CPX 41 - 8 Cores - 16 Memory - 240 Disk',
'value' => 'cpx41',
],
[
'title' => 'CPX 51 - 16 Cores - 32 Memory - 360 Disk',
'value' => 'cpx51',
],
[
'title' => 'CCX12 Dedicated CPU - 2 Cores - 8 Memory - 80 Disk',
'value' => 'ccx12',
],
[
'title' => 'CCX22 Dedicated CPU - 4 Cores - 16 Memory - 160 Disk',
'value' => 'ccx22',
],
[
'title' => 'CCX32 Dedicated CPU - 8 Cores - 32 Memory - 240 Disk',
'value' => 'ccx32',
],
[
'title' => 'CCX42 Dedicated CPU - 16 Cores - 64 Memory - 360 Disk',
'value' => 'ccx42',
],
[
'title' => 'CCX52 Dedicated CPU - 32 Cores - 128 Memory - 600 Disk',
'value' => 'ccx52',
],
[
'title' => 'CCX62 Dedicated CPU - 48 Cores - 192 Memory - 960 Disk',
'value' => 'ccx62',
],
[
'title' => 'CAX11 - 2 Cores - 4 Memory - 40 Disk',
'value' => 'cax11',
],
[
'title' => 'CAX21 - 4 Cores - 8 Memory - 80 Disk',
'value' => 'cax21',
],
[
'title' => 'CAX31 - 8 Cores - 16 Memory - 160 Disk',
'value' => 'cax31',
],
[
'title' => 'CAX41 - 16 Cores - 32 Memory - 320 Disk',
'value' => 'cax41',
],
],
'regions' => [
[
'title' => 'DE - Falkenstein',
'value' => 'fsn1',
],
[
'title' => 'DE - Nuremberg',
'value' => 'nbg1',
],
[
'title' => 'FI - Helsinki',
'value' => 'hel1',
],
[
'title' => 'US - Ashburn, VA',
'value' => 'ash',
],
[
'title' => 'US - Hillsboro, OR',
'value' => 'hil',
],
],
'images' => [
'ubuntu_18' => 'ubuntu-18.04',
'ubuntu_20' => 'ubuntu-20.04',
'ubuntu_22' => 'ubuntu-22.04',
],
],
];

34
config/services.php Normal file
View File

@ -0,0 +1,34 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
'scheme' => 'https',
],
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],
'ses' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
];

201
config/session.php Normal file
View File

@ -0,0 +1,201 @@
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Session Driver
|--------------------------------------------------------------------------
|
| This option controls the default session "driver" that will be used on
| requests. By default, we will use the lightweight native driver but
| you may specify any of the other wonderful drivers provided here.
|
| Supported: "file", "cookie", "database", "apc",
| "memcached", "redis", "dynamodb", "array"
|
*/
'driver' => env('SESSION_DRIVER', 'file'),
/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
/*
|--------------------------------------------------------------------------
| Session Encryption
|--------------------------------------------------------------------------
|
| This option allows you to easily specify that all of your session data
| should be encrypted before it is stored. All encryption will be run
| automatically by Laravel and you can use the Session like normal.
|
*/
'encrypt' => false,
/*
|--------------------------------------------------------------------------
| Session File Location
|--------------------------------------------------------------------------
|
| When using the native session driver, we need a location where session
| files may be stored. A default has been set for you but a different
| location may be specified. This is only needed for file sessions.
|
*/
'files' => storage_path('framework/sessions'),
/*
|--------------------------------------------------------------------------
| Session Database Connection
|--------------------------------------------------------------------------
|
| When using the "database" or "redis" session drivers, you may specify a
| connection that should be used to manage these sessions. This should
| correspond to a connection in your database configuration options.
|
*/
'connection' => env('SESSION_CONNECTION'),
/*
|--------------------------------------------------------------------------
| Session Database Table
|--------------------------------------------------------------------------
|
| When using the "database" session driver, you may specify the table we
| should use to manage the sessions. Of course, a sensible default is
| provided for you; however, you are free to change this as needed.
|
*/
'table' => 'sessions',
/*
|--------------------------------------------------------------------------
| Session Cache Store
|--------------------------------------------------------------------------
|
| While using one of the framework's cache driven session backends you may
| list a cache store that should be used for these sessions. This value
| must match with one of the application's configured cache "stores".
|
| Affects: "apc", "dynamodb", "memcached", "redis"
|
*/
'store' => env('SESSION_STORE'),
/*
|--------------------------------------------------------------------------
| Session Sweeping Lottery
|--------------------------------------------------------------------------
|
| Some session drivers must manually sweep their storage location to get
| rid of old sessions from storage. Here are the chances that it will
| happen on a given request. By default, the odds are 2 out of 100.
|
*/
'lottery' => [2, 100],
/*
|--------------------------------------------------------------------------
| Session Cookie Name
|--------------------------------------------------------------------------
|
| Here you may change the name of the cookie used to identify a session
| instance by ID. The name specified here will get used every time a
| new session cookie is created by the framework for every driver.
|
*/
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),
/*
|--------------------------------------------------------------------------
| Session Cookie Path
|--------------------------------------------------------------------------
|
| The session cookie path determines the path for which the cookie will
| be regarded as available. Typically, this will be the root path of
| your application but you are free to change this when necessary.
|
*/
'path' => '/',
/*
|--------------------------------------------------------------------------
| Session Cookie Domain
|--------------------------------------------------------------------------
|
| Here you may change the domain of the cookie used to identify a session
| in your application. This will determine which domains the cookie is
| available to in your application. A sensible default has been set.
|
*/
'domain' => env('SESSION_DOMAIN'),
/*
|--------------------------------------------------------------------------
| HTTPS Only Cookies
|--------------------------------------------------------------------------
|
| By setting this option to true, session cookies will only be sent back
| to the server if the browser has a HTTPS connection. This will keep
| the cookie from being sent to you when it can't be done securely.
|
*/
'secure' => env('SESSION_SECURE_COOKIE'),
/*
|--------------------------------------------------------------------------
| HTTP Access Only
|--------------------------------------------------------------------------
|
| Setting this value to true will prevent JavaScript from accessing the
| value of the cookie and the cookie will only be accessible through
| the HTTP protocol. You are free to modify this option if needed.
|
*/
'http_only' => true,
/*
|--------------------------------------------------------------------------
| Same-Site Cookies
|--------------------------------------------------------------------------
|
| This option determines how your cookies behave when cross-site requests
| take place, and can be used to mitigate CSRF attacks. By default, we
| will set this value to "lax" since this is a secure default value.
|
| Supported: "lax", "strict", "none", null
|
*/
'same_site' => 'lax',
];

187
config/telescope.php Normal file
View File

@ -0,0 +1,187 @@
<?php
use Laravel\Telescope\Http\Middleware\Authorize;
use Laravel\Telescope\Watchers;
return [
/*
|--------------------------------------------------------------------------
| Telescope Domain
|--------------------------------------------------------------------------
|
| This is the subdomain where Telescope will be accessible from. If the
| setting is null, Telescope will reside under the same domain as the
| application. Otherwise, this value will be used as the subdomain.
|
*/
'domain' => env('TELESCOPE_DOMAIN'),
/*
|--------------------------------------------------------------------------
| Telescope Path
|--------------------------------------------------------------------------
|
| This is the URI path where Telescope will be accessible from. Feel free
| to change this path to anything you like. Note that the URI will not
| affect the paths of its internal API that aren't exposed to users.
|
*/
'path' => env('TELESCOPE_PATH', 'telescope'),
/*
|--------------------------------------------------------------------------
| Telescope Storage Driver
|--------------------------------------------------------------------------
|
| This configuration options determines the storage driver that will
| be used to store Telescope's data. In addition, you may set any
| custom options as needed by the particular driver you choose.
|
*/
'driver' => env('TELESCOPE_DRIVER', 'database'),
'storage' => [
'database' => [
'connection' => env('DB_CONNECTION', 'mysql'),
'chunk' => 1000,
],
],
/*
|--------------------------------------------------------------------------
| Telescope Master Switch
|--------------------------------------------------------------------------
|
| This option may be used to disable all Telescope watchers regardless
| of their individual configuration, which simply provides a single
| and convenient way to enable or disable Telescope data storage.
|
*/
'enabled' => env('TELESCOPE_ENABLED', true),
/*
|--------------------------------------------------------------------------
| Telescope Route Middleware
|--------------------------------------------------------------------------
|
| These middleware will be assigned to every Telescope route, giving you
| the chance to add your own middleware to this list or change any of
| the existing middleware. Or, you can simply stick with this list.
|
*/
'middleware' => [
'web',
Authorize::class,
],
/*
|--------------------------------------------------------------------------
| Allowed / Ignored Paths & Commands
|--------------------------------------------------------------------------
|
| The following array lists the URI paths and Artisan commands that will
| not be watched by Telescope. In addition to this list, some Laravel
| commands, like migrations and queue commands, are always ignored.
|
*/
'only_paths' => [
// 'api/*'
],
'ignore_paths' => [
'nova-api*',
],
'ignore_commands' => [
//
],
/*
|--------------------------------------------------------------------------
| Telescope Watchers
|--------------------------------------------------------------------------
|
| The following array lists the "watchers" that will be registered with
| Telescope. The watchers gather the application's profile data when
| a request or task is executed. Feel free to customize this list.
|
*/
'watchers' => [
Watchers\BatchWatcher::class => env('TELESCOPE_BATCH_WATCHER', true),
Watchers\CacheWatcher::class => [
'enabled' => env('TELESCOPE_CACHE_WATCHER', true),
'hidden' => [],
],
Watchers\ClientRequestWatcher::class => env('TELESCOPE_CLIENT_REQUEST_WATCHER', true),
Watchers\CommandWatcher::class => [
'enabled' => env('TELESCOPE_COMMAND_WATCHER', true),
'ignore' => [],
],
Watchers\DumpWatcher::class => [
'enabled' => env('TELESCOPE_DUMP_WATCHER', true),
'always' => env('TELESCOPE_DUMP_WATCHER_ALWAYS', false),
],
Watchers\EventWatcher::class => [
'enabled' => env('TELESCOPE_EVENT_WATCHER', true),
'ignore' => [],
],
Watchers\ExceptionWatcher::class => env('TELESCOPE_EXCEPTION_WATCHER', true),
Watchers\GateWatcher::class => [
'enabled' => env('TELESCOPE_GATE_WATCHER', true),
'ignore_abilities' => [],
'ignore_packages' => true,
'ignore_paths' => [],
],
Watchers\JobWatcher::class => env('TELESCOPE_JOB_WATCHER', true),
Watchers\LogWatcher::class => [
'enabled' => env('TELESCOPE_LOG_WATCHER', true),
'level' => 'error',
],
Watchers\MailWatcher::class => env('TELESCOPE_MAIL_WATCHER', true),
Watchers\ModelWatcher::class => [
'enabled' => env('TELESCOPE_MODEL_WATCHER', true),
'events' => ['eloquent.*'],
'hydrations' => true,
],
Watchers\NotificationWatcher::class => env('TELESCOPE_NOTIFICATION_WATCHER', true),
Watchers\QueryWatcher::class => [
'enabled' => env('TELESCOPE_QUERY_WATCHER', true),
'ignore_packages' => true,
'ignore_paths' => [],
'slow' => 100,
],
Watchers\RedisWatcher::class => env('TELESCOPE_REDIS_WATCHER', true),
Watchers\RequestWatcher::class => [
'enabled' => env('TELESCOPE_REQUEST_WATCHER', true),
'size_limit' => env('TELESCOPE_RESPONSE_SIZE_LIMIT', 64),
'ignore_http_methods' => [],
'ignore_status_codes' => [],
],
Watchers\ScheduleWatcher::class => env('TELESCOPE_SCHEDULE_WATCHER', true),
Watchers\ViewWatcher::class => env('TELESCOPE_VIEW_WATCHER', true),
],
];

36
config/view.php Normal file
View File

@ -0,0 +1,36 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| View Storage Paths
|--------------------------------------------------------------------------
|
| Most templating systems load templates from disk. Here you may specify
| an array of paths that should be checked for your views. Of course
| the usual Laravel view path has already been registered for you.
|
*/
'paths' => [
resource_path('views'),
],
/*
|--------------------------------------------------------------------------
| Compiled View Path
|--------------------------------------------------------------------------
|
| This option determines where all the compiled Blade templates will be
| stored for your application. Typically, this is within the storage
| directory. However, as usual, you are free to change this value.
|
*/
'compiled' => env(
'VIEW_COMPILED_PATH',
realpath(storage_path('framework/views'))
),
];