edge / account

Account portal for managing Edge services
Other
3 stars 1 forks source link

Storage #223

Closed willgarrett64 closed 11 months ago

willgarrett64 commented 1 year ago

Copying from Discord:

1) /storage I imagine being similar to either /dns or /cdn. It depends on the complexity of the deploy (as in whether it requires its own page) image image

2) /storage/:id similar to /dns/:id, with two tabs: Files and Configure Files:

Configure:

This is just the idea for now. Depending on complexity of Storage, and what other features it needs, we may want more tabs (like CDN/Servers) for things like Metrics, Destroy, etc image image

Questions/ideas/thoughts:

Regarding the CDN<->Storage link, I think it's easy enough to add the conditional so that the CDN interface is different for those with beta access. However, as the Content Delivery tab doesn't have a (beta) flag we would need to make it clear somewhere on the CDN page that the drop-down list of storages (for cdn origin) is a beta feature. That being said, I agree that maybe it's best that all the config is done from within the Storage page for now.

We will also need to make it clear the costs somewhere, but I'll need to know more of the pricing structure first. If it fits, maybe we can do another "estimated costs" slider like with CDN deploy (see screenshot).

willgarrett64 commented 1 year ago

@adamkdean what I would like from you is a bit more technical detail regarding the config. I think I can get started on a lot of this tomorrow though until you get that over to me.

adamkdean commented 1 year ago

These are some great ideas. I’ll have a think on it tonight and chat with you tomorrow.

On Tue, 29 Aug 2023 at 18:16, Will Garrett @.***> wrote:

@adamkdean https://github.com/adamkdean what I would like from you is a bit more technical detail regarding the config. I think I can get started on a lot of this tomorrow though until you get that over to me.

— Reply to this email directly, view it on GitHub https://github.com/edge/account/issues/223#issuecomment-1697844828, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMQIZ4KJJBKOHF2XKOYA5DXXYPW5ANCNFSM6AAAAAA4DIYUD4 . You are receiving this because you were mentioned.Message ID: @.***>

-- Adam K Dean CTO / Edge Network

adamkdean commented 1 year ago

Config wise, as discussed, a default option and a custom JSON option for now. Only JSON validation check to be done is to check it's a valid JSON object.

image

adamkdean commented 1 year ago

Do we want a feature to migrate/copy files to/from another storage instance? (Maybe one for the future)

Not right now

Will files be split into directories or just a flat structure?

Directories will be needed yeah

We could add a drag/drop for file uploads.

Good idea, I was thinking this, similar to how easy imgur is

Do we think it would be cleaner to have a table for files rather than list items like in the above screenshot (dns records tab)

Table (as discussed today) would be best for this

willgarrett64 commented 1 year ago

Regarding files we will have a file explorer that looks something like this: image

Plus an option to drag and drop files (there will need to be somewhere in the UI saying this is possible, but that's TBD) image

File data structure could be like one of two following examples:

// flat
[
  { "filename": "photos/1.jpg", "size": 213490 },
  { "filename": "photos/2.jpg", "size": 213490 },
  { "filename": "photos/3.jpg", "size": 213490 },
  { "filename": "docs/letter.pdf", "size": 213490 },
  { "filename": "something.doc", "size": 213490 }
]

// nested
[
  {
    "directory": "photos",
    "children": [
      { "filename": "1.jpg", "size": 213490 },
      { "filename": "2.jpg", "size": 213490 },
      { "filename": "3.jpg", "size": 213490 }
    ]
  },
  {
    "directory": "docs",
    "children": [
      { "filename": "docs/letter.pdf", "size": 213490 }
    ]
  },
  { "filename": "something.doc", "size": 213490 }
]

I think something more like the second is better as it allows for empty directories, rather than UI determining directory from the file name.

willgarrett64 commented 1 year ago

Note to self (and to @adamkdean), will be good to have created and updated timestamps for files/directories (uploaded / last modified).

willgarrett64 commented 1 year ago

Some additional features to discuss, maybe for a later stage and not for initial beta launch)

willgarrett64 commented 1 year ago

Add API key:

willgarrett64 commented 1 year ago

Some notes on how the multi-select of items (files/dirs) works