-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Closed as not planned
Closed as not planned
Copy link
Labels
kind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.Denotes an issue or PR that has aged beyond stale and will be auto-closed.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.Indicates an issue or PR lacks a `triage/foo` label and requires one.
Description
What happened?
I am trying to use a kustomize transformer to set a default severity for PrometheusRules and then override this default severity using additional transformers for specific alerts. However, when combining these transformers I get an unexpected result compared to when they are applied individually
What did you expect to happen?
I'd expect each transformer to apply independently so that they can be combined
How can we reproduce it (as minimally and precisely as possible)?
# kustomization.yaml
resources:
- prometheus-rule.yaml
transformers:
- transformer-severity-default.yaml
- transformer-severity-example-bar.yaml# prometheus-rule.yaml
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: example
spec:
groups:
- name: Example
rules:
- alert: ExampleFoo
- alert: ExampleBar# transformer-severity-default.yaml
apiVersion: builtin
kind: AnnotationsTransformer
metadata:
name: severity-default
annotations:
severity: MAJOR
fieldSpecs:
- kind: PrometheusRule
path: spec/groups/rules/annotations
create: true# transformer-severity-example-bar.yaml
apiVersion: builtin
kind: ValueAddTransformer
metadata:
name: severity-example-bar
value: WARNING
targets:
- selector:
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
name: example
fieldPath: spec/groups/[name=Example]/rules/[alert=ExampleBar]/annotations/severityExpected output
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: example
spec:
groups:
- name: Example
rules:
- alert: ExampleFoo
annotations:
severity: MAJOR
- alert: ExampleBar
annotations:
severity: WARNINGActual output
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: example
spec:
groups:
- name: Example
rules:
- alert: ExampleFoo
annotations:
severity: WARNING
- alert: ExampleBar
annotations:
severity: WARNINGConfusingly, each transformer works as expected when applied individually (e.g. commenting them out in turn they work correctly)
Kustomize version
v5.5.0
Operating system
MacOS
Metadata
Metadata
Assignees
Labels
kind/bugCategorizes issue or PR as related to a bug.Categorizes issue or PR as related to a bug.lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.Denotes an issue or PR that has aged beyond stale and will be auto-closed.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.Indicates an issue or PR lacks a `triage/foo` label and requires one.