I am exploring Drone and it seems powerful but a lot of the documentation is missing, especially about conditions on the pipeline’s stages.
The one I am looking for is: http://docs.drone.io/step-conditions/#instance
What I want to do is to have multiple agents running in different clusters (as in some of them I can’t set up a public Webhook/endpoint). Those agents should be connected anyway to a Drone server in another kubernetes cluster (doable).
How can I specify the conditions to run some task in one cluster, and other tasks in another cluster, but using the same drone server instance?
Is there an hidden option for this?
I am not sure I understand. Agents do not receive webhooks, so you should not need to place agents in different clusters on the account of not being able to receive public webhooks.
Let me help:
We have X amount of k8s cluster, only one is connected to the public network due to security restriction. That cluster can receive calls via webhooks, but the actual agents have to run on each cluster.
Is that possible to isolate specific workload/tasks (ex: build, test) on the first cluster (agent), and other tasks/stages (ex: deploy) in other clusters (agent)?
Is that possible to isolate specific workload/tasks (ex: build, test) on the first cluster (agent), and other tasks/stages (ex: deploy) in other clusters (agent)?
The full pipeline is executed on a single agent. It is not currently possible to distribute steps across multiple agents. You could try breaking up the work into multiple pipelines, and then string these pipelines together (using something like deployment events and the drone trigger plugin)