pepr 0.46.0-nightly.0 → 0.46.0-nightly.10
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
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// SPDX-FileCopyrightText: 2023-Present The Pepr Authors
|
|
3
|
+
|
|
4
|
+
import { __, allPass, complement, defaultTo, equals, length, gt, not, nthArg, pipe } from "ramda";
|
|
5
|
+
import { KubernetesObject } from "kubernetes-fluent-client";
|
|
6
|
+
|
|
7
|
+
export const carriesDeletionTimestamp = pipe(
|
|
8
|
+
kubernetesObject => !!kubernetesObject.metadata?.deletionTimestamp,
|
|
9
|
+
defaultTo(false),
|
|
10
|
+
);
|
|
11
|
+
export const missingDeletionTimestamp = complement(carriesDeletionTimestamp);
|
|
12
|
+
|
|
13
|
+
export const carriedKind = pipe(
|
|
14
|
+
(kubernetesObject: KubernetesObject): string | undefined => kubernetesObject?.kind,
|
|
15
|
+
defaultTo("not set"),
|
|
16
|
+
);
|
|
17
|
+
export const carriedVersion = pipe(
|
|
18
|
+
(kubernetesObject: KubernetesObject): string | undefined => kubernetesObject?.metadata?.resourceVersion,
|
|
19
|
+
defaultTo("not set"),
|
|
20
|
+
);
|
|
21
|
+
export const carriedName = pipe(
|
|
22
|
+
(kubernetesObject: KubernetesObject): string | undefined => kubernetesObject?.metadata?.name,
|
|
23
|
+
defaultTo(""),
|
|
24
|
+
);
|
|
25
|
+
export const carriesName = pipe(carriedName, equals(""), not);
|
|
26
|
+
export const missingName = complement(carriesName);
|
|
27
|
+
|
|
28
|
+
export const carriedNamespace = pipe(
|
|
29
|
+
(kubernetesObject: KubernetesObject): string | undefined => kubernetesObject?.metadata?.namespace,
|
|
30
|
+
defaultTo(""),
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
export const carriesNamespace = pipe(carriedNamespace, equals(""), not);
|
|
34
|
+
|
|
35
|
+
export const carriedAnnotations = pipe(
|
|
36
|
+
(kubernetesObject: KubernetesObject): { [key: string]: string } | undefined =>
|
|
37
|
+
kubernetesObject?.metadata?.annotations,
|
|
38
|
+
defaultTo({}),
|
|
39
|
+
);
|
|
40
|
+
export const carriesAnnotations = pipe(carriedAnnotations, equals({}), not);
|
|
41
|
+
|
|
42
|
+
export const carriedLabels = pipe(
|
|
43
|
+
(kubernetesObject: KubernetesObject): { [key: string]: string } | undefined => kubernetesObject?.metadata?.labels,
|
|
44
|
+
defaultTo({}),
|
|
45
|
+
);
|
|
46
|
+
export const carriesLabels = pipe(carriedLabels, equals({}), not);
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
* If the object does not have a namespace, and it is not a namespace,
|
|
50
|
+
* then we must return false because it cannot be uncarryable
|
|
51
|
+
*/
|
|
52
|
+
export const uncarryableNamespace = allPass([
|
|
53
|
+
pipe(nthArg(0), length, gt(__, 0)),
|
|
54
|
+
pipe((namespaceSelector, kubernetesObject) => {
|
|
55
|
+
if (kubernetesObject?.kind === "Namespace") {
|
|
56
|
+
return namespaceSelector.includes(kubernetesObject?.metadata?.name);
|
|
57
|
+
}
|
|
58
|
+
if (carriesNamespace(kubernetesObject)) {
|
|
59
|
+
return namespaceSelector.includes(carriedNamespace(kubernetesObject));
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}, not),
|
|
63
|
+
]);
|
|
64
|
+
|
|
65
|
+
export const missingCarriableNamespace = allPass([
|
|
66
|
+
pipe(nthArg(0), length, gt(__, 0)),
|
|
67
|
+
pipe((namespaceSelector: string[], kubernetesObject: KubernetesObject): boolean =>
|
|
68
|
+
kubernetesObject.kind === "Namespace"
|
|
69
|
+
? !namespaceSelector.includes(kubernetesObject.metadata!.name!)
|
|
70
|
+
: !carriesNamespace(kubernetesObject),
|
|
71
|
+
),
|
|
72
|
+
]);
|
|
73
|
+
|
|
74
|
+
/*
|
|
75
|
+
* If the object does not have a namespace, and it is not a namespace,
|
|
76
|
+
* then we must return false because it cannot be ignored
|
|
77
|
+
*/
|
|
78
|
+
export const carriesIgnoredNamespace = allPass([
|
|
79
|
+
pipe(nthArg(0), length, gt(__, 0)),
|
|
80
|
+
pipe((namespaceSelector, kubernetesObject) => {
|
|
81
|
+
if (kubernetesObject?.kind === "Namespace") {
|
|
82
|
+
return namespaceSelector.includes(kubernetesObject?.metadata?.name);
|
|
83
|
+
}
|
|
84
|
+
if (carriesNamespace(kubernetesObject)) {
|
|
85
|
+
return namespaceSelector.includes(carriedNamespace(kubernetesObject));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return false;
|
|
89
|
+
}),
|
|
90
|
+
]);
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// SPDX-FileCopyrightText: 2023-Present The Pepr Authors
|
|
3
|
+
|
|
4
|
+
import { AdmissionRequest, Binding } from "../../types";
|
|
5
|
+
import { allPass, any, anyPass, equals, not, nthArg, pipe } from "ramda";
|
|
6
|
+
import {
|
|
7
|
+
definedAnnotations,
|
|
8
|
+
definedEvent,
|
|
9
|
+
definedGroup,
|
|
10
|
+
definedKind,
|
|
11
|
+
definedLabels,
|
|
12
|
+
definedName,
|
|
13
|
+
definedNameRegex,
|
|
14
|
+
definedNamespaceRegexes,
|
|
15
|
+
definedNamespaces,
|
|
16
|
+
definedVersion,
|
|
17
|
+
definesAnnotations,
|
|
18
|
+
definesDeletionTimestamp,
|
|
19
|
+
definesGroup,
|
|
20
|
+
definesKind,
|
|
21
|
+
definesLabels,
|
|
22
|
+
definesName,
|
|
23
|
+
definesNameRegex,
|
|
24
|
+
definesNamespaceRegexes,
|
|
25
|
+
definesNamespaces,
|
|
26
|
+
definesVersion,
|
|
27
|
+
} from "./binding";
|
|
28
|
+
import {
|
|
29
|
+
carriedAnnotations,
|
|
30
|
+
carriedLabels,
|
|
31
|
+
carriedName,
|
|
32
|
+
carriedNamespace,
|
|
33
|
+
missingDeletionTimestamp,
|
|
34
|
+
} from "./kubernetesObject";
|
|
35
|
+
import { declaredOperation, declaredGroup, declaredVersion, declaredKind } from "./admissionRequest";
|
|
36
|
+
import { Event, Operation } from "../../enums";
|
|
37
|
+
|
|
38
|
+
export const mismatchedDeletionTimestamp = allPass([
|
|
39
|
+
pipe(nthArg(0), definesDeletionTimestamp),
|
|
40
|
+
pipe(nthArg(1), missingDeletionTimestamp),
|
|
41
|
+
]);
|
|
42
|
+
|
|
43
|
+
export const mismatchedName = allPass([
|
|
44
|
+
pipe(nthArg(0), definesName),
|
|
45
|
+
pipe((binding, kubernetesObject) => definedName(binding) !== carriedName(kubernetesObject)),
|
|
46
|
+
]);
|
|
47
|
+
|
|
48
|
+
export const mismatchedNameRegex = allPass([
|
|
49
|
+
pipe(nthArg(0), definesNameRegex),
|
|
50
|
+
pipe((binding, kubernetesObject) => new RegExp(definedNameRegex(binding)).test(carriedName(kubernetesObject)), not),
|
|
51
|
+
]);
|
|
52
|
+
|
|
53
|
+
export const mismatchedNamespace = allPass([
|
|
54
|
+
pipe(nthArg(0), definesNamespaces),
|
|
55
|
+
pipe((binding, kubernetesObject) => definedNamespaces(binding).includes(carriedNamespace(kubernetesObject)), not),
|
|
56
|
+
]);
|
|
57
|
+
|
|
58
|
+
export const mismatchedNamespaceRegex = allPass([
|
|
59
|
+
pipe(nthArg(0), definesNamespaceRegexes),
|
|
60
|
+
pipe((binding, kubernetesObject) =>
|
|
61
|
+
pipe(
|
|
62
|
+
any((regEx: string) => new RegExp(regEx).test(carriedNamespace(kubernetesObject))),
|
|
63
|
+
not,
|
|
64
|
+
)(definedNamespaceRegexes(binding)),
|
|
65
|
+
),
|
|
66
|
+
]);
|
|
67
|
+
|
|
68
|
+
export const metasMismatch = pipe(
|
|
69
|
+
(defined, carried) => {
|
|
70
|
+
const result = { defined, carried, unalike: {} };
|
|
71
|
+
|
|
72
|
+
result.unalike = Object.entries(result.defined)
|
|
73
|
+
.map(([key, value]) => {
|
|
74
|
+
const keyMissing = !Object.hasOwn(result.carried, key);
|
|
75
|
+
const noValue = !value;
|
|
76
|
+
const valMissing = !result.carried[key];
|
|
77
|
+
const valDiffers = result.carried[key] !== result.defined[key];
|
|
78
|
+
|
|
79
|
+
// prettier-ignore
|
|
80
|
+
return (
|
|
81
|
+
keyMissing ? { [key]: value } :
|
|
82
|
+
noValue ? {} :
|
|
83
|
+
valMissing ? { [key]: value } :
|
|
84
|
+
valDiffers ? { [key]: value } :
|
|
85
|
+
{}
|
|
86
|
+
)
|
|
87
|
+
})
|
|
88
|
+
.reduce((acc, cur) => ({ ...acc, ...cur }), {});
|
|
89
|
+
|
|
90
|
+
return result.unalike;
|
|
91
|
+
},
|
|
92
|
+
unalike => Object.keys(unalike).length > 0,
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
export const mismatchedAnnotations = allPass([
|
|
96
|
+
pipe(nthArg(0), definesAnnotations),
|
|
97
|
+
pipe((binding, kubernetesObject) => metasMismatch(definedAnnotations(binding), carriedAnnotations(kubernetesObject))),
|
|
98
|
+
]);
|
|
99
|
+
|
|
100
|
+
export const mismatchedLabels = allPass([
|
|
101
|
+
pipe(nthArg(0), definesLabels),
|
|
102
|
+
pipe((binding, kubernetesObject) => metasMismatch(definedLabels(binding), carriedLabels(kubernetesObject))),
|
|
103
|
+
]);
|
|
104
|
+
|
|
105
|
+
export const mismatchedEvent = pipe(
|
|
106
|
+
(binding: Binding, request: AdmissionRequest): boolean =>
|
|
107
|
+
operationMatchesEvent(declaredOperation(request), definedEvent(binding)),
|
|
108
|
+
not,
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
export const mismatchedGroup = allPass([
|
|
112
|
+
pipe(nthArg(0), definesGroup),
|
|
113
|
+
pipe((binding, request) => definedGroup(binding) !== declaredGroup(request)),
|
|
114
|
+
]);
|
|
115
|
+
|
|
116
|
+
export const mismatchedVersion = allPass([
|
|
117
|
+
pipe(nthArg(0), definesVersion),
|
|
118
|
+
pipe((binding, request) => definedVersion(binding) !== declaredVersion(request)),
|
|
119
|
+
]);
|
|
120
|
+
|
|
121
|
+
export const mismatchedKind = allPass([
|
|
122
|
+
pipe(nthArg(0), definesKind),
|
|
123
|
+
pipe((binding, request) => definedKind(binding) !== declaredKind(request)),
|
|
124
|
+
]);
|
|
125
|
+
export const operationMatchesEvent = anyPass([
|
|
126
|
+
pipe(nthArg(1), equals(Event.ANY)),
|
|
127
|
+
pipe((operation: Operation, event: Event): boolean => operation.valueOf() === event.valueOf()),
|
|
128
|
+
pipe((operation: Operation, event: Event): boolean => (operation ? event.includes(operation) : false)),
|
|
129
|
+
]);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// SPDX-FileCopyrightText: 2023-Present The Pepr Authors
|
|
3
|
+
|
|
4
|
+
import { __, allPass, curry, difference, equals, gt, length, not, nthArg, pipe } from "ramda";
|
|
5
|
+
import { KubernetesObject } from "kubernetes-fluent-client";
|
|
6
|
+
import { definedKind, definedNamespaces, definesDelete, definesDeletionTimestamp, definesNamespaces } from "./binding";
|
|
7
|
+
import { carriedNamespace, carriesNamespace } from "./kubernetesObject";
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
Naming scheme:
|
|
11
|
+
- AdmissionRequest - "declares" / "neglects"
|
|
12
|
+
- KubernetesObject - "carries" / "missing"
|
|
13
|
+
- Binding - "defines" / "ignores"
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
export const bindsToKind = curry(
|
|
17
|
+
allPass([pipe(nthArg(0), definedKind, equals(""), not), pipe((binding, kind) => definedKind(binding) === kind)]),
|
|
18
|
+
);
|
|
19
|
+
export const bindsToNamespace = curry(pipe(bindsToKind(__, "Namespace")));
|
|
20
|
+
export const misboundNamespace = allPass([bindsToNamespace, definesNamespaces]);
|
|
21
|
+
|
|
22
|
+
/*
|
|
23
|
+
* If the object does not have a namespace, and it is not a namespace,
|
|
24
|
+
* then we must return false because it cannot be uncarryable
|
|
25
|
+
*/
|
|
26
|
+
export const uncarryableNamespace = allPass([
|
|
27
|
+
pipe(nthArg(0), length, gt(__, 0)),
|
|
28
|
+
pipe((namespaceSelector, kubernetesObject) => {
|
|
29
|
+
if (kubernetesObject?.kind === "Namespace") {
|
|
30
|
+
return namespaceSelector.includes(kubernetesObject?.metadata?.name);
|
|
31
|
+
}
|
|
32
|
+
if (carriesNamespace(kubernetesObject)) {
|
|
33
|
+
return namespaceSelector.includes(carriedNamespace(kubernetesObject));
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}, not),
|
|
37
|
+
]);
|
|
38
|
+
|
|
39
|
+
export const missingCarriableNamespace = allPass([
|
|
40
|
+
pipe(nthArg(0), length, gt(__, 0)),
|
|
41
|
+
pipe((namespaceSelector: string[], kubernetesObject: KubernetesObject): boolean =>
|
|
42
|
+
kubernetesObject.kind === "Namespace"
|
|
43
|
+
? !namespaceSelector.includes(kubernetesObject.metadata!.name!)
|
|
44
|
+
: !carriesNamespace(kubernetesObject),
|
|
45
|
+
),
|
|
46
|
+
]);
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
* If the object does not have a namespace, and it is not a namespace,
|
|
50
|
+
* then we must return false because it cannot be ignored
|
|
51
|
+
*/
|
|
52
|
+
export const carriesIgnoredNamespace = allPass([
|
|
53
|
+
pipe(nthArg(0), length, gt(__, 0)),
|
|
54
|
+
pipe((namespaceSelector, kubernetesObject) => {
|
|
55
|
+
if (kubernetesObject?.kind === "Namespace") {
|
|
56
|
+
return namespaceSelector.includes(kubernetesObject?.metadata?.name);
|
|
57
|
+
}
|
|
58
|
+
if (carriesNamespace(kubernetesObject)) {
|
|
59
|
+
return namespaceSelector.includes(carriedNamespace(kubernetesObject));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return false;
|
|
63
|
+
}),
|
|
64
|
+
]);
|
|
65
|
+
|
|
66
|
+
export const unbindableNamespaces = allPass([
|
|
67
|
+
pipe(nthArg(0), length, gt(__, 0)),
|
|
68
|
+
pipe(nthArg(1), definesNamespaces),
|
|
69
|
+
pipe(
|
|
70
|
+
(namespaceSelector, binding) => difference(definedNamespaces(binding), namespaceSelector),
|
|
71
|
+
length,
|
|
72
|
+
equals(0),
|
|
73
|
+
not,
|
|
74
|
+
),
|
|
75
|
+
]);
|
|
76
|
+
|
|
77
|
+
export const misboundDeleteWithDeletionTimestamp = allPass([definesDelete, definesDeletionTimestamp]);
|
package/src/lib/filter/filter.ts
CHANGED
|
@@ -5,42 +5,40 @@ import { AdmissionRequest, Binding } from "../types";
|
|
|
5
5
|
import { Operation } from "../enums";
|
|
6
6
|
import { KubernetesObject } from "kubernetes-fluent-client";
|
|
7
7
|
import {
|
|
8
|
-
carriedAnnotations,
|
|
9
|
-
carriedLabels,
|
|
10
|
-
carriedName,
|
|
11
|
-
carriedNamespace,
|
|
12
8
|
carriesIgnoredNamespace,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
misboundDeleteWithDeletionTimestamp,
|
|
10
|
+
misboundNamespace,
|
|
11
|
+
missingCarriableNamespace,
|
|
12
|
+
unbindableNamespaces,
|
|
13
|
+
uncarryableNamespace,
|
|
14
|
+
} from "./adjudicators/postCollection";
|
|
15
|
+
import { declaredOperation, declaredGroup, declaredVersion, declaredKind } from "./adjudicators/admissionRequest";
|
|
16
|
+
import {
|
|
18
17
|
definedEvent,
|
|
18
|
+
definedName,
|
|
19
19
|
definedGroup,
|
|
20
|
+
definedVersion,
|
|
20
21
|
definedKind,
|
|
22
|
+
definedNamespaces,
|
|
21
23
|
definedLabels,
|
|
22
|
-
|
|
23
|
-
definedNameRegex,
|
|
24
|
+
definedAnnotations,
|
|
24
25
|
definedNamespaceRegexes,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
mismatchedAnnotations,
|
|
26
|
+
definedNameRegex,
|
|
27
|
+
} from "./adjudicators/binding";
|
|
28
|
+
import { carriedName, carriedNamespace, carriedLabels, carriedAnnotations } from "./adjudicators/kubernetesObject";
|
|
29
|
+
import {
|
|
30
30
|
mismatchedDeletionTimestamp,
|
|
31
31
|
mismatchedEvent,
|
|
32
|
+
mismatchedName,
|
|
32
33
|
mismatchedGroup,
|
|
34
|
+
mismatchedVersion,
|
|
33
35
|
mismatchedKind,
|
|
34
|
-
mismatchedLabels,
|
|
35
|
-
mismatchedName,
|
|
36
|
-
mismatchedNameRegex,
|
|
37
36
|
mismatchedNamespace,
|
|
37
|
+
mismatchedLabels,
|
|
38
|
+
mismatchedAnnotations,
|
|
38
39
|
mismatchedNamespaceRegex,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
unbindableNamespaces,
|
|
42
|
-
uncarryableNamespace,
|
|
43
|
-
} from "./adjudicators/adjudicators";
|
|
40
|
+
mismatchedNameRegex,
|
|
41
|
+
} from "./adjudicators/mismatch";
|
|
44
42
|
|
|
45
43
|
type AdjudicationResult = string | null;
|
|
46
44
|
type Adjudicator = () => AdjudicationResult;
|
|
@@ -147,7 +147,7 @@ async function runBinding(
|
|
|
147
147
|
};
|
|
148
148
|
|
|
149
149
|
// Setup the resource watch
|
|
150
|
-
const watcher = K8s(binding.model, binding.filters).Watch(async (obj, phase) => {
|
|
150
|
+
const watcher = K8s(binding.model, { ...binding.filters, kindOverride: binding.kind }).Watch(async (obj, phase) => {
|
|
151
151
|
Log.debug(obj, `Watch event ${phase} received`);
|
|
152
152
|
|
|
153
153
|
if (binding.isQueue) {
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Event, Operation } from "../../enums";
|
|
2
|
-
import { AdmissionRequest, Binding, FinalizeAction, WatchLogAction, MutateAction, ValidateAction } from "../../types";
|
|
3
|
-
import { GenericClass, KubernetesObject } from "kubernetes-fluent-client";
|
|
4
|
-
export declare const declaredOperation: (request: AdmissionRequest<KubernetesObject>) => Operation;
|
|
5
|
-
export declare const declaredGroup: (request: AdmissionRequest<KubernetesObject>) => string;
|
|
6
|
-
export declare const declaredVersion: (request: AdmissionRequest<KubernetesObject>) => string;
|
|
7
|
-
export declare const declaredKind: (request: AdmissionRequest<KubernetesObject>) => string;
|
|
8
|
-
export declare const declaredUid: (request: AdmissionRequest<KubernetesObject>) => string;
|
|
9
|
-
export declare const carriesDeletionTimestamp: (kubernetesObject: any) => boolean;
|
|
10
|
-
export declare const missingDeletionTimestamp: (kubernetesObject: any) => boolean;
|
|
11
|
-
export declare const carriedKind: (kubernetesObject: KubernetesObject) => string;
|
|
12
|
-
export declare const carriedVersion: (kubernetesObject: KubernetesObject) => string;
|
|
13
|
-
export declare const carriedName: (kubernetesObject: KubernetesObject) => string;
|
|
14
|
-
export declare const carriesName: (kubernetesObject: KubernetesObject) => boolean;
|
|
15
|
-
export declare const missingName: (kubernetesObject: KubernetesObject) => boolean;
|
|
16
|
-
export declare const carriedNamespace: (kubernetesObject: KubernetesObject) => string;
|
|
17
|
-
export declare const carriesNamespace: (kubernetesObject: KubernetesObject) => boolean;
|
|
18
|
-
export declare const carriedAnnotations: (kubernetesObject: KubernetesObject) => {
|
|
19
|
-
[key: string]: string;
|
|
20
|
-
} | {};
|
|
21
|
-
export declare const carriesAnnotations: (kubernetesObject: KubernetesObject) => boolean;
|
|
22
|
-
export declare const carriedLabels: (kubernetesObject: KubernetesObject) => {
|
|
23
|
-
[key: string]: string;
|
|
24
|
-
} | {};
|
|
25
|
-
export declare const carriesLabels: (kubernetesObject: KubernetesObject) => boolean;
|
|
26
|
-
export declare const definesDeletionTimestamp: (binding: Binding) => boolean;
|
|
27
|
-
export declare const ignoresDeletionTimestamp: (binding: Binding) => boolean;
|
|
28
|
-
export declare const definedName: (binding: Binding) => string;
|
|
29
|
-
export declare const definesName: (binding: Binding) => boolean;
|
|
30
|
-
export declare const ignoresName: (binding: Binding) => boolean;
|
|
31
|
-
export declare const definedNameRegex: (binding: Partial<Binding>) => string;
|
|
32
|
-
export declare const definesNameRegex: (binding: Partial<Binding>) => boolean;
|
|
33
|
-
export declare const definedNamespaces: (binding: any) => any;
|
|
34
|
-
export declare const definesNamespaces: (binding: any) => boolean;
|
|
35
|
-
export declare const definedNamespaceRegexes: (binding: any) => any;
|
|
36
|
-
export declare const definesNamespaceRegexes: (binding: any) => boolean;
|
|
37
|
-
export declare const definedAnnotations: (binding: Partial<Binding>) => Record<string, string> | {};
|
|
38
|
-
export declare const definesAnnotations: (binding: Partial<Binding>) => boolean;
|
|
39
|
-
export declare const definedLabels: (binding: Partial<Binding>) => Record<string, string> | {};
|
|
40
|
-
export declare const definesLabels: (binding: Partial<Binding>) => boolean;
|
|
41
|
-
export declare const definedEvent: (binding: Binding) => Event;
|
|
42
|
-
export declare const definesDelete: (binding: Binding) => boolean;
|
|
43
|
-
export declare const definedGroup: (binding: any) => string;
|
|
44
|
-
export declare const definesGroup: (binding: any) => boolean;
|
|
45
|
-
export declare const definedVersion: (binding: Partial<Binding>) => string;
|
|
46
|
-
export declare const definesVersion: (binding: Partial<Binding>) => boolean;
|
|
47
|
-
export declare const definedKind: (binding: any) => string;
|
|
48
|
-
export declare const definesKind: (binding: any) => boolean;
|
|
49
|
-
export declare const definedCategory: (binding: Partial<Binding>) => string;
|
|
50
|
-
export type DefinedCallbackReturnType = FinalizeAction<GenericClass, InstanceType<GenericClass>> | WatchLogAction<GenericClass, InstanceType<GenericClass>> | MutateAction<GenericClass, InstanceType<GenericClass>> | ValidateAction<GenericClass, InstanceType<GenericClass>> | null | undefined;
|
|
51
|
-
export declare const definedCallback: (binding: Partial<Binding>) => DefinedCallbackReturnType;
|
|
52
|
-
export declare const definedCallbackName: (binding: Partial<Binding>) => string;
|
|
53
|
-
export declare const mismatchedDeletionTimestamp: (...args: any[]) => boolean;
|
|
54
|
-
export declare const mismatchedName: (...args: any[]) => boolean;
|
|
55
|
-
export declare const mismatchedNameRegex: (...args: any[]) => boolean;
|
|
56
|
-
export declare const bindsToKind: import("ts-toolbelt/out/Function/Curry").Curry<(...args: any[]) => boolean>;
|
|
57
|
-
export declare const bindsToNamespace: import("ts-toolbelt/out/Function/Curry").Curry<(...args: any[]) => unknown>;
|
|
58
|
-
export declare const misboundNamespace: ((binding: any) => boolean) | import("ts-toolbelt/out/Function/Curry").Curry<(...args: any[]) => unknown>;
|
|
59
|
-
export declare const mismatchedNamespace: (...args: any[]) => boolean;
|
|
60
|
-
export declare const mismatchedNamespaceRegex: (...args: any[]) => boolean;
|
|
61
|
-
export declare const metasMismatch: (defined: any, carried: any) => boolean;
|
|
62
|
-
export declare const mismatchedAnnotations: (...args: any[]) => boolean;
|
|
63
|
-
export declare const mismatchedLabels: (...args: any[]) => boolean;
|
|
64
|
-
export declare const uncarryableNamespace: (...args: any[]) => boolean;
|
|
65
|
-
export declare const missingCarriableNamespace: ((...args: any[]) => boolean) | ((namespaceSelector: string[], kubernetesObject: KubernetesObject) => boolean);
|
|
66
|
-
export declare const carriesIgnoredNamespace: ((...args: any[]) => boolean) | ((namespaceSelector: any, kubernetesObject: any) => any);
|
|
67
|
-
export declare const unbindableNamespaces: (...args: any[]) => boolean;
|
|
68
|
-
export declare const misboundDeleteWithDeletionTimestamp: (binding: Binding) => boolean;
|
|
69
|
-
export declare const operationMatchesEvent: ((...args: any[]) => boolean) | ((operation: Operation, event: Event) => boolean);
|
|
70
|
-
export declare const mismatchedEvent: (binding: Binding, request: AdmissionRequest<KubernetesObject>) => boolean;
|
|
71
|
-
export declare const mismatchedGroup: (...args: any[]) => boolean;
|
|
72
|
-
export declare const mismatchedVersion: (...args: any[]) => boolean;
|
|
73
|
-
export declare const mismatchedKind: (...args: any[]) => boolean;
|
|
74
|
-
//# sourceMappingURL=adjudicators.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adjudicators.d.ts","sourceRoot":"","sources":["../../../../src/lib/filter/adjudicators/adjudicators.ts"],"names":[],"mappings":"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"}
|