Uploaded image for project: 'Bitbucket Cloud'
  1. Bitbucket Cloud
  2. BCLOUD-23084

Allow truly on-demand runners and make the new APIs public

    XMLWordPrintable

Details

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      The introduction of the runner autoscaler for Kubernetes simplies automating runners, however it has the limitation that the runner needs to run at all times for the pipelines to work. What would be great is truly on-demand runners, with the ability to scale up as required and scale back to 0 when not required. As these are now running on K8S clusters, it makes the task of spinning up a container to execute steps/one task and then deleting it relatively straightforward.

      Currently the runner listens to a websocket and is notified of queued steps before it then fetches the step definitions to execute whilst also updating the state of the step, If the autoscaler instead listened to the websocket, it could spawn containers to run a specific step (or steps) - the runner itself would need to be modified to allow the passing of parameters, including the step, etc The autoscaler would register and make the runner available in the frontend and when a new task is queued, it could start a copy of the runner to perform the execution.

      It would be beneficial from an efficiency point of view to pass all the "low level" steps/tasks that correspond to a single step element in the pipeline.yml rather than executing them individually

      Autoscaler makes use of undocumented APIs for Bitbucket Cloud (to manage runners), it would be good if these could be publicly documented to allow custom versions of the autoscaler. Similarly, would it be possible to publicly publish details of the websocket(s) and the internal APIs used by the runner (step status update, etc) this would potentially allow developers to customise the runner or autoscaler further.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ncsupka Norbert C
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: