pepr 0.46.0-nightly.1 → 0.46.0-nightly.11
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.
- package/dist/cli.js +1 -1
- package/dist/controller.js +1 -1
- package/dist/lib/assets/defaultTestObjects.d.ts +3 -0
- package/dist/lib/assets/defaultTestObjects.d.ts.map +1 -0
- package/dist/lib/filter/adjudicators/admissionRequest.d.ts +9 -0
- package/dist/lib/filter/adjudicators/admissionRequest.d.ts.map +1 -0
- package/dist/lib/filter/adjudicators/binding.d.ts +31 -0
- package/dist/lib/filter/adjudicators/binding.d.ts.map +1 -0
- package/dist/lib/filter/adjudicators/kubernetesObject.d.ts +22 -0
- package/dist/lib/filter/adjudicators/kubernetesObject.d.ts.map +1 -0
- package/dist/lib/filter/adjudicators/mismatch.d.ts +16 -0
- package/dist/lib/filter/adjudicators/mismatch.d.ts.map +1 -0
- package/dist/lib/filter/adjudicators/postCollection.d.ts +10 -0
- package/dist/lib/filter/adjudicators/postCollection.d.ts.map +1 -0
- package/dist/lib/filter/filter.d.ts.map +1 -1
- package/dist/lib.js +196 -152
- package/dist/lib.js.map +4 -4
- package/package.json +4 -5
- package/src/lib/assets/defaultTestObjects.ts +533 -0
- package/src/lib/filter/adjudicators/admissionRequest.ts +25 -0
- package/src/lib/filter/adjudicators/binding.ts +85 -0
- package/src/lib/filter/adjudicators/kubernetesObject.ts +90 -0
- package/src/lib/filter/adjudicators/mismatch.ts +129 -0
- package/src/lib/filter/adjudicators/postCollection.ts +77 -0
- package/src/lib/filter/filter.ts +22 -24
- package/src/lib/processors/watch-processor.ts +1 -1
- package/dist/lib/filter/adjudicators/adjudicators.d.ts +0 -74
- package/dist/lib/filter/adjudicators/adjudicators.d.ts.map +0 -1
- 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
|
|
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
|
|
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/
|
|
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
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
(0,
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
var
|
|
987
|
-
(
|
|
988
|
-
(0,
|
|
989
|
-
|
|
990
|
-
var
|
|
991
|
-
(
|
|
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
|
|
994
|
-
var
|
|
995
|
-
|
|
996
|
-
(0,
|
|
997
|
-
|
|
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
|
|
1000
|
-
(0,
|
|
1001
|
-
(0,
|
|
1002
|
-
(
|
|
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
|
|
1009
|
-
(
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
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
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
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
|
-
},
|
|
1014
|
+
}, import_ramda5.not)
|
|
1041
1015
|
]);
|
|
1042
|
-
var
|
|
1043
|
-
(0,
|
|
1044
|
-
(0,
|
|
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
|
|
1049
|
-
(0,
|
|
1050
|
-
(0,
|
|
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,
|
|
1061
|
-
(0,
|
|
1062
|
-
(0,
|
|
1063
|
-
(0,
|
|
1064
|
-
(namespaceSelector, binding) => (0,
|
|
1065
|
-
|
|
1066
|
-
(0,
|
|
1067
|
-
|
|
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
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
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,
|
|
1115
|
+
var mismatchedEvent = (0, import_ramda7.pipe)(
|
|
1077
1116
|
(binding, request) => operationMatchesEvent(declaredOperation(request), definedEvent(binding)),
|
|
1078
|
-
|
|
1117
|
+
import_ramda7.not
|
|
1079
1118
|
);
|
|
1080
|
-
var mismatchedGroup = (0,
|
|
1081
|
-
(0,
|
|
1082
|
-
(0,
|
|
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,
|
|
1085
|
-
(0,
|
|
1086
|
-
(0,
|
|
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,
|
|
1089
|
-
(0,
|
|
1090
|
-
(0,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
1263
|
+
this.Raw = (0, import_ramda8.clone)(input.oldObject);
|
|
1220
1264
|
} else {
|
|
1221
|
-
this.Raw = (0,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
1528
|
+
this.Raw = (0, import_ramda11.clone)(input.oldObject);
|
|
1485
1529
|
} else {
|
|
1486
|
-
this.Raw = (0,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
2315
|
+
const config = (0, import_ramda13.clone)(pepr);
|
|
2272
2316
|
config.description = description;
|
|
2273
2317
|
ValidateError(config.onError);
|
|
2274
2318
|
if (isBuildMode()) {
|