Current state with latest updates

This commit is contained in:
2026-08-23 13:28:34 +02:00
parent 5af95f6533
commit f52879edbb
74 changed files with 5174 additions and 960 deletions
+30
View File
@@ -0,0 +1,30 @@
<?php
return [
'enabled' => env('SECURITY_REPORT_ENABLED', true),
'notify_email' => env('SECURITY_REPORT_NOTIFY_EMAIL', env('MAIL_FROM_ADDRESS')),
'scan' => [
'composer' => env('SECURITY_REPORT_SCAN_COMPOSER', true),
'npm' => env('SECURITY_REPORT_SCAN_NPM', true),
],
'store_raw' => env('SECURITY_REPORT_STORE_RAW', true),
'max_raw_kb' => (int) env('SECURITY_REPORT_MAX_RAW_KB', 512),
'fail_on' => [
'high' => env('SECURITY_REPORT_FAIL_ON_HIGH', false),
'critical' => env('SECURITY_REPORT_FAIL_ON_CRITICAL', false),
],
'commands' => [
'composer_audit' => ['composer', 'audit', '--format=json', '--locked'],
'composer_outdated' => ['composer', 'outdated', '--direct', '--format=json'],
'npm_audit' => ['npm', 'audit', '--json'],
'npm_outdated' => ['npm', 'outdated', '--json'],
],
'timeout_seconds' => 180,
];
+7 -1
View File
@@ -83,6 +83,12 @@ return [
'enabled' => [
'artworks',
'academy-pages',
'academy-courses',
'academy-lessons',
'academy-prompts',
'academy-packs',
'academy-challenges',
'users',
'tags',
'categories',
@@ -114,4 +120,4 @@ return [
'legal-privacy',
'legal-cookies',
],
];
];
+13
View File
@@ -83,6 +83,19 @@ return [
'connect_timeout_seconds' => (int) env('VISION_VECTOR_GATEWAY_CONNECT_TIMEOUT', 5),
'retries' => (int) env('VISION_VECTOR_GATEWAY_RETRIES', 1),
'retry_delay_ms' => (int) env('VISION_VECTOR_GATEWAY_RETRY_DELAY_MS', 250),
// Tighter budget for the read/search path, which runs synchronously inside
// web requests (unlike upsert/delete, which only run from queued/console
// indexing jobs). Keeps a slow or unreachable gateway from pinning FPM
// workers for 20s+ per request.
'search_timeout_seconds' => (int) env('VISION_VECTOR_GATEWAY_SEARCH_TIMEOUT', 6),
'search_connect_timeout_seconds' => (int) env('VISION_VECTOR_GATEWAY_SEARCH_CONNECT_TIMEOUT', 2),
'search_retries' => (int) env('VISION_VECTOR_GATEWAY_SEARCH_RETRIES', 0),
// Once a search call fails, stop attempting new ones for this many seconds
// (circuit breaker) — avoids every concurrent request for a different
// artwork independently blocking on the same downed/slow gateway.
'circuit_breaker_seconds' => (int) env('VISION_VECTOR_GATEWAY_CIRCUIT_SECONDS', 30),
'upsert_endpoint' => env('VISION_VECTOR_GATEWAY_UPSERT_ENDPOINT', '/vectors/upsert'),
'upsert_file_endpoint' => env('VISION_VECTOR_GATEWAY_UPSERT_FILE_ENDPOINT', '/vectors/upsert/file'),
'search_endpoint' => env('VISION_VECTOR_GATEWAY_SEARCH_ENDPOINT', '/vectors/search'),