KB-6 Confirmed
A CEL compile error in one health rule stops the health assessment of the Release
Behavior#
Admission checks only that ruleExpression is not empty. It does not compile the CEL
expression. The observer compiles all rules from the selected rule sets together. One compile
error stops the assessment of every resource of the Release.
Effect#
Healthy is Unknown with a message that starts with compiling health rules:. No resource of
the Release gets a health state. A rollout that depends on health can stay in Progressing.
Workaround#
Check the Healthy condition message after you change a HealthRuleSet or a
GlobalHealthRuleSet. Fix the expression that the message names.
Fix direction#
Compile CEL expressions at admission and reject invalid rules.
In the code
convoy v0.9.0
api/extensions.validateHealthRuleapi/extensions/validation.go:64internal/observer.(*HealthController).assessinternal/observer/health.go:318