Skip to content

feat(model): let a bucket a browser calls admit its Applications' origins - #860

Draft
ExtraToast wants to merge 1 commit into
mainfrom
feat/bucket-cors
Draft

ExtraToast wants to merge 1 commit into
mainfrom
feat/bucket-cors

Conversation

@ExtraToast

@ExtraToast ExtraToast commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • A bucket entry on an edge into an object store can now be written as {name, cors}, naming the exposures of the consuming Application.
  • Each named exposure derives an origin. The bucket catalog carries the origins per bucket.
  • The catalog method sets one fixed CORS rule on each such bucket and clears it from every other bucket.
  • A cors entry that names no exposure fails with E_UNKNOWN_CORS_EXPOSURE.
  • Includes the ADR, spec and schema updates.

Validation

  • CI on this head passes.
  • The full npm run verify has not been run on this branch yet. Run it before marking ready.

Risk

  • Draft. Changes the bucket schema and the catalog's CORS handling: a bucket without cors now has any CORS rule cleared.

Links

Checklist

  • Labels match the change type and area
  • Project Dependency Dashboard #2 should pick this up automatically
  • Release Please and Renovate labels were not renamed or removed

…osures

A bucket entry on an edge into an object store may be written as {name, cors}, naming exposures of the consuming Application. Each derives one origin, the bucket catalog carries the origins per bucket, and the catalog method sets one fixed CORS rule on each such bucket and clears it from every other bucket of the catalog. A cors entry that names no exposure is E_UNKNOWN_CORS_EXPOSURE.

Closes #836
@ExtraToast

Copy link
Copy Markdown
Contributor Author

Provenance, moved here from the description. This branch was preserved in the machine-migration sweep of 2026-11-09:

  • Local worktree: worktrees/deploy-kit/outline-fix.
  • That worktree shows ~3,390 tracked files as deleted from disk. Nothing is modified or untracked there; the commit holds the full tree. Nothing was committed from the worktree, and the files were not restored.
  • Pushed during the machine-migration preservation sweep.

@ExtraToast ExtraToast added type: feature New user-facing or operator-facing capability. area: deploy homelab-deploy, deploy-v2, manifests, and rollout flow. component: config Configuration schema, defaults, or repo settings. labels Nov 9, 2026
@ExtraToast ExtraToast closed this Nov 10, 2026
@ExtraToast ExtraToast reopened this Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: deploy homelab-deploy, deploy-v2, manifests, and rollout flow. component: config Configuration schema, defaults, or repo settings. type: feature New user-facing or operator-facing capability.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Let a bucket a browser calls admit its Application's exposures

1 participant