Qiskit / qiskit-serverless

A programming model for leveraging quantum and classical resources
https://qiskit.github.io/qiskit-serverless/
Apache License 2.0
58 stars 27 forks source link

Repository: project dockerization #152

Closed Tansito closed 1 year ago

Tansito commented 1 year ago

What is the expected enhancement?

Dockerize the project to simplify installation and setup.

Epic #112

maximilien commented 1 year ago

Nice, I'd like to try this. Anyone else working on this issue?

Also, is there a suggested base image?

maximilien commented 1 year ago

If there's a base image for python / ray that I should use please let me know otherwise I'll start with UBI and add to it. Thx

IceKhan13 commented 1 year ago

you are our hero @maximilien !

Repository image will be standalone and only required to have packages under requirements.txt

Assigned to you. I think some version of alpine-python or ubuntu is fine as it has everything that we might possibly need.


For ray nodes we are using base ray image already with client + qiskit installed, so we are covered there

maximilien commented 1 year ago

Perfect. Thanks @IceKhan13

Tansito commented 1 year ago

How are you going with this issue @maximilien ? It's one of the key points for #151 , if you couldn't have the time to look at it I can take it and add you as reviewer once time I have it.

akihikokuroda commented 1 year ago

@Tansito @maximilien I'm looking at #105. I'm thinking that I can integrate keycloak to the repository at pod level (with the sidecar container) instead of the Django level. If it's OK and you don't mind, I want to work on this and #157 as well as #105. Thanks!

Tansito commented 1 year ago

Not problem from my part @akihikokuroda go ahead, thank you! 🙏

IceKhan13 commented 1 year ago

@akihikokuroda I think one of the problems of having keycloak as sidecar for repository for https://github.com/Qiskit-Extensions/quantum-serverless/issues/153 is application (django) will not know how to map requests to specific users. And this is important as models (entries in database) has user associations (programs has authors and programs can be updated according to specific rules based on user group, etc.). What do you think @akihikokuroda @Tansito ?

akihikokuroda commented 1 year ago

@IceKhan13 I see. The sidecar probably doesn't work for it. So it is not simply controlling access to the API. The user information must be passed to the API logic and processed. Right?

Tansito commented 1 year ago

Yeah, you need a system that maps in some way the users. Our initial proposal was to use a middleware to use the logic from keycloak and manage there the user but I don't know if you have other proposals to do that.

akihikokuroda commented 1 year ago

No, I don't. I'll work in the direction. Thanks!

IceKhan13 commented 1 year ago

closed in #238