Qiskit / qiskit-serverless

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

Make `/static/` directory available on Kubernetes for Swagger docs #1236

Open psschwei opened 4 months ago

psschwei commented 4 months ago

We added Swagger documentation in #1205 .

The pages display fine locally (using docker compose or gunicorn directly), but when running in Kubernetes the page does not render properly as the swagger javascript files are not found (see https://github.com/Qiskit-Extensions/quantum-serverless/pull/1205#issuecomment-1965023194 and surround discussion for more details).

I think this is mainly an issue with how Django serves static files... short version is in Kubernetes the static/ directory isn't being served, which means none of the javascript loads, which means no swagger UI.

An appropriate solution would use one of the "production" methods in the above link to serve the /static/ directory for our Django service.

psschwei commented 4 months ago

https://github.com/Qiskit-Extensions/quantum-serverless/pull/1205#issuecomment-1965355457 shows a non-production way to make /static/ available

david-alber commented 4 months ago

@psschwei have you decided which of the production methods to serve the /static/ directory is most suitable?

If the issue is still up for grabs, I would like to give it a try :)

akihikokuroda commented 4 months ago

@david-alber I've been working for another issue. Please go a head. Thanks!

psschwei commented 4 months ago

Given the short-term plan is to move our docs over to IQP in #1166 , I think we may want to get a little more clarity on that one (where docs will live, how they'll be served, etc.) before we spend too much time spinning up our own version of the docs

For reference, here's the API docs for runtime: https://docs.quantum.ibm.com/api/runtime

david-alber commented 4 months ago

Given the short-term plan is to move our docs over to IQP in #1166 , I think we may want to get a little more clarity on that one (where docs will live, how they'll be served, etc.) before we spend too much time spinning up our own version of the docs

Maybe the Qiskit Runtime API swagger docs can serve as inspiration: https://us-east.quantum-computing.cloud.ibm.com/openapi/