InseeFrLab / onyxia

🔬 Data science environment for k8s
https://onyxia.sh
MIT License
440 stars 79 forks source link

Importable and exportable service configuration #844

Open nitreb opened 1 month ago

nitreb commented 1 month ago

Hi,

We have some users of our instance asking to be able to fill the service configuration fields using a config file (JSON or YAML). It can be by uploading a file directly or pointing to the file URL.

With this approach, it seems also relevant to enable the configuration file export.

Does that sound relevant to you? If yes, then maybe it makes sense to use the configuration stored in vault, and JSON might be the easiest format to start with.

What do you guys think?

garronej commented 1 month ago

Hello @nitreb,

The beauty of onyxia is that the service configuration are fully represented in the lauch URL.

I explain it in this video:

https://filedn.com/lYPEPucNMheV19aDu23lK0Q/INSEE/Screen%20Recording%202024-08-13%20at%2015.05.17.mov

fcomte commented 1 month ago

URL of onyxia are usefull but I think you want something more helm native and I agree it will be usefull. We are reworking the launching and there will be a dev mode with pure yaml launcher. WE Can add there download and upload in this dev mode

qgau commented 1 month ago

Hello, to provide more details, we have a lot of users that usually work on HPC. In this kind of environment, everything is configured with config files (yaml, toml, custom, etc.), that is why they are asking I think, Because they are just used to that. That being said, up to me the URL mechanism is great, except maybe if you have a complicated configurations that evolve over time. With config files, on could version its configurations on GitHub for example. This is less handy to do with URL.

My two cents!

garronej commented 1 month ago

Okay I see, so the usecase is having the service configuration versionned and tracked by Git.

Yes for that purpose I can see that the URL are not the best format.

I mean they can create neat little badge for launching a service like:

image

https://github.com/garronej/covid19-dashboard

But it's not realy easy to eddit manually:

https://github.com/garronej/covid19-dashboard/blob/e2ac4f5d0c6b7b6baf5c4fb80ce494c634424dd0/README.md?plain=1#L3-L5

So yeah...