KamoCRM

Resources upload to a real bucket and stream back through the app

FixKBService
Expédié
8 novembre 2026 à 02:36 UTC
Auteur
Kamo
Commit
33e7e17

The resource library has never stored a file. KbMediaService wrote to the constant bucket "kb" — two characters, below S3's three-character minimum — so minio-java refused every put and every presign before a byte left the pod. kamo.minio.bucket was in the ConfigMap all along; nothing read it. - Bucket comes from kamo.minio.bucket (now kb-resources), validated against S3 naming with a safe default; ensureBucketExists still creates it. - The KB MinIO client signs with the site region (us-west-ca-s-1), as the shared client does; minio-java's us-east-1 default is rejected. - New GET /api/kb/media/{id}/content streams the bytes from MinIO (no byte[]), single Range -> 206, 416, HEAD, ETag/304, private caching, nosniff + sandbox CSP, inline only for raster images/PDF/audio/video. Same access as before: own org, else platform help this reader may read, then the Antivirus verdict (423 ANTIVIRUS_BLOCKED / ANTIVIRUS_CHECKING). - presignedUrl (list, batch, single, platform help) now carries that same-origin path instead of a signature for the in-cluster MinIO host no browser can resolve. Locked or missing objects still get no URL.

Tous les changements

Comme ce que vous voyez l'expédition?

Commencez avec le plan gratuit et lisez à nouveau cette page dans un mois, puis passez à l’abonnement payant pour bénéficier de toutes les fonctionnalités.

Commencez gratuitement pour toujoursVoir la tarification