pepr 0.46.0 → 0.46.1-nightly.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/cli/init/index.d.ts.map +1 -1
  2. package/dist/cli/init/templates.d.ts +2 -3
  3. package/dist/cli/init/templates.d.ts.map +1 -1
  4. package/dist/cli.js +36 -23
  5. package/dist/controller.js +1 -1
  6. package/dist/lib/assets/defaultTestObjects.d.ts +3 -0
  7. package/dist/lib/assets/defaultTestObjects.d.ts.map +1 -0
  8. package/dist/lib/filter/adjudicators/admissionRequest.d.ts +9 -0
  9. package/dist/lib/filter/adjudicators/admissionRequest.d.ts.map +1 -0
  10. package/dist/lib/filter/adjudicators/binding.d.ts +31 -0
  11. package/dist/lib/filter/adjudicators/binding.d.ts.map +1 -0
  12. package/dist/lib/filter/adjudicators/kubernetesObject.d.ts +22 -0
  13. package/dist/lib/filter/adjudicators/kubernetesObject.d.ts.map +1 -0
  14. package/dist/lib/filter/adjudicators/mismatch.d.ts +16 -0
  15. package/dist/lib/filter/adjudicators/mismatch.d.ts.map +1 -0
  16. package/dist/lib/filter/adjudicators/postCollection.d.ts +10 -0
  17. package/dist/lib/filter/adjudicators/postCollection.d.ts.map +1 -0
  18. package/dist/lib/filter/filter.d.ts.map +1 -1
  19. package/dist/lib.js +196 -152
  20. package/dist/lib.js.map +4 -4
  21. package/package.json +5 -6
  22. package/src/cli/init/index.ts +38 -18
  23. package/src/cli/init/templates.ts +5 -7
  24. package/src/lib/assets/defaultTestObjects.ts +533 -0
  25. package/src/lib/filter/adjudicators/admissionRequest.ts +25 -0
  26. package/src/lib/filter/adjudicators/binding.ts +85 -0
  27. package/src/lib/filter/adjudicators/kubernetesObject.ts +90 -0
  28. package/src/lib/filter/adjudicators/mismatch.ts +129 -0
  29. package/src/lib/filter/adjudicators/postCollection.ts +77 -0
  30. package/src/lib/filter/filter.ts +22 -24
  31. package/src/lib/processors/watch-processor.ts +1 -1
  32. package/dist/lib/filter/adjudicators/adjudicators.d.ts +0 -74
  33. package/dist/lib/filter/adjudicators/adjudicators.d.ts.map +0 -1
  34. package/src/lib/filter/adjudicators/adjudicators.ts +0 -334
package/dist/lib.js CHANGED
@@ -712,7 +712,7 @@ var Capability = class {
712
712
  };
713
713
 
714
714
  // src/lib/core/module.ts
715
- var import_ramda9 = require("ramda");
715
+ var import_ramda13 = require("ramda");
716
716
 
717
717
  // src/lib/controller/index.ts
718
718
  var import_express = __toESM(require("express"));
@@ -850,7 +850,7 @@ var metricsCollector = new MetricsCollector("pepr");
850
850
 
851
851
  // src/lib/processors/mutate-processor.ts
852
852
  var import_fast_json_patch = __toESM(require("fast-json-patch"));
853
- var import_ramda6 = require("ramda");
853
+ var import_ramda10 = require("ramda");
854
854
 
855
855
  // src/lib/telemetry/timeUtils.ts
856
856
  var getNow = () => performance.now();
@@ -882,59 +882,11 @@ var MeasureWebhookTimeout = class {
882
882
  }
883
883
  };
884
884
 
885
- // src/lib/filter/adjudicators/adjudicators.ts
885
+ // src/lib/filter/adjudicators/postCollection.ts
886
+ var import_ramda5 = require("ramda");
887
+
888
+ // src/lib/filter/adjudicators/binding.ts
886
889
  var import_ramda3 = require("ramda");
887
- var declaredOperation = (0, import_ramda3.pipe)(
888
- (request) => request?.operation,
889
- (0, import_ramda3.defaultTo)("")
890
- );
891
- var declaredGroup = (0, import_ramda3.pipe)(
892
- (request) => request?.kind?.group,
893
- (0, import_ramda3.defaultTo)("")
894
- );
895
- var declaredVersion = (0, import_ramda3.pipe)(
896
- (request) => request?.kind?.version,
897
- (0, import_ramda3.defaultTo)("")
898
- );
899
- var declaredKind = (0, import_ramda3.pipe)(
900
- (request) => request?.kind?.kind,
901
- (0, import_ramda3.defaultTo)("")
902
- );
903
- var declaredUid = (0, import_ramda3.pipe)((request) => request?.uid, (0, import_ramda3.defaultTo)(""));
904
- var carriesDeletionTimestamp = (0, import_ramda3.pipe)(
905
- (kubernetesObject) => !!kubernetesObject.metadata?.deletionTimestamp,
906
- (0, import_ramda3.defaultTo)(false)
907
- );
908
- var missingDeletionTimestamp = (0, import_ramda3.complement)(carriesDeletionTimestamp);
909
- var carriedKind = (0, import_ramda3.pipe)(
910
- (kubernetesObject) => kubernetesObject?.kind,
911
- (0, import_ramda3.defaultTo)("not set")
912
- );
913
- var carriedVersion = (0, import_ramda3.pipe)(
914
- (kubernetesObject) => kubernetesObject?.metadata?.resourceVersion,
915
- (0, import_ramda3.defaultTo)("not set")
916
- );
917
- var carriedName = (0, import_ramda3.pipe)(
918
- (kubernetesObject) => kubernetesObject?.metadata?.name,
919
- (0, import_ramda3.defaultTo)("")
920
- );
921
- var carriesName = (0, import_ramda3.pipe)(carriedName, (0, import_ramda3.equals)(""), import_ramda3.not);
922
- var missingName = (0, import_ramda3.complement)(carriesName);
923
- var carriedNamespace = (0, import_ramda3.pipe)(
924
- (kubernetesObject) => kubernetesObject?.metadata?.namespace,
925
- (0, import_ramda3.defaultTo)("")
926
- );
927
- var carriesNamespace = (0, import_ramda3.pipe)(carriedNamespace, (0, import_ramda3.equals)(""), import_ramda3.not);
928
- var carriedAnnotations = (0, import_ramda3.pipe)(
929
- (kubernetesObject) => kubernetesObject?.metadata?.annotations,
930
- (0, import_ramda3.defaultTo)({})
931
- );
932
- var carriesAnnotations = (0, import_ramda3.pipe)(carriedAnnotations, (0, import_ramda3.equals)({}), import_ramda3.not);
933
- var carriedLabels = (0, import_ramda3.pipe)(
934
- (kubernetesObject) => kubernetesObject?.metadata?.labels,
935
- (0, import_ramda3.defaultTo)({})
936
- );
937
- var carriesLabels = (0, import_ramda3.pipe)(carriedLabels, (0, import_ramda3.equals)({}), import_ramda3.not);
938
890
  var definesDeletionTimestamp = (0, import_ramda3.pipe)(
939
891
  (binding) => binding?.filters?.deletionTimestamp ?? false,
940
892
  (0, import_ramda3.defaultTo)(false)
@@ -975,61 +927,83 @@ var definedCallback = (binding) => {
975
927
  return binding.isFinalize ? binding.finalizeCallback : binding.isWatch ? binding.watchCallback : binding.isMutate ? binding.mutateCallback : binding.isValidate ? binding.validateCallback : null;
976
928
  };
977
929
  var definedCallbackName = (0, import_ramda3.pipe)(definedCallback, (0, import_ramda3.defaultTo)({ name: "" }), (callback) => callback.name);
978
- var mismatchedDeletionTimestamp = (0, import_ramda3.allPass)([
979
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesDeletionTimestamp),
980
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(1), missingDeletionTimestamp)
981
- ]);
982
- var mismatchedName = (0, import_ramda3.allPass)([
983
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesName),
984
- (0, import_ramda3.pipe)((binding, kubernetesObject) => definedName(binding) !== carriedName(kubernetesObject))
985
- ]);
986
- var mismatchedNameRegex = (0, import_ramda3.allPass)([
987
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesNameRegex),
988
- (0, import_ramda3.pipe)((binding, kubernetesObject) => new RegExp(definedNameRegex(binding)).test(carriedName(kubernetesObject)), import_ramda3.not)
989
- ]);
990
- var bindsToKind = (0, import_ramda3.curry)(
991
- (0, import_ramda3.allPass)([(0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definedKind, (0, import_ramda3.equals)(""), import_ramda3.not), (0, import_ramda3.pipe)((binding, kind3) => definedKind(binding) === kind3)])
930
+
931
+ // src/lib/filter/adjudicators/kubernetesObject.ts
932
+ var import_ramda4 = require("ramda");
933
+ var carriesDeletionTimestamp = (0, import_ramda4.pipe)(
934
+ (kubernetesObject) => !!kubernetesObject.metadata?.deletionTimestamp,
935
+ (0, import_ramda4.defaultTo)(false)
936
+ );
937
+ var missingDeletionTimestamp = (0, import_ramda4.complement)(carriesDeletionTimestamp);
938
+ var carriedKind = (0, import_ramda4.pipe)(
939
+ (kubernetesObject) => kubernetesObject?.kind,
940
+ (0, import_ramda4.defaultTo)("not set")
941
+ );
942
+ var carriedVersion = (0, import_ramda4.pipe)(
943
+ (kubernetesObject) => kubernetesObject?.metadata?.resourceVersion,
944
+ (0, import_ramda4.defaultTo)("not set")
945
+ );
946
+ var carriedName = (0, import_ramda4.pipe)(
947
+ (kubernetesObject) => kubernetesObject?.metadata?.name,
948
+ (0, import_ramda4.defaultTo)("")
949
+ );
950
+ var carriesName = (0, import_ramda4.pipe)(carriedName, (0, import_ramda4.equals)(""), import_ramda4.not);
951
+ var missingName = (0, import_ramda4.complement)(carriesName);
952
+ var carriedNamespace = (0, import_ramda4.pipe)(
953
+ (kubernetesObject) => kubernetesObject?.metadata?.namespace,
954
+ (0, import_ramda4.defaultTo)("")
992
955
  );
993
- var bindsToNamespace = (0, import_ramda3.curry)((0, import_ramda3.pipe)(bindsToKind(import_ramda3.__, "Namespace")));
994
- var misboundNamespace = (0, import_ramda3.allPass)([bindsToNamespace, definesNamespaces]);
995
- var mismatchedNamespace = (0, import_ramda3.allPass)([
996
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesNamespaces),
997
- (0, import_ramda3.pipe)((binding, kubernetesObject) => definedNamespaces(binding).includes(carriedNamespace(kubernetesObject)), import_ramda3.not)
956
+ var carriesNamespace = (0, import_ramda4.pipe)(carriedNamespace, (0, import_ramda4.equals)(""), import_ramda4.not);
957
+ var carriedAnnotations = (0, import_ramda4.pipe)(
958
+ (kubernetesObject) => kubernetesObject?.metadata?.annotations,
959
+ (0, import_ramda4.defaultTo)({})
960
+ );
961
+ var carriesAnnotations = (0, import_ramda4.pipe)(carriedAnnotations, (0, import_ramda4.equals)({}), import_ramda4.not);
962
+ var carriedLabels = (0, import_ramda4.pipe)(
963
+ (kubernetesObject) => kubernetesObject?.metadata?.labels,
964
+ (0, import_ramda4.defaultTo)({})
965
+ );
966
+ var carriesLabels = (0, import_ramda4.pipe)(carriedLabels, (0, import_ramda4.equals)({}), import_ramda4.not);
967
+ var uncarryableNamespace = (0, import_ramda4.allPass)([
968
+ (0, import_ramda4.pipe)((0, import_ramda4.nthArg)(0), import_ramda4.length, (0, import_ramda4.gt)(import_ramda4.__, 0)),
969
+ (0, import_ramda4.pipe)((namespaceSelector, kubernetesObject) => {
970
+ if (kubernetesObject?.kind === "Namespace") {
971
+ return namespaceSelector.includes(kubernetesObject?.metadata?.name);
972
+ }
973
+ if (carriesNamespace(kubernetesObject)) {
974
+ return namespaceSelector.includes(carriedNamespace(kubernetesObject));
975
+ }
976
+ return true;
977
+ }, import_ramda4.not)
998
978
  ]);
999
- var mismatchedNamespaceRegex = (0, import_ramda3.allPass)([
1000
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesNamespaceRegexes),
1001
- (0, import_ramda3.pipe)(
1002
- (binding, kubernetesObject) => (0, import_ramda3.pipe)(
1003
- (0, import_ramda3.any)((regEx) => new RegExp(regEx).test(carriedNamespace(kubernetesObject))),
1004
- import_ramda3.not
1005
- )(definedNamespaceRegexes(binding))
979
+ var missingCarriableNamespace = (0, import_ramda4.allPass)([
980
+ (0, import_ramda4.pipe)((0, import_ramda4.nthArg)(0), import_ramda4.length, (0, import_ramda4.gt)(import_ramda4.__, 0)),
981
+ (0, import_ramda4.pipe)(
982
+ (namespaceSelector, kubernetesObject) => kubernetesObject.kind === "Namespace" ? !namespaceSelector.includes(kubernetesObject.metadata.name) : !carriesNamespace(kubernetesObject)
1006
983
  )
1007
984
  ]);
1008
- var metasMismatch = (0, import_ramda3.pipe)(
1009
- (defined, carried) => {
1010
- const result = { defined, carried, unalike: {} };
1011
- result.unalike = Object.entries(result.defined).map(([key, value]) => {
1012
- const keyMissing = !Object.hasOwn(result.carried, key);
1013
- const noValue = !value;
1014
- const valMissing = !result.carried[key];
1015
- const valDiffers = result.carried[key] !== result.defined[key];
1016
- return keyMissing ? { [key]: value } : noValue ? {} : valMissing ? { [key]: value } : valDiffers ? { [key]: value } : {};
1017
- }).reduce((acc, cur) => ({ ...acc, ...cur }), {});
1018
- return result.unalike;
1019
- },
1020
- (unalike) => Object.keys(unalike).length > 0
1021
- );
1022
- var mismatchedAnnotations = (0, import_ramda3.allPass)([
1023
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesAnnotations),
1024
- (0, import_ramda3.pipe)((binding, kubernetesObject) => metasMismatch(definedAnnotations(binding), carriedAnnotations(kubernetesObject)))
1025
- ]);
1026
- var mismatchedLabels = (0, import_ramda3.allPass)([
1027
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesLabels),
1028
- (0, import_ramda3.pipe)((binding, kubernetesObject) => metasMismatch(definedLabels(binding), carriedLabels(kubernetesObject)))
985
+ var carriesIgnoredNamespace = (0, import_ramda4.allPass)([
986
+ (0, import_ramda4.pipe)((0, import_ramda4.nthArg)(0), import_ramda4.length, (0, import_ramda4.gt)(import_ramda4.__, 0)),
987
+ (0, import_ramda4.pipe)((namespaceSelector, kubernetesObject) => {
988
+ if (kubernetesObject?.kind === "Namespace") {
989
+ return namespaceSelector.includes(kubernetesObject?.metadata?.name);
990
+ }
991
+ if (carriesNamespace(kubernetesObject)) {
992
+ return namespaceSelector.includes(carriedNamespace(kubernetesObject));
993
+ }
994
+ return false;
995
+ })
1029
996
  ]);
1030
- var uncarryableNamespace = (0, import_ramda3.allPass)([
1031
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), import_ramda3.length, (0, import_ramda3.gt)(import_ramda3.__, 0)),
1032
- (0, import_ramda3.pipe)((namespaceSelector, kubernetesObject) => {
997
+
998
+ // src/lib/filter/adjudicators/postCollection.ts
999
+ var bindsToKind = (0, import_ramda5.curry)(
1000
+ (0, import_ramda5.allPass)([(0, import_ramda5.pipe)((0, import_ramda5.nthArg)(0), definedKind, (0, import_ramda5.equals)(""), import_ramda5.not), (0, import_ramda5.pipe)((binding, kind3) => definedKind(binding) === kind3)])
1001
+ );
1002
+ var bindsToNamespace = (0, import_ramda5.curry)((0, import_ramda5.pipe)(bindsToKind(import_ramda5.__, "Namespace")));
1003
+ var misboundNamespace = (0, import_ramda5.allPass)([bindsToNamespace, definesNamespaces]);
1004
+ var uncarryableNamespace2 = (0, import_ramda5.allPass)([
1005
+ (0, import_ramda5.pipe)((0, import_ramda5.nthArg)(0), import_ramda5.length, (0, import_ramda5.gt)(import_ramda5.__, 0)),
1006
+ (0, import_ramda5.pipe)((namespaceSelector, kubernetesObject) => {
1033
1007
  if (kubernetesObject?.kind === "Namespace") {
1034
1008
  return namespaceSelector.includes(kubernetesObject?.metadata?.name);
1035
1009
  }
@@ -1037,17 +1011,17 @@ var uncarryableNamespace = (0, import_ramda3.allPass)([
1037
1011
  return namespaceSelector.includes(carriedNamespace(kubernetesObject));
1038
1012
  }
1039
1013
  return true;
1040
- }, import_ramda3.not)
1014
+ }, import_ramda5.not)
1041
1015
  ]);
1042
- var missingCarriableNamespace = (0, import_ramda3.allPass)([
1043
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), import_ramda3.length, (0, import_ramda3.gt)(import_ramda3.__, 0)),
1044
- (0, import_ramda3.pipe)(
1016
+ var missingCarriableNamespace2 = (0, import_ramda5.allPass)([
1017
+ (0, import_ramda5.pipe)((0, import_ramda5.nthArg)(0), import_ramda5.length, (0, import_ramda5.gt)(import_ramda5.__, 0)),
1018
+ (0, import_ramda5.pipe)(
1045
1019
  (namespaceSelector, kubernetesObject) => kubernetesObject.kind === "Namespace" ? !namespaceSelector.includes(kubernetesObject.metadata.name) : !carriesNamespace(kubernetesObject)
1046
1020
  )
1047
1021
  ]);
1048
- var carriesIgnoredNamespace = (0, import_ramda3.allPass)([
1049
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), import_ramda3.length, (0, import_ramda3.gt)(import_ramda3.__, 0)),
1050
- (0, import_ramda3.pipe)((namespaceSelector, kubernetesObject) => {
1022
+ var carriesIgnoredNamespace2 = (0, import_ramda5.allPass)([
1023
+ (0, import_ramda5.pipe)((0, import_ramda5.nthArg)(0), import_ramda5.length, (0, import_ramda5.gt)(import_ramda5.__, 0)),
1024
+ (0, import_ramda5.pipe)((namespaceSelector, kubernetesObject) => {
1051
1025
  if (kubernetesObject?.kind === "Namespace") {
1052
1026
  return namespaceSelector.includes(kubernetesObject?.metadata?.name);
1053
1027
  }
@@ -1057,37 +1031,107 @@ var carriesIgnoredNamespace = (0, import_ramda3.allPass)([
1057
1031
  return false;
1058
1032
  })
1059
1033
  ]);
1060
- var unbindableNamespaces = (0, import_ramda3.allPass)([
1061
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), import_ramda3.length, (0, import_ramda3.gt)(import_ramda3.__, 0)),
1062
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(1), definesNamespaces),
1063
- (0, import_ramda3.pipe)(
1064
- (namespaceSelector, binding) => (0, import_ramda3.difference)(definedNamespaces(binding), namespaceSelector),
1065
- import_ramda3.length,
1066
- (0, import_ramda3.equals)(0),
1067
- import_ramda3.not
1034
+ var unbindableNamespaces = (0, import_ramda5.allPass)([
1035
+ (0, import_ramda5.pipe)((0, import_ramda5.nthArg)(0), import_ramda5.length, (0, import_ramda5.gt)(import_ramda5.__, 0)),
1036
+ (0, import_ramda5.pipe)((0, import_ramda5.nthArg)(1), definesNamespaces),
1037
+ (0, import_ramda5.pipe)(
1038
+ (namespaceSelector, binding) => (0, import_ramda5.difference)(definedNamespaces(binding), namespaceSelector),
1039
+ import_ramda5.length,
1040
+ (0, import_ramda5.equals)(0),
1041
+ import_ramda5.not
1042
+ )
1043
+ ]);
1044
+ var misboundDeleteWithDeletionTimestamp = (0, import_ramda5.allPass)([definesDelete, definesDeletionTimestamp]);
1045
+
1046
+ // src/lib/filter/adjudicators/admissionRequest.ts
1047
+ var import_ramda6 = require("ramda");
1048
+ var declaredOperation = (0, import_ramda6.pipe)(
1049
+ (request) => request?.operation,
1050
+ (0, import_ramda6.defaultTo)("")
1051
+ );
1052
+ var declaredGroup = (0, import_ramda6.pipe)(
1053
+ (request) => request?.kind?.group,
1054
+ (0, import_ramda6.defaultTo)("")
1055
+ );
1056
+ var declaredVersion = (0, import_ramda6.pipe)(
1057
+ (request) => request?.kind?.version,
1058
+ (0, import_ramda6.defaultTo)("")
1059
+ );
1060
+ var declaredKind = (0, import_ramda6.pipe)(
1061
+ (request) => request?.kind?.kind,
1062
+ (0, import_ramda6.defaultTo)("")
1063
+ );
1064
+ var declaredUid = (0, import_ramda6.pipe)((request) => request?.uid, (0, import_ramda6.defaultTo)(""));
1065
+
1066
+ // src/lib/filter/adjudicators/mismatch.ts
1067
+ var import_ramda7 = require("ramda");
1068
+ var mismatchedDeletionTimestamp = (0, import_ramda7.allPass)([
1069
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesDeletionTimestamp),
1070
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(1), missingDeletionTimestamp)
1071
+ ]);
1072
+ var mismatchedName = (0, import_ramda7.allPass)([
1073
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesName),
1074
+ (0, import_ramda7.pipe)((binding, kubernetesObject) => definedName(binding) !== carriedName(kubernetesObject))
1075
+ ]);
1076
+ var mismatchedNameRegex = (0, import_ramda7.allPass)([
1077
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesNameRegex),
1078
+ (0, import_ramda7.pipe)((binding, kubernetesObject) => new RegExp(definedNameRegex(binding)).test(carriedName(kubernetesObject)), import_ramda7.not)
1079
+ ]);
1080
+ var mismatchedNamespace = (0, import_ramda7.allPass)([
1081
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesNamespaces),
1082
+ (0, import_ramda7.pipe)((binding, kubernetesObject) => definedNamespaces(binding).includes(carriedNamespace(kubernetesObject)), import_ramda7.not)
1083
+ ]);
1084
+ var mismatchedNamespaceRegex = (0, import_ramda7.allPass)([
1085
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesNamespaceRegexes),
1086
+ (0, import_ramda7.pipe)(
1087
+ (binding, kubernetesObject) => (0, import_ramda7.pipe)(
1088
+ (0, import_ramda7.any)((regEx) => new RegExp(regEx).test(carriedNamespace(kubernetesObject))),
1089
+ import_ramda7.not
1090
+ )(definedNamespaceRegexes(binding))
1068
1091
  )
1069
1092
  ]);
1070
- var misboundDeleteWithDeletionTimestamp = (0, import_ramda3.allPass)([definesDelete, definesDeletionTimestamp]);
1071
- var operationMatchesEvent = (0, import_ramda3.anyPass)([
1072
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(1), (0, import_ramda3.equals)("*" /* ANY */)),
1073
- (0, import_ramda3.pipe)((operation, event) => operation.valueOf() === event.valueOf()),
1074
- (0, import_ramda3.pipe)((operation, event) => operation ? event.includes(operation) : false)
1093
+ var metasMismatch = (0, import_ramda7.pipe)(
1094
+ (defined, carried) => {
1095
+ const result = { defined, carried, unalike: {} };
1096
+ result.unalike = Object.entries(result.defined).map(([key, value]) => {
1097
+ const keyMissing = !Object.hasOwn(result.carried, key);
1098
+ const noValue = !value;
1099
+ const valMissing = !result.carried[key];
1100
+ const valDiffers = result.carried[key] !== result.defined[key];
1101
+ return keyMissing ? { [key]: value } : noValue ? {} : valMissing ? { [key]: value } : valDiffers ? { [key]: value } : {};
1102
+ }).reduce((acc, cur) => ({ ...acc, ...cur }), {});
1103
+ return result.unalike;
1104
+ },
1105
+ (unalike) => Object.keys(unalike).length > 0
1106
+ );
1107
+ var mismatchedAnnotations = (0, import_ramda7.allPass)([
1108
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesAnnotations),
1109
+ (0, import_ramda7.pipe)((binding, kubernetesObject) => metasMismatch(definedAnnotations(binding), carriedAnnotations(kubernetesObject)))
1110
+ ]);
1111
+ var mismatchedLabels = (0, import_ramda7.allPass)([
1112
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesLabels),
1113
+ (0, import_ramda7.pipe)((binding, kubernetesObject) => metasMismatch(definedLabels(binding), carriedLabels(kubernetesObject)))
1075
1114
  ]);
1076
- var mismatchedEvent = (0, import_ramda3.pipe)(
1115
+ var mismatchedEvent = (0, import_ramda7.pipe)(
1077
1116
  (binding, request) => operationMatchesEvent(declaredOperation(request), definedEvent(binding)),
1078
- import_ramda3.not
1117
+ import_ramda7.not
1079
1118
  );
1080
- var mismatchedGroup = (0, import_ramda3.allPass)([
1081
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesGroup),
1082
- (0, import_ramda3.pipe)((binding, request) => definedGroup(binding) !== declaredGroup(request))
1119
+ var mismatchedGroup = (0, import_ramda7.allPass)([
1120
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesGroup),
1121
+ (0, import_ramda7.pipe)((binding, request) => definedGroup(binding) !== declaredGroup(request))
1083
1122
  ]);
1084
- var mismatchedVersion = (0, import_ramda3.allPass)([
1085
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesVersion),
1086
- (0, import_ramda3.pipe)((binding, request) => definedVersion(binding) !== declaredVersion(request))
1123
+ var mismatchedVersion = (0, import_ramda7.allPass)([
1124
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesVersion),
1125
+ (0, import_ramda7.pipe)((binding, request) => definedVersion(binding) !== declaredVersion(request))
1087
1126
  ]);
1088
- var mismatchedKind = (0, import_ramda3.allPass)([
1089
- (0, import_ramda3.pipe)((0, import_ramda3.nthArg)(0), definesKind),
1090
- (0, import_ramda3.pipe)((binding, request) => definedKind(binding) !== declaredKind(request))
1127
+ var mismatchedKind = (0, import_ramda7.allPass)([
1128
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(0), definesKind),
1129
+ (0, import_ramda7.pipe)((binding, request) => definedKind(binding) !== declaredKind(request))
1130
+ ]);
1131
+ var operationMatchesEvent = (0, import_ramda7.anyPass)([
1132
+ (0, import_ramda7.pipe)((0, import_ramda7.nthArg)(1), (0, import_ramda7.equals)("*" /* ANY */)),
1133
+ (0, import_ramda7.pipe)((operation, event) => operation.valueOf() === event.valueOf()),
1134
+ (0, import_ramda7.pipe)((operation, event) => operation ? event.includes(operation) : false)
1091
1135
  ]);
1092
1136
 
1093
1137
  // src/lib/filter/filter.ts
@@ -1172,7 +1216,7 @@ function adjudicateUnbindableNamespaces(capabilityNamespaces, binding) {
1172
1216
  return unbindableNamespaces(capabilityNamespaces, binding) ? `Binding defines namespaces ${JSON.stringify(definedNamespaces(binding))} but namespaces allowed by Capability are '${JSON.stringify(capabilityNamespaces)}'.` : null;
1173
1217
  }
1174
1218
  function adjudicateUncarryableNamespace(capabilityNamespaces, obj) {
1175
- return uncarryableNamespace(capabilityNamespaces, obj) ? `Object carries namespace '${obj.kind && obj.kind === "Namespace" ? obj.metadata?.name : carriedNamespace(obj)}' but namespaces allowed by Capability are '${JSON.stringify(capabilityNamespaces)}'.` : null;
1219
+ return uncarryableNamespace2(capabilityNamespaces, obj) ? `Object carries namespace '${obj.kind && obj.kind === "Namespace" ? obj.metadata?.name : carriedNamespace(obj)}' but namespaces allowed by Capability are '${JSON.stringify(capabilityNamespaces)}'.` : null;
1176
1220
  }
1177
1221
  function adjudicateMismatchedNamespace(binding, obj) {
1178
1222
  return mismatchedNamespace(binding, obj) ? `Binding defines namespaces '${JSON.stringify(definedNamespaces(binding))}' but Object carries '${carriedNamespace(obj)}'.` : null;
@@ -1190,14 +1234,14 @@ function adjudicateMismatchedNameRegex(binding, obj) {
1190
1234
  return mismatchedNameRegex(binding, obj) ? `Binding defines name regex '${definedNameRegex(binding)}' but Object carries '${carriedName(obj)}'.` : null;
1191
1235
  }
1192
1236
  function adjudicateCarriesIgnoredNamespace(ignoredNamespaces, obj) {
1193
- return carriesIgnoredNamespace(ignoredNamespaces, obj) ? `Object carries namespace '${obj.kind && obj.kind === "Namespace" ? obj.metadata?.name : carriedNamespace(obj)}' but ignored namespaces include '${JSON.stringify(ignoredNamespaces)}'.` : null;
1237
+ return carriesIgnoredNamespace2(ignoredNamespaces, obj) ? `Object carries namespace '${obj.kind && obj.kind === "Namespace" ? obj.metadata?.name : carriedNamespace(obj)}' but ignored namespaces include '${JSON.stringify(ignoredNamespaces)}'.` : null;
1194
1238
  }
1195
1239
  function adjudicateMissingCarriableNamespace(capabilityNamespaces, obj) {
1196
- return missingCarriableNamespace(capabilityNamespaces, obj) ? `Object does not carry a namespace but namespaces allowed by Capability are '${JSON.stringify(capabilityNamespaces)}'.` : null;
1240
+ return missingCarriableNamespace2(capabilityNamespaces, obj) ? `Object does not carry a namespace but namespaces allowed by Capability are '${JSON.stringify(capabilityNamespaces)}'.` : null;
1197
1241
  }
1198
1242
 
1199
1243
  // src/lib/mutate-request.ts
1200
- var import_ramda4 = require("ramda");
1244
+ var import_ramda8 = require("ramda");
1201
1245
  var PeprMutateRequest = class {
1202
1246
  Raw;
1203
1247
  #input;
@@ -1216,16 +1260,16 @@ var PeprMutateRequest = class {
1216
1260
  constructor(input) {
1217
1261
  this.#input = input;
1218
1262
  if (input.operation.toUpperCase() === "DELETE" /* DELETE */) {
1219
- this.Raw = (0, import_ramda4.clone)(input.oldObject);
1263
+ this.Raw = (0, import_ramda8.clone)(input.oldObject);
1220
1264
  } else {
1221
- this.Raw = (0, import_ramda4.clone)(input.object);
1265
+ this.Raw = (0, import_ramda8.clone)(input.object);
1222
1266
  }
1223
1267
  if (!this.Raw) {
1224
1268
  throw new Error("Unable to load the request object into PeprRequest.Raw");
1225
1269
  }
1226
1270
  }
1227
1271
  Merge = (obj) => {
1228
- this.Raw = (0, import_ramda4.mergeDeepRight)(this.Raw, obj);
1272
+ this.Raw = (0, import_ramda8.mergeDeepRight)(this.Raw, obj);
1229
1273
  };
1230
1274
  SetLabel = (key, value) => {
1231
1275
  const ref = this.Raw;
@@ -1312,7 +1356,7 @@ var OnError = /* @__PURE__ */ ((OnError2) => {
1312
1356
  })(OnError || {});
1313
1357
 
1314
1358
  // src/lib/assets/webhooks.ts
1315
- var import_ramda5 = require("ramda");
1359
+ var import_ramda9 = require("ramda");
1316
1360
  function resolveIgnoreNamespaces(ignoredNSConfig = []) {
1317
1361
  const ignoredNSEnv = process.env.PEPR_ADDITIONAL_IGNORED_NAMESPACES;
1318
1362
  if (!ignoredNSEnv) {
@@ -1353,7 +1397,7 @@ function decodeData(wrapped) {
1353
1397
  return { skipped, wrapped };
1354
1398
  }
1355
1399
  function reencodeData(wrapped, skipped) {
1356
- const transformed = (0, import_ramda6.clone)(wrapped.Raw);
1400
+ const transformed = (0, import_ramda10.clone)(wrapped.Raw);
1357
1401
  const isSecret = wrapped.Request.kind.version === "v1" && wrapped.Request.kind.kind === "Secret";
1358
1402
  if (isSecret) {
1359
1403
  convertToBase64Map(transformed, skipped);
@@ -1456,7 +1500,7 @@ function updateResponsePatchAndWarnings(patches, response) {
1456
1500
  }
1457
1501
 
1458
1502
  // src/lib/validate-request.ts
1459
- var import_ramda7 = require("ramda");
1503
+ var import_ramda11 = require("ramda");
1460
1504
  var PeprValidateRequest = class {
1461
1505
  Raw;
1462
1506
  #input;
@@ -1481,9 +1525,9 @@ var PeprValidateRequest = class {
1481
1525
  constructor(input) {
1482
1526
  this.#input = input;
1483
1527
  if (input.operation.toUpperCase() === "DELETE" /* DELETE */) {
1484
- this.Raw = (0, import_ramda7.clone)(input.oldObject);
1528
+ this.Raw = (0, import_ramda11.clone)(input.oldObject);
1485
1529
  } else {
1486
- this.Raw = (0, import_ramda7.clone)(input.object);
1530
+ this.Raw = (0, import_ramda11.clone)(input.object);
1487
1531
  }
1488
1532
  if (!this.Raw) {
1489
1533
  throw new Error("unable to load the request object into PeprRequest.Raw");
@@ -1598,7 +1642,7 @@ async function validateProcessor(config, capabilities, req, reqMetadata) {
1598
1642
 
1599
1643
  // src/lib/controller/store.ts
1600
1644
  var import_kubernetes_fluent_client5 = require("kubernetes-fluent-client");
1601
- var import_ramda8 = require("ramda");
1645
+ var import_ramda12 = require("ramda");
1602
1646
 
1603
1647
  // src/lib/k8s.ts
1604
1648
  var import_kubernetes_fluent_client3 = require("kubernetes-fluent-client");
@@ -1712,7 +1756,7 @@ var StoreController = class {
1712
1756
  for (const name2 of Object.keys(this.#stores)) {
1713
1757
  const offset = `${name2}-`.length;
1714
1758
  for (const key of Object.keys(data)) {
1715
- if ((0, import_ramda8.startsWith)(name2, key) && !(0, import_ramda8.startsWith)(`${name2}-v2`, key)) {
1759
+ if ((0, import_ramda12.startsWith)(name2, key) && !(0, import_ramda12.startsWith)(`${name2}-v2`, key)) {
1716
1760
  storeCache = fillStoreCache(storeCache, name2, "remove", {
1717
1761
  key: [key.slice(offset)],
1718
1762
  value: data[key]
@@ -1736,7 +1780,7 @@ var StoreController = class {
1736
1780
  const offset = `${name2}-`.length;
1737
1781
  const filtered = {};
1738
1782
  for (const key of Object.keys(data)) {
1739
- if ((0, import_ramda8.startsWith)(name2, key)) {
1783
+ if ((0, import_ramda12.startsWith)(name2, key)) {
1740
1784
  filtered[key.slice(offset)] = data[key];
1741
1785
  }
1742
1786
  }
@@ -2207,7 +2251,7 @@ async function runBinding(binding, capabilityNamespaces, ignoredNamespaces) {
2207
2251
  }
2208
2252
  }
2209
2253
  };
2210
- const watcher = (0, import_kubernetes_fluent_client6.K8s)(binding.model, binding.filters).Watch(async (obj, phase) => {
2254
+ const watcher = (0, import_kubernetes_fluent_client6.K8s)(binding.model, { ...binding.filters, kindOverride: binding.kind }).Watch(async (obj, phase) => {
2211
2255
  logger_default.debug(obj, `Watch event ${phase} received`);
2212
2256
  if (binding.isQueue) {
2213
2257
  const queue = getOrCreateQueue(obj);
@@ -2268,7 +2312,7 @@ var PeprModule = class {
2268
2312
  * @param opts Options for the Pepr runtime
2269
2313
  */
2270
2314
  constructor({ description, pepr }, capabilities = [], opts = {}) {
2271
- const config = (0, import_ramda9.clone)(pepr);
2315
+ const config = (0, import_ramda13.clone)(pepr);
2272
2316
  config.description = description;
2273
2317
  ValidateError(config.onError);
2274
2318
  if (isBuildMode()) {