Uploaded image for project: 'Qt Cloud'
  1. Qt Cloud
  2. CLOUD-310

Onboarding: Setup a micro service which handles confidential stuff

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P2: Important
    • None
    • None
    • Backend
    • None
    • Gemini sprint 12, Gemini development, Gemini development

    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)
      • 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. 

      Attachments

        Issue Links

          Activity

            People

              kgorecki Krzysztof Gorecki
              as33ms Aseem Shakuntal
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: