124 lines
4.3 KiB
PHP
124 lines
4.3 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\ServiceProvider;
|
|
|
|
return [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Default Database Connection Name
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
'default' => env('DB_CONNECTION', 'pgsql'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Database Connections
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
'connections' => [
|
|
|
|
'pgsql' => [
|
|
'driver' => 'pgsql',
|
|
'url' => env('DB_URL'),
|
|
'host' => env('DB_HOST', '127.0.0.1'),
|
|
'port' => env('DB_PORT', '5432'),
|
|
'database' => env('DB_DATABASE', 'wasl'),
|
|
'username' => env('DB_USERNAME', 'wasl'),
|
|
'password' => env('DB_PASSWORD', ''),
|
|
'charset' => 'utf8',
|
|
'prefix' => '',
|
|
'prefix_indexes' => true,
|
|
'search_path' => 'public',
|
|
'sslmode' => env('DB_SSL_MODE', 'prefer'),
|
|
'sslcert' => env('DB_SSL_CERT'),
|
|
'sslkey' => env('DB_SSL_KEY'),
|
|
'sslrootcert' => env('DB_SSL_ROOT_CERT'),
|
|
'schema' => 'public',
|
|
'engine' => null,
|
|
],
|
|
|
|
'testing' => [
|
|
'driver' => 'pgsql',
|
|
'host' => env('DB_TEST_HOST', '127.0.0.1'),
|
|
'port' => env('DB_TEST_PORT', '5432'),
|
|
'database' => env('DB_TEST_DATABASE', 'wasl_testing'),
|
|
'username' => env('DB_TEST_USERNAME', 'wasl'),
|
|
'password' => env('DB_TEST_PASSWORD', ''),
|
|
'charset' => 'utf8',
|
|
'search_path' => 'public',
|
|
],
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Migration Repository Table
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
'migrations' => [
|
|
'table' => 'migrations',
|
|
'update_date_on_publish' => true,
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Redis Databases / Connection
|
|
| Separate logical DBs isolate concerns: cache, queue, idempotency,
|
|
| throttling, sessions — so a flush of one never impacts the others.
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
'redis' => [
|
|
|
|
'client' => env('REDIS_CLIENT', 'predis'),
|
|
|
|
'options' => [
|
|
'cluster' => env('REDIS_CLUSTER', 'redis'),
|
|
'prefix' => env('REDIS_PREFIX', 'wasl_'),
|
|
'persistent' => env('REDIS_PERSISTENT', false),
|
|
],
|
|
|
|
'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'),
|
|
],
|
|
|
|
// Separate DB for idempotency keys (short TTL)
|
|
'idempotency' => [
|
|
'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_IDEMPOTENCY_DB', '2'),
|
|
],
|
|
|
|
// Separate DB for rate limiting / throttling
|
|
'throttle' => [
|
|
'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_THROTTLE_DB', '3'),
|
|
],
|
|
],
|
|
|
|
];
|