OPS52 — Migrar a media de produção do Vercel Blob para o Garage S3 #3

Closed
opened 2026-08-17 00:53:44 +00:00 by fsolla · 2 comments
Owner
id depends serializes priority model
OPS52
OPS50
OPS51
P2 cursor-grok-4.5-medium

Plano: docs/plans/ops52-blob-vercel-para-garage.md

--- id: OPS52 depends: [OPS50, OPS51] serializes: [] priority: P2 model: cursor-grok-4.5-medium --- Plano: [`docs/plans/ops52-blob-vercel-para-garage.md`](docs/plans/ops52-blob-vercel-para-garage.md)
fsolla added the
blocked
kind:chore
prio:P2
labels 2026-08-17 00:54:08 +00:00
fsolla added
ready
and removed
blocked
labels 2026-08-17 01:05:27 +00:00
fsolla added
in-progress
and removed
ready
labels 2026-08-18 00:15:28 +00:00
Author
Owner

Claimed by agent run at 2026-08-18T00:15:28.156Z. Lock otimista: outro claim deve falhar e re-rodar pnpm agent:claim.

Claimed by agent run at 2026-08-18T00:15:28.156Z. Lock otimista: outro claim deve falhar e re-rodar `pnpm agent:claim`.
Author
Owner

Entregue e mergeada em main (PR #27, 2026-08-18) + deployada no homeserver (container teqo-1313 na imagem 54058da0, healthy).

  • Storage da media migrado do Vercel Blob para o Garage S3 (@payloadcms/storage-s3); bucket teqo-media privado — o Payload proxy serve /api/media/file/... (mesmo contrato de URL das 40 rows).
  • Fail-closed: S3_* parcial → boot abortado; sem S3_* → storage local (dev/test).
  • Seed de posts idempotente sem o pre-delete do Blob.
  • Runbook aplicado: as 5 envs S3_* no ~/stack/teqo-1313.env (endpoint tailnet, key teqo-key).
  • Prova real: PUT/GET/DELETE via SDK + media criada pelo Payload → GET /api/media/file/... 200; site/admin 200 pós-deploy.
  • Próximo passo: Issue #10 (OPS52-media) restaura os 40 arquivos (fontes candidatas: Blob store/seeds) usando este storage.
Entregue e mergeada em main (PR #27, 2026-08-18) + deployada no homeserver (container teqo-1313 na imagem `54058da0`, healthy). - Storage da `media` migrado do Vercel Blob para o Garage S3 (`@payloadcms/storage-s3`); bucket `teqo-media` privado — o Payload proxy serve `/api/media/file/...` (mesmo contrato de URL das 40 rows). - Fail-closed: `S3_*` parcial → boot abortado; sem `S3_*` → storage local (dev/test). - Seed de posts idempotente sem o pre-delete do Blob. - Runbook aplicado: as 5 envs `S3_*` no `~/stack/teqo-1313.env` (endpoint tailnet, key `teqo-key`). - Prova real: PUT/GET/DELETE via SDK + media criada pelo Payload → `GET /api/media/file/...` 200; site/admin 200 pós-deploy. - Próximo passo: Issue #10 (OPS52-media) restaura os 40 arquivos (fontes candidatas: Blob store/seeds) usando este storage.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: fsolla/teqo#3
No description provided.