Repository navigation
Migrate main Supabase deployments to the upstream TLS fix - #1533
Merged
Merged
Conversation
Contributor
|
🪓 PR closed, deleted preview. |
JackWilb
marked this pull request as ready for review
October 23, 2026 01:08
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Released self-hosted deployments use vulnerable Supabase Auth and an aging PG15/S3 stack. Carry the verified upstream deployment and migration merged into
devin #1508 (09b4294f) tomainfor a bug-fix release, including Supabase's eMudhra TLS fix.Architecture
The Supabase support files match #1508 at
5dc9fc5b53e9716efb8735ba5744e707bf5b9d81. Deployments use the pinned officialself-hosted/v0.8.3bundle outside the application checkout: Postgres 17, Envoy and Storage 1.81 with local file storage. A mandatory Compose override pins upstream Authv2.198.0-rc.25by digest, with Go 1.27.3. The bundle's default stable Auth predates the TLS fix. No custom Auth build remains.The migration exports all live objects through the original API, checks their checksums/layout before the database upgrade, preserves database object records, and installs versioned files with their HTTP metadata. A guarded copy of the pinned upstream upgrade script preserves the correct encryption volume and saved Auth/GitHub overrides, and stops on required migration failures. Existing secrets, sessions, application data, bucket settings and access policies are retained.
The remaining changes add migration tests to CI and link the canonical instructions. The live browser test uses main's existing unauthorized-access UI before authenticating its retained Designer fixture. Application source and dependencies are unchanged.
User-facing impact
Existing bundled MinIO/pgsty operators must follow MIGRATION.md during a maintenance window. New installations use README.md. A checkout update alone does not change running Supabase containers. Hosted Supabase users do not need this migration.
Validation
Synthetic fixtures used Docker Desktop's Linux VM, Linux-volume paths and native Auth/Postgres images. Full container recreation and an actual Linux VM reboot passed, with all 11 services recovering healthy, 29 current objects and database metadata preserved, matching application/policy/Vault snapshots and working existing sessions. Hardware recording was not exercised. Original MinIO used its cached official server image and a checksum-verified official released client binary packaged locally because the client registry image was unavailable.
Risk and rollout
It is a maintenance-window migration, not an in-place image-tag swap. Preserve coordinated off-deployment database/object/encryption/configuration backups and exact old object-store images; rehearse restoration first. Do not regenerate keys or run fresh setup SQL on an existing deployment.
Storage's schema changes are one-way, so rollback requires coordinated backups and loses later writes. Restoring the old Auth requires the documented temporary certificate mitigation before reopening traffic. File storage requires Linux extended attributes; custom extensions/databases/S3 layouts need separate rehearsal. Verify real GitHub callback and SMTP settings before reopening the deployment. Auth is an explicit release-candidate override until a patched stable replacement is reviewed.