pepr 0.46.3 → 0.47.0-nightly.1

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 (57) hide show
  1. package/dist/cli/build.helpers.d.ts.map +1 -1
  2. package/dist/cli/init/enums.d.ts +1 -0
  3. package/dist/cli/init/enums.d.ts.map +1 -1
  4. package/dist/cli/init/index.d.ts.map +1 -1
  5. package/dist/cli/init/templates.d.ts +4 -3
  6. package/dist/cli/init/templates.d.ts.map +1 -1
  7. package/dist/cli/init/walkthrough.d.ts +1 -0
  8. package/dist/cli/init/walkthrough.d.ts.map +1 -1
  9. package/dist/cli/types.d.ts +1 -1
  10. package/dist/cli/types.d.ts.map +1 -1
  11. package/dist/cli.js +492 -459
  12. package/dist/controller.js +1 -1
  13. package/dist/lib/assets/assets.d.ts +3 -2
  14. package/dist/lib/assets/assets.d.ts.map +1 -1
  15. package/dist/lib/assets/envrionment.d.ts +4 -0
  16. package/dist/lib/assets/envrionment.d.ts.map +1 -0
  17. package/dist/lib/assets/pods.d.ts +1 -3
  18. package/dist/lib/assets/pods.d.ts.map +1 -1
  19. package/dist/lib/assets/yaml/overridesFile.d.ts +1 -2
  20. package/dist/lib/assets/yaml/overridesFile.d.ts.map +1 -1
  21. package/dist/lib/common-types.d.ts +1 -0
  22. package/dist/lib/common-types.d.ts.map +1 -1
  23. package/dist/lib/controller/index.util.d.ts.map +1 -1
  24. package/dist/lib/filter/adjudication.d.ts +22 -0
  25. package/dist/lib/filter/adjudication.d.ts.map +1 -0
  26. package/dist/lib/filter/filter.d.ts +0 -19
  27. package/dist/lib/filter/filter.d.ts.map +1 -1
  28. package/dist/lib/processors/validate-processor.d.ts.map +1 -1
  29. package/dist/lib/types.d.ts +1 -0
  30. package/dist/lib/types.d.ts.map +1 -1
  31. package/dist/lib/validate-request.d.ts +2 -2
  32. package/dist/lib/validate-request.d.ts.map +1 -1
  33. package/dist/lib.js +248 -235
  34. package/dist/lib.js.map +4 -4
  35. package/package.json +10 -8
  36. package/src/cli/build.helpers.ts +3 -2
  37. package/src/cli/init/enums.ts +2 -0
  38. package/src/cli/init/index.ts +19 -3
  39. package/src/cli/init/templates.ts +3 -3
  40. package/src/cli/init/walkthrough.ts +21 -1
  41. package/src/cli/types.ts +1 -1
  42. package/src/lib/assets/assets.ts +24 -5
  43. package/src/lib/assets/envrionment.ts +26 -0
  44. package/src/lib/assets/pods.ts +2 -26
  45. package/src/lib/assets/yaml/overridesFile.ts +2 -3
  46. package/src/lib/common-types.ts +1 -0
  47. package/src/lib/controller/index.util.ts +10 -0
  48. package/src/lib/filter/adjudication.ts +196 -0
  49. package/src/lib/filter/filter.ts +20 -194
  50. package/src/lib/processors/validate-processor.ts +5 -0
  51. package/src/lib/types.ts +1 -0
  52. package/src/lib/validate-request.ts +9 -3
  53. package/src/fixtures/data/admission-create-clusterrole.json +0 -52
  54. package/src/fixtures/data/admission-create-deployment.json +0 -93
  55. package/src/fixtures/data/admission-create-pod.json +0 -272
  56. package/src/fixtures/data/admission-delete-pod.json +0 -272
  57. package/src/fixtures/loader.ts +0 -28
@@ -1,272 +0,0 @@
1
- {
2
- "uid": "af5c3d45-72b8-11eb-a3a3-0242ac130003",
3
- "kind": {
4
- "group": "",
5
- "version": "v1",
6
- "kind": "Pod"
7
- },
8
- "resource": {
9
- "group": "",
10
- "version": "v1",
11
- "resource": "pods"
12
- },
13
- "subResource": "",
14
- "name": "podinfo",
15
- "namespace": "default",
16
- "operation": "DELETE",
17
- "userInfo": {
18
- "username": "system:serviceaccount:kube-system:replicaset-controller",
19
- "uid": "95c8f0ca-d31a-4d3f-9f27-9a2a2661ab3c",
20
- "groups": [
21
- "system:serviceaccounts",
22
- "system:serviceaccounts:kube-system",
23
- "system:authenticated"
24
- ]
25
- },
26
- "oldObject": {
27
- "apiVersion": "v1",
28
- "kind": "Pod",
29
- "metadata": {
30
- "annotations": {
31
- "prometheus.io/port": "9898",
32
- "prometheus.io/scrape": "true"
33
- },
34
- "creationTimestamp": "2023-03-07T07:48:13Z",
35
- "generateName": "cool-name-podinfo-66bbff7cf4-",
36
- "labels": {
37
- "app.kubernetes.io/name": "cool-name-podinfo",
38
- "pod-template-hash": "66bbff7cf4",
39
- "zarf-agent": "patched",
40
- "test-op": "delete"
41
- },
42
- "name": "cool-name-podinfo-66bbff7cf4-fwhl2",
43
- "namespace": "helm-releasename",
44
- "ownerReferences": [
45
- {
46
- "apiVersion": "apps/v1",
47
- "blockOwnerDeletion": true,
48
- "controller": true,
49
- "kind": "ReplicaSet",
50
- "name": "cool-name-podinfo-66bbff7cf4",
51
- "uid": "41d30484-6ccd-462b-b96a-e166095e3681"
52
- }
53
- ],
54
- "resourceVersion": "46512",
55
- "uid": "883303bc-e4b7-4fa8-a576-575cc4407201"
56
- },
57
- "spec": {
58
- "containers": [
59
- {
60
- "command": [
61
- "./podinfo",
62
- "--port=9898",
63
- "--cert-path=/data/cert",
64
- "--port-metrics=9797",
65
- "--grpc-port=9999",
66
- "--grpc-service-name=podinfo",
67
- "--level=info",
68
- "--random-delay=false",
69
- "--random-error=false"
70
- ],
71
- "env": [
72
- {
73
- "name": "PODINFO_UI_COLOR",
74
- "value": "#34577c"
75
- }
76
- ],
77
- "image": "127.0.0.1:31999/stefanprodan/podinfo-2985051089:6.1.6",
78
- "imagePullPolicy": "IfNotPresent",
79
- "livenessProbe": {
80
- "exec": {
81
- "command": ["podcli", "check", "http", "localhost:9898/healthz"]
82
- },
83
- "failureThreshold": 3,
84
- "initialDelaySeconds": 1,
85
- "periodSeconds": 10,
86
- "successThreshold": 1,
87
- "timeoutSeconds": 5
88
- },
89
- "name": "podinfo",
90
- "ports": [
91
- {
92
- "containerPort": 9898,
93
- "name": "http",
94
- "protocol": "TCP"
95
- },
96
- {
97
- "containerPort": 9797,
98
- "name": "http-metrics",
99
- "protocol": "TCP"
100
- },
101
- {
102
- "containerPort": 9999,
103
- "name": "grpc",
104
- "protocol": "TCP"
105
- }
106
- ],
107
- "readinessProbe": {
108
- "exec": {
109
- "command": ["podcli", "check", "http", "localhost:9898/readyz"]
110
- },
111
- "failureThreshold": 3,
112
- "initialDelaySeconds": 1,
113
- "periodSeconds": 10,
114
- "successThreshold": 1,
115
- "timeoutSeconds": 5
116
- },
117
- "resources": {
118
- "requests": {
119
- "cpu": "1m",
120
- "memory": "16Mi"
121
- }
122
- },
123
- "terminationMessagePath": "/dev/termination-log",
124
- "terminationMessagePolicy": "File",
125
- "volumeMounts": [
126
- {
127
- "mountPath": "/data",
128
- "name": "data"
129
- },
130
- {
131
- "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
132
- "name": "kube-api-access-vn9dc",
133
- "readOnly": true
134
- }
135
- ]
136
- }
137
- ],
138
- "dnsPolicy": "ClusterFirst",
139
- "enableServiceLinks": true,
140
- "imagePullSecrets": [
141
- {
142
- "name": "private-registry"
143
- }
144
- ],
145
- "nodeName": "k3d-k3s-default-server-0",
146
- "preemptionPolicy": "PreemptLowerPriority",
147
- "priority": 0,
148
- "restartPolicy": "Always",
149
- "schedulerName": "default-scheduler",
150
- "securityContext": {},
151
- "serviceAccount": "default",
152
- "serviceAccountName": "default",
153
- "terminationGracePeriodSeconds": 30,
154
- "tolerations": [
155
- {
156
- "effect": "NoExecute",
157
- "key": "node.kubernetes.io/not-ready",
158
- "operator": "Exists",
159
- "tolerationSeconds": 300
160
- },
161
- {
162
- "effect": "NoExecute",
163
- "key": "node.kubernetes.io/unreachable",
164
- "operator": "Exists",
165
- "tolerationSeconds": 300
166
- }
167
- ],
168
- "volumes": [
169
- {
170
- "emptyDir": {},
171
- "name": "data"
172
- },
173
- {
174
- "name": "kube-api-access-vn9dc",
175
- "projected": {
176
- "defaultMode": 420,
177
- "sources": [
178
- {
179
- "serviceAccountToken": {
180
- "expirationSeconds": 3607,
181
- "path": "token"
182
- }
183
- },
184
- {
185
- "configMap": {
186
- "items": [
187
- {
188
- "key": "ca.crt",
189
- "path": "ca.crt"
190
- }
191
- ],
192
- "name": "kube-root-ca.crt"
193
- }
194
- },
195
- {
196
- "downwardAPI": {
197
- "items": [
198
- {
199
- "fieldRef": {
200
- "apiVersion": "v1",
201
- "fieldPath": "metadata.namespace"
202
- },
203
- "path": "namespace"
204
- }
205
- ]
206
- }
207
- }
208
- ]
209
- }
210
- }
211
- ]
212
- },
213
- "status": {
214
- "conditions": [
215
- {
216
- "lastProbeTime": null,
217
- "lastTransitionTime": "2023-03-07T07:48:13Z",
218
- "status": "True",
219
- "type": "Initialized"
220
- },
221
- {
222
- "lastProbeTime": null,
223
- "lastTransitionTime": "2023-03-07T07:48:16Z",
224
- "status": "True",
225
- "type": "Ready"
226
- },
227
- {
228
- "lastProbeTime": null,
229
- "lastTransitionTime": "2023-03-07T07:48:16Z",
230
- "status": "True",
231
- "type": "ContainersReady"
232
- },
233
- {
234
- "lastProbeTime": null,
235
- "lastTransitionTime": "2023-03-07T07:48:13Z",
236
- "status": "True",
237
- "type": "PodScheduled"
238
- }
239
- ],
240
- "containerStatuses": [
241
- {
242
- "containerID": "containerd://81b20dafbf2498a52c8ab46fa1e95ce25c06271684e590a377ee4ac9fd2a85ee",
243
- "image": "127.0.0.1:31999/stefanprodan/podinfo-2985051089:6.1.6",
244
- "imageID": "127.0.0.1:31999/stefanprodan/podinfo-2985051089@sha256:1f1fb2d1bfadac8a487106ea62b2b582bedc83fe17b3332dffe9151dfc820742",
245
- "lastState": {},
246
- "name": "podinfo",
247
- "ready": true,
248
- "restartCount": 0,
249
- "started": true,
250
- "state": {
251
- "running": {
252
- "startedAt": "2023-03-07T07:48:14Z"
253
- }
254
- }
255
- }
256
- ],
257
- "hostIP": "172.19.0.3",
258
- "phase": "Running",
259
- "podIP": "10.42.0.26",
260
- "podIPs": [
261
- {
262
- "ip": "10.42.0.26"
263
- }
264
- ],
265
- "qosClass": "Burstable",
266
- "startTime": "2023-03-07T07:48:13Z"
267
- }
268
- },
269
- "dryRun": false,
270
- "options": null,
271
- "object": null
272
- }
@@ -1,28 +0,0 @@
1
- import { kind } from "kubernetes-fluent-client";
2
-
3
- import admissionRequestCreatePod from "./data/admission-create-pod.json";
4
- import admissionRequestDeletePod from "./data/admission-delete-pod.json";
5
- import admissionRequestCreateClusterRole from "./data/admission-create-clusterrole.json";
6
- import admissionRequestCreateDeployment from "./data/admission-create-deployment.json";
7
- import { AdmissionRequest } from "../lib/common-types";
8
-
9
- export function AdmissionRequestCreateDeployment(): AdmissionRequest<kind.Deployment> {
10
- return cloneObject<kind.Deployment>(admissionRequestCreateDeployment);
11
- }
12
-
13
- export function AdmissionRequestCreatePod(): AdmissionRequest<kind.Pod> {
14
- return cloneObject<kind.Pod>(admissionRequestCreatePod);
15
- }
16
-
17
- export function AdmissionRequestDeletePod(): AdmissionRequest<kind.Pod> {
18
- return cloneObject<kind.Pod>(admissionRequestDeletePod);
19
- }
20
-
21
- export function AdmissionRequestCreateClusterRole(): AdmissionRequest<kind.ClusterRole> {
22
- return cloneObject<kind.ClusterRole>(admissionRequestCreateClusterRole);
23
- }
24
-
25
- function cloneObject<T>(obj: unknown): AdmissionRequest<T> {
26
- // JSON to avoid funky typescript silliness on jsonmodules
27
- return JSON.parse(JSON.stringify(obj)) as AdmissionRequest<T>;
28
- }