From 2b08bfd9c3203ca47b9ec9ba748e8f0553178191 Mon Sep 17 00:00:00 2001 From: Tristan Holaday <40547442+TristanHoladay@users.noreply.github.com> Date: Fri, 3 May 2024 14:21:48 -0600 Subject: [PATCH] fix: pepr mutation annotation overwrite (#385) ## Description Fixes the overwriting of previous pepr mutation annotations by merging them. ## Related Issue Fixes # Relates to # ## Type of change - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Other (security config, docs update, etc) ## Checklist before merging - [x] Test, docs, adr added or updated as needed - [ ] [Contributor Guide Steps](https://github.com/defenseunicorns/uds-template-capability/blob/main/CONTRIBUTING.md)(https://github.com/defenseunicorns/uds-template-capability/blob/main/CONTRIBUTING.md#submitting-a-pull-request) followed Co-authored-by: Micah Nagel --- src/pepr/policies/common.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pepr/policies/common.ts b/src/pepr/policies/common.ts index 9dcd4bc81..28d7a11b4 100644 --- a/src/pepr/policies/common.ts +++ b/src/pepr/policies/common.ts @@ -103,5 +103,10 @@ export function annotateMutation( request: PeprMutateRequest, policy: Policy, ) { - request.SetAnnotation(`uds-core.pepr.dev/mutated`, transform(policy)); + const key = "uds-core.pepr.dev/mutated"; + const annotations = request.Raw.metadata?.annotations ?? {}; + const valStr = annotations[key]; + const arr = JSON.parse(valStr || "[]"); + arr.push(transform(policy)); + request.SetAnnotation(key, JSON.stringify(arr)); }