Концепції, цінність і типові сценарії
Концепції, цінність і типові сценарії
Preparing Ring content
Preparing Ring content
Preparing Ring content
Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Завантаження описано в RingFileBase; ця сторінка охоплює публічну доставку. Публічні галереї Ring File Cabinet (/{username}/img) віддають елементи з visibility=public через стабільні CDN URL /files/{uuid}.
Ring CDN — це шлях читання для об’єктів, які зберігає RingFileBase: edge на NGINX (ring-filebase-cdn), що проксує GET /files/<key> до MinIO (або RGW) із заголовками кешування. Браузерам і crawler-ам не потрібні облікові дані MinIO. Ключі містять оригінали (/files/{uuid}) і похідні (/files/{uuid}_v_thumb.webp, /files/{uuid}_v_video_frame_0_480.webp, …) — та сама схема {fileId}_v_*, що й у RingFileBase.
| Шар | Компонент | Namespace (типовий) |
|---|---|---|
| Edge | ring-filebase-cdn Deployment + Ingress | ring-filebase |
| Origin | minio-service | ring-filebase-minio |
| Writer | ring-filebase-api | ring-filebase |
Публічні хости мають формат cdn.<clone-domain> (приклади в empire: cdn.ring-platform.org, cdn.greenfood.live, cdn.vikka.ua).
Користувачі та пошукові системи завантажують фото продуктів, аватари й згенеровані медіа зі стабільного CDN-хоста, а не з pod-ів вашого застосунку. Це звільняє Next.js від великих статичних payload-ів, дає змогу агресивно кешувати дані й розміщувати edge ближче до учасників (US / EU / UA) без змін у коді застосунку.
Зіставте cdn.yourdomain → ваш bucket MinIO через Ingress + NGINX map $host $target_bucket.
Збережіть зображення продуктів один раз через RingFileBase; віддавайте їх безстроково з CDN URL, збережених у Postgres.
Відібрані елементи публічної галереї вбудовують CDN /files/{uuid} (+ похідні ) — у поточному адаптері немає підписаних URL із HMAC/TTL.
Передумова: автентифіковані завантаження та file() / RingBaseAdapter перед публічним читанням CDN.
Той самий процес: кураторство галереї учасника → публічний /{username}/img через CDN /files/{uuid}; приватні байти використовують проксі завантаження ACL.
Залежність: RINGBASE_PUBLIC_URL і env, пов’язані зі сховищем, для клонів.
Див. також: кешування та edge-міркування для клонів.
Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Завантаження описано в RingFileBase; ця сторінка охоплює публічну доставку. Публічні галереї Ring File Cabinet (/{username}/img) віддають елементи з visibility=public через стабільні CDN URL /files/{uuid}.
Ring CDN — це шлях читання для об’єктів, які зберігає RingFileBase: edge на NGINX (ring-filebase-cdn), що проксує GET /files/<key> до MinIO (або RGW) із заголовками кешування. Браузерам і crawler-ам не потрібні облікові дані MinIO. Ключі містять оригінали (/files/{uuid}) і похідні (/files/{uuid}_v_thumb.webp, /files/{uuid}_v_video_frame_0_480.webp, …) — та сама схема {fileId}_v_*, що й у RingFileBase.
| Шар | Компонент | Namespace (типовий) |
|---|---|---|
| Edge | ring-filebase-cdn Deployment + Ingress | ring-filebase |
| Origin | minio-service | ring-filebase-minio |
| Writer | ring-filebase-api | ring-filebase |
Публічні хости мають формат cdn.<clone-domain> (приклади в empire: cdn.ring-platform.org, cdn.greenfood.live, cdn.vikka.ua).
Користувачі та пошукові системи завантажують фото продуктів, аватари й згенеровані медіа зі стабільного CDN-хоста, а не з pod-ів вашого застосунку. Це звільняє Next.js від великих статичних payload-ів, дає змогу агресивно кешувати дані й розміщувати edge ближче до учасників (US / EU / UA) без змін у коді застосунку.
Зіставте cdn.yourdomain → ваш bucket MinIO через Ingress + NGINX map $host $target_bucket.
Збережіть зображення продуктів один раз через RingFileBase; віддавайте їх безстроково з CDN URL, збережених у Postgres.
Відібрані елементи публічної галереї вбудовують CDN /files/{uuid} (+ похідні ) — у поточному адаптері немає підписаних URL із HMAC/TTL.
Передумова: автентифіковані завантаження та file() / RingBaseAdapter перед публічним читанням CDN.
Той самий процес: кураторство галереї учасника → публічний /{username}/img через CDN /files/{uuid}; приватні байти використовують проксі завантаження ACL.
Залежність: RINGBASE_PUBLIC_URL і env, пов’язані зі сховищем, для клонів.
Див. також: кешування та edge-міркування для клонів.
Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Завантаження описано в RingFileBase; ця сторінка охоплює публічну доставку. Публічні галереї Ring File Cabinet (/{username}/img) віддають елементи з visibility=public через стабільні CDN URL /files/{uuid}.
Ring CDN — це шлях читання для об’єктів, які зберігає RingFileBase: edge на NGINX (ring-filebase-cdn), що проксує GET /files/<key> до MinIO (або RGW) із заголовками кешування. Браузерам і crawler-ам не потрібні облікові дані MinIO. Ключі містять оригінали (/files/{uuid}) і похідні (/files/{uuid}_v_thumb.webp, /files/{uuid}_v_video_frame_0_480.webp, …) — та сама схема {fileId}_v_*, що й у RingFileBase.
| Шар | Компонент | Namespace (типовий) |
|---|---|---|
| Edge | ring-filebase-cdn Deployment + Ingress | ring-filebase |
| Origin | minio-service | ring-filebase-minio |
| Writer | ring-filebase-api | ring-filebase |
Публічні хости мають формат cdn.<clone-domain> (приклади в empire: cdn.ring-platform.org, cdn.greenfood.live, cdn.vikka.ua).
Користувачі та пошукові системи завантажують фото продуктів, аватари й згенеровані медіа зі стабільного CDN-хоста, а не з pod-ів вашого застосунку. Це звільняє Next.js від великих статичних payload-ів, дає змогу агресивно кешувати дані й розміщувати edge ближче до учасників (US / EU / UA) без змін у коді застосунку.
Зіставте cdn.yourdomain → ваш bucket MinIO через Ingress + NGINX map $host $target_bucket.
Збережіть зображення продуктів один раз через RingFileBase; віддавайте їх безстроково з CDN URL, збережених у Postgres.
Відібрані елементи публічної галереї вбудовують CDN /files/{uuid} (+ похідні ) — у поточному адаптері немає підписаних URL із HMAC/TTL.
Передумова: автентифіковані завантаження та file() / RingBaseAdapter перед публічним читанням CDN.
Той самий процес: кураторство галереї учасника → публічний /{username}/img через CDN /files/{uuid}; приватні байти використовують проксі завантаження ACL.
Залежність: RINGBASE_PUBLIC_URL і env, пов’язані зі сховищем, для клонів.
Див. також: кешування та edge-міркування для клонів.
_v_*CDN — це кеш: створюйте резервну копію bucket MinIO/RGW, а не лише NGINX PVC.
cdn.<domain> → IP-адреса(и) cluster ingress.RINGBASE_PUBLIC_URL=https://cdn.<domain>./files/... повертає 200 у браузері.| Host | Bucket |
|---|---|
cdn.ring-platform.org | ring-filebase |
cdn.greenfood.live | ring-filebase |
cdn.vikka.ua | ring-vikka-ua |
Ключі об’єктів — це все, що записав ring-filebase-api (деякі розгорнуті образи API досі додають до ключів префікс сегмента проєкту, наприклад ring-greenfood-live/<uuid>). Шлях CDN завжди має вигляд /files/ + цей ключ.
| Змінна | Призначення |
|---|---|
RINGBASE_PUBLIC_URL | Абсолютний origin, вбудований у відповіді завантаження (https://cdn.<domain>) |
REFMAGIC_CDN_INTERNAL_URL | Необов’язкове внутрішньокластерне отримання (http://ring-filebase-cdn.ring-filebase.svc.cluster.local) |
CDN_URL | Необов’язковий застарілий/закоментований прапорець у env.local.template — для RingFileBase надавайте перевагу RINGBASE_PUBLIC_URL |
Ringdom працює з CDN edge як з географічним набором (описано в AI-CONTEXT cdn-edge-architecture): US (k3s-1 / Ashburn), EU (Finland), UA (k8s). У кожній зоні працюють локальні MinIO + CDN proxy; DNS може публікувати кілька A/AAAA-записів для cdn.*. Ваш клон може використовувати лише одну зону — все одно дотримуйтеся того самого контракту /files/.
Об’єкти MinIO часто завантажуються з приватним ACL. CDN proxy потребує анонімного GetObject (або еквівалентного підписаного fetch) для bucket, інакше браузери побачать 403 XML від MinIO через NGINX.
Застосуйте ConfigMap-и CDN, Deployment, Service та Ingress cdn.<domain> із TLS від cert-manager. Переконайтеся, що server_name містить ваш хост.
Задайте RINGBASE_PUBLIC_URL=https://cdn.<domain>, щоб RingBaseAdapter / відповіді API повертали CDN URL. Після змін ConfigMap перезапустіть Ring Deployment.
Очікуйте 200. 403 → політика bucket / ACL. 404 → неправильне зіставлення bucket або префікс ключа.
/files/ — завантаження проходять через RingFileBase API з Bearer auth.minio-service як ClusterIP./files/<id> зменшують можливість переліку директорій порівняно з деревами папок за датами (див. нотатки з посилення безпеки RingFileBase в AI-CONTEXT)._v_*CDN — це кеш: створюйте резервну копію bucket MinIO/RGW, а не лише NGINX PVC.
cdn.<domain> → IP-адреса(и) cluster ingress.RINGBASE_PUBLIC_URL=https://cdn.<domain>./files/... повертає 200 у браузері.| Host | Bucket |
|---|---|
cdn.ring-platform.org | ring-filebase |
cdn.greenfood.live | ring-filebase |
cdn.vikka.ua | ring-vikka-ua |
Ключі об’єктів — це все, що записав ring-filebase-api (деякі розгорнуті образи API досі додають до ключів префікс сегмента проєкту, наприклад ring-greenfood-live/<uuid>). Шлях CDN завжди має вигляд /files/ + цей ключ.
| Змінна | Призначення |
|---|---|
RINGBASE_PUBLIC_URL | Абсолютний origin, вбудований у відповіді завантаження (https://cdn.<domain>) |
REFMAGIC_CDN_INTERNAL_URL | Необов’язкове внутрішньокластерне отримання (http://ring-filebase-cdn.ring-filebase.svc.cluster.local) |
CDN_URL | Необов’язковий застарілий/закоментований прапорець у env.local.template — для RingFileBase надавайте перевагу RINGBASE_PUBLIC_URL |
Ringdom працює з CDN edge як з географічним набором (описано в AI-CONTEXT cdn-edge-architecture): US (k3s-1 / Ashburn), EU (Finland), UA (k8s). У кожній зоні працюють локальні MinIO + CDN proxy; DNS може публікувати кілька A/AAAA-записів для cdn.*. Ваш клон може використовувати лише одну зону — все одно дотримуйтеся того самого контракту /files/.
Об’єкти MinIO часто завантажуються з приватним ACL. CDN proxy потребує анонімного GetObject (або еквівалентного підписаного fetch) для bucket, інакше браузери побачать 403 XML від MinIO через NGINX.
Застосуйте ConfigMap-и CDN, Deployment, Service та Ingress cdn.<domain> із TLS від cert-manager. Переконайтеся, що server_name містить ваш хост.
Задайте RINGBASE_PUBLIC_URL=https://cdn.<domain>, щоб RingBaseAdapter / відповіді API повертали CDN URL. Після змін ConfigMap перезапустіть Ring Deployment.
Очікуйте 200. 403 → політика bucket / ACL. 404 → неправильне зіставлення bucket або префікс ключа.
/files/ — завантаження проходять через RingFileBase API з Bearer auth.minio-service як ClusterIP./files/<id> зменшують можливість переліку директорій порівняно з деревами папок за датами (див. нотатки з посилення безпеки RingFileBase в AI-CONTEXT)._v_*CDN — це кеш: створюйте резервну копію bucket MinIO/RGW, а не лише NGINX PVC.
cdn.<domain> → IP-адреса(и) cluster ingress.RINGBASE_PUBLIC_URL=https://cdn.<domain>./files/... повертає 200 у браузері.| Host | Bucket |
|---|---|
cdn.ring-platform.org | ring-filebase |
cdn.greenfood.live | ring-filebase |
cdn.vikka.ua | ring-vikka-ua |
Ключі об’єктів — це все, що записав ring-filebase-api (деякі розгорнуті образи API досі додають до ключів префікс сегмента проєкту, наприклад ring-greenfood-live/<uuid>). Шлях CDN завжди має вигляд /files/ + цей ключ.
| Змінна | Призначення |
|---|---|
RINGBASE_PUBLIC_URL | Абсолютний origin, вбудований у відповіді завантаження (https://cdn.<domain>) |
REFMAGIC_CDN_INTERNAL_URL | Необов’язкове внутрішньокластерне отримання (http://ring-filebase-cdn.ring-filebase.svc.cluster.local) |
CDN_URL | Необов’язковий застарілий/закоментований прапорець у env.local.template — для RingFileBase надавайте перевагу RINGBASE_PUBLIC_URL |
Ringdom працює з CDN edge як з географічним набором (описано в AI-CONTEXT cdn-edge-architecture): US (k3s-1 / Ashburn), EU (Finland), UA (k8s). У кожній зоні працюють локальні MinIO + CDN proxy; DNS може публікувати кілька A/AAAA-записів для cdn.*. Ваш клон може використовувати лише одну зону — все одно дотримуйтеся того самого контракту /files/.
Об’єкти MinIO часто завантажуються з приватним ACL. CDN proxy потребує анонімного GetObject (або еквівалентного підписаного fetch) для bucket, інакше браузери побачать 403 XML від MinIO через NGINX.
Застосуйте ConfigMap-и CDN, Deployment, Service та Ingress cdn.<domain> із TLS від cert-manager. Переконайтеся, що server_name містить ваш хост.
Задайте RINGBASE_PUBLIC_URL=https://cdn.<domain>, щоб RingBaseAdapter / відповіді API повертали CDN URL. Після змін ConfigMap перезапустіть Ring Deployment.
Очікуйте 200. 403 → політика bucket / ACL. 404 → неправильне зіставлення bucket або префікс ключа.
/files/ — завантаження проходять через RingFileBase API з Bearer auth.minio-service як ClusterIP./files/<id> зменшують можливість переліку директорій порівняно з деревами папок за датами (див. нотатки з посилення безпеки RingFileBase в AI-CONTEXT).