Am I use DRONE_AGENT_LABELS properly? Or maybe I misunderstood something?
I’m testing this configuration now and ran into the same question about arm64. I believe your proposal is correct: the autoscaler uses DRONE_AGENT_LABELS=somelabel:somelabelvalue , and it should match the pipeline definition “node: somelabel: somelabelvalue”. However yesterday we discovered another variable that must match in order for the autoscaler to launch the instances. If you set “arch: arm64” in the pipeline definition, the autoscaler should have DRONE_AGENT_ARCH=arm64 variable. Otherwise, nothing happens. Everything needs to match, both the arch setting (if it’s been configured) and the labels.
I am curious why do we need parameter DRONE_AGENT_LABELS at all?
You don’t necessarily need DRONE_AGENT_LABELS. Labels are helpful to create arbitrary correlations between runners and pipelines, for any reason you might think of. You could choose to have five differently configured autoscalers, and route jobs based on various criteria, using labels.