janelia-flyem / dvid

Distributed, Versioned, Image-oriented Dataservice
http://dvid.io
Other
197 stars 33 forks source link

Feature Request: Expose deletion endpoints for the brave #341

Open pgunn opened 4 years ago

pgunn commented 4 years ago

Right now some kinds of deletions need to happen using the commandline tool. This feature request is to offer an alternative

Specifically: 1) Add a configfile option to enable deletion endpoints 2) Optionally require use of a password (or passwordfile) in the configfile, a kerberos token, or some other kind of authentication for these endpoints 3) With that token/password/whatever (if applicable) passed along, allow remote instance/repo deletion and other dangerous operations

(If you prefer the comfort in not having APIs for these things so you know for sure that no bugs in the code would allow these kinds of operations to happen remotely, I get it and that might be a reason to reject this feature request)

DocSavage commented 4 years ago

Very basic authentication was added recently and for the upcoming v1.0 dvid that will be expanded to include authorization. When that happens, we'll be able to add endpoints for deletion. Also, when the backend is simplified to use the new DAGStore, there will be an option to actually delete appropriate directories without even going through endpoints, for those that go through the documentation on how the data is organized.

xiuliren commented 2 years ago

It would be nice to be able to delete the label indices and label map if possible. I have a related issue of nuclease here: https://github.com/janelia-flyem/neuclease/issues/11

DocSavage commented 2 years ago

@jingpengw This issue is about a repo-level request deleting a data instance, and that may involve multiple types of data associated with that single data instance. In your case, you want to delete one aspect of a labelmap instance which should be handled at the datatype interface level. You've already found the workaround using an endpoint at that level. If you need a "delete all label indices" command, let me know and I can add that fairly quickly as a command line.

xiuliren commented 2 years ago

Yup, deleting all label indices is exactly what I need

Sent from my iPhone

On May 21, 2022, at 13:26, Bill Katz @.***> wrote:

 @jingpengw This issue is about a repo-level request deleting a data instance, and that may involve multiple types of data associated with that single data instance. In your case, you want to delete one aspect of a labelmap instance which should be handled at the datatype interface level. You've already found the workaround using an endpoint at that level. If you need a "delete all label indices" command, let me know and I can add that fairly quickly as a command line.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

xiuliren commented 1 year ago

I am also looking for the function to delete some instances, such as mesh_cache.