Autoscaling with Labels?

Hello, I’m just getting familiar with Done, so I may be missing something.

Here’s what I’m tying to figure out: we have several different kinds of workloads. Many are small, mostly network bound jobs that can have ~20 running in a single instance. However, some of our jobs need the whole agent instance to run. Using labels we can specify which jobs use which instances, great. However, how do we autoscale different labels?

I looked through the docs at https://autoscale.drone.io/ and was hoping to find something like DRONE_AGENT_LABEL which would set the agent’s label when launched. We would then just run one autoscaler per label. I looked though the source too and couldn’t find anything. Is there a solution for this?

Thanks.

The autoscaler does not currently support scaling servers by label.

Thanks for the clarification. I think we can work around it.

It could be a matter of matching labels in the following function, but I haven’t dug deep enough to say for certain: https://github.com/drone/autoscaler/blob/master/engine/planner.go#L270

It would require you to run multiple autoscalers (one per unique agent configuration) but in that case could still work.

Nice idea! I think running multiple autoscalers is totally reasonable and would be easy enough to run on the main server instance for us.