When a Predictor is created, the MLWB will provide a "deploy to k8s" option to the user. When the user selects it, the MLWB will:
- in the dialog, allow the user to select the target k8s env from a set of pre-configured values (set in site-config value for "k8sClusters", as a list of names).
- invoke the /deploy API of the Deployment Client, per the Deployment Client design (see https://wiki.acumos.org/pages/viewpage.action?pageId=20548927)
- monitor the status of the taskId returned by the /deploy API
- when the task is complete, present the result to the user (success/fail)
- for success, retrieve the ingress URL from the task.stepresult , and save the URL in the Predictor object
- Call the /deploy API as per: https://docs.acumos.org/en/latest/submodules/model-deployments/deployment-client/docs/deployment-client-developer-guide.html#deployment-request
- Get a 202 Accepted with the taskId, and save the taskId in the Predictor object as an attribute. The taskId is a unique index to the deployment job status in the CDS Task table.
- Monitor the task in the CDS task table
- When the task statusCode value is "SU" use the CDS task.stepresult API to get the details
- Find the stepresult entry with name attribute 'DEP'
- Save the stepresult attribute 'result' as the ingress URL where the user/apps can interact with the solution (push data to it), in the Predictor object
- Mark the Predictor as Active