Skip to content

feat: Object stores in the dashboard - #99

Merged
nfebe merged 9 commits into
mainfrom
feat/object-stores
Aug 3, 2026
Merged

feat: Object stores in the dashboard#99
nfebe merged 9 commits into
mainfrom
feat/object-stores

Conversation

@nfebe

@nfebe nfebe commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

The dashboard for object stores (agent side: flatrun/agent#199).

From the Object Stores page you can deploy a self-hosted store or connect an existing deployment as one. Opening a store browses it:

  • Its buckets, with object counts and sizes.
  • A bucket's objects, with upload, download, inline previews (images and text), and delete. Large buckets page in with load-more.
  • Attach a store to a deployment ("use in app"), and replicate it to another store.

Delete is guarded: it confirms first, and the backup bucket's objects can't be deleted from the browser. Separately, Marketplace installs now open the standard deployment flow instead of a one-field modal, so an app gets the same name, domain, SSL, and database options as deploying anywhere else.

Depends on flatrun/agent#199 for the endpoints.

nfebe added 9 commits August 3, 2026 10:51
The Object Stores page can now deploy a self-hosted store or connect an existing
deployment as one, and shows each connected store. Deploying an object store
picks from the available store templates and optionally auto-registers the
result. Marketplace installs now open the full deployment flow so an app gets the
same name, domain, SSL, and database options as deploying from anywhere else.
Clicking a connected store opens a browser listing its objects with size and
modified time, and supports uploading, downloading, and deleting them.
Each connected store gains a "use in app" action that picks a deployment and a
variable prefix, then injects the store's connection details into it and reports
the variables written.
Each connected store gains a replicate action that picks a target store, runs the
copy, and reports how many objects were copied, skipped, and failed.
Opening a store now navigates to its own page showing the store's details, its
objects, and the use-in-app and replicate actions, instead of a cramped modal.
Object uploads inherited the client's default JSON content type, so the file was
never received. They are now sent as multipart form data.
Deleting an object now asks for confirmation instead of removing it on the first
click.
The store page now lists the server's buckets and lets you create and switch
between them, browsing and uploading within the selected one. The backup bucket
is marked and its objects cannot be deleted. Image and text objects can be
previewed inline instead of only downloaded.
The store page now lists its buckets with object counts and sizes and lets you
create or delete buckets. Opening a bucket shows its files on their own page with
a breadcrumb, upload, previews, delete, and load-more paging for large buckets.
@nfebe
nfebe merged commit 8850758 into main Aug 3, 2026
5 checks passed
@nfebe
nfebe deleted the feat/object-stores branch August 3, 2026 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant