Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define/maintain centralized registry of instances #1522

Open
yarikoptic opened this issue Nov 12, 2024 · 2 comments
Open

Define/maintain centralized registry of instances #1522

yarikoptic opened this issue Nov 12, 2024 · 2 comments

Comments

@yarikoptic
Copy link
Member

Inspired by

I wonder if to avoid even the need to modify dandi-cli to add a new instance, we could/should define a centralized registry of instances, e.g. in this repo, and make dandi-cli fetch up-to-date version once in a while?

we could define a versioned schema for the records to verify, and if anything goes wrong -- use "hardcoded" in the code copy.

WDYT @aaronkanzer @kabilar @jwodder

In the longer run we might also allow to register additional instances locally, hence also filed

@satra
Copy link
Member

satra commented Nov 12, 2024

indeed an instance could register itself with some service (or json file to start with).

there are many local instances (docker, testing, etc.,.) that would need some exceptions or other approach to register/use

perhaps with this thought we can also consider whether an instance allows certain operations (e.g. publishing), which would disable some components of the server. ideally this should be configurable and configured on the server side in the running instance and fetched through the API.

@aaronkanzer
Copy link
Member

@yarikoptic I like the idea you have here -- I think the way the code is, extensibility in the way you are suggesting would be perfectly fine and doable

The one mini-pain point I'll throw out there is all the versioning validation across dandi-cli right now -- albeit it is appropriate to ensure schema uniformity, we'd need to abstract different instances being able to define different schemas and versions a bit more -- happy to provide code references, but a quick grep (or the code commented out in my PR) shows some of the roadblocks.

There is also the overhead of maintaining validation against the etelemetry server -- it works but my brain hurts a bit keeping track of all these things, unless the espresso is strong enough 😄

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

No branches or pull requests

3 participants