Details
Description
At this moment, we are running Qt ci plugin from user's computer and it's not safe to store secrets there. So, we should create a micro service and use this to retrieve credentials from the secret service.
We have to deliver:
- Python FastAPI implementation of following endpoints:
- <server>/api/has-qtcloud-licence
- params: Qt account email, Qt account password, plus some sha1 or hash for authentication to microservice?
- internally:
- Use discovery api
- Login and get JWT token
- Check if user has licence for Qt cloud
- Return TRUE or FALSE
- If TRUE, also return conan credentials
- <server>/api/get-git-admin-token
- params: some sha1 for authentication
- internally:
- return the git.qt.io's admin token
- (more end points to be checked)
- <server>/api/has-qtcloud-licence
- Use a python3 alpine image in a dockerfile, copy this server there
- Execute the server using Python FastAPI
IMportant: This MicroService should already contain the Login CODE for Qt account. So, we are going to send the Qt account + Password to this microservice and this uses the Qt account apis (discovery + login) etc to return relevant information for us to use in the Qt ci plugin code.
A docker file implementation is required so that the microservice can be executed locally or in production.