-
Notifications
You must be signed in to change notification settings - Fork 93
Open
Description
Hey!
Have you considered implementing optional checks or targets?
Here is an example:
- I have a check Idle that will decide on scaling action when my workload has between 0 and 1 replicas
- I have a check Active that will decide on scaling action when my workload has between 1 and x replicas
I don't want my check Idle to be even considered if I have, say, 5 replicas. I only want to make my ScaleIn / ScaleOut / ScaleNone decision based on the Active check when I have between 2 and x replicas.
I have been playing with group
, but it is really difficult to build something that behaves like this, especially when you have more than 2 checks. I think that being able to enable/disable checks or targets based on some criteria would bring a lot of flexibility.
An example API could be:
check "target-value-check" {
# ...
evaluation_criterias { # No criteria means that the check is always evaluated
criteria "count-allocations" { # Either min or max must be defined
min = 2
max = 10
}
strategy "target-value" {
target = 20
threshold = 0.0001
}
# ...
}
What do you think? I'm happy to help implement this.
Metadata
Metadata
Assignees
Labels
No labels