pepr 0.46.2 → 0.46.3-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 (286) hide show
  1. package/dist/cli/banner.d.ts.map +1 -0
  2. package/dist/cli/build.d.ts.map +1 -0
  3. package/dist/cli/build.helpers.d.ts.map +1 -0
  4. package/dist/cli/deploy.d.ts.map +1 -0
  5. package/dist/cli/dev.d.ts.map +1 -0
  6. package/dist/cli/format.d.ts.map +1 -0
  7. package/dist/cli/format.helpers.d.ts.map +1 -0
  8. package/dist/cli/init/enums.d.ts.map +1 -0
  9. package/dist/cli/init/index.d.ts.map +1 -0
  10. package/dist/{src/cli → cli}/init/templates.d.ts +2 -6
  11. package/dist/cli/init/templates.d.ts.map +1 -0
  12. package/dist/cli/init/utils.d.ts.map +1 -0
  13. package/dist/cli/init/walkthrough.d.ts.map +1 -0
  14. package/dist/cli/kfc.d.ts.map +1 -0
  15. package/dist/cli/monitor.d.ts.map +1 -0
  16. package/dist/cli/root.d.ts.map +1 -0
  17. package/dist/cli/types.d.ts.map +1 -0
  18. package/dist/cli/update.d.ts.map +1 -0
  19. package/dist/cli/uuid.d.ts.map +1 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +79 -23
  22. package/dist/controller.js +1 -1
  23. package/dist/fixtures/loader.d.ts.map +1 -0
  24. package/dist/lib/assets/assets.d.ts.map +1 -0
  25. package/dist/lib/assets/defaultTestObjects.d.ts.map +1 -0
  26. package/dist/lib/assets/deploy.d.ts.map +1 -0
  27. package/dist/lib/assets/destroy.d.ts.map +1 -0
  28. package/dist/lib/assets/helm.d.ts.map +1 -0
  29. package/dist/lib/assets/index.d.ts.map +1 -0
  30. package/dist/lib/assets/loader.d.ts.map +1 -0
  31. package/dist/lib/assets/networking.d.ts.map +1 -0
  32. package/dist/lib/assets/pods.d.ts.map +1 -0
  33. package/dist/lib/assets/rbac.d.ts.map +1 -0
  34. package/dist/lib/assets/store.d.ts.map +1 -0
  35. package/dist/lib/assets/webhooks.d.ts.map +1 -0
  36. package/dist/lib/assets/yaml/generateAllYaml.d.ts.map +1 -0
  37. package/dist/lib/assets/yaml/generateZarfYaml.d.ts.map +1 -0
  38. package/dist/lib/assets/yaml/overridesFile.d.ts.map +1 -0
  39. package/dist/lib/common-types.d.ts.map +1 -0
  40. package/dist/lib/controller/index.d.ts.map +1 -0
  41. package/dist/lib/controller/index.util.d.ts.map +1 -0
  42. package/dist/lib/controller/store.d.ts.map +1 -0
  43. package/dist/lib/controller/storeCache.d.ts.map +1 -0
  44. package/dist/lib/core/capability.d.ts.map +1 -0
  45. package/dist/lib/core/envChecks.d.ts.map +1 -0
  46. package/dist/lib/core/module.d.ts.map +1 -0
  47. package/dist/lib/core/queue.d.ts.map +1 -0
  48. package/dist/lib/core/schedule.d.ts.map +1 -0
  49. package/dist/lib/core/storage.d.ts.map +1 -0
  50. package/dist/lib/deploymentChecks.d.ts.map +1 -0
  51. package/dist/lib/enums.d.ts.map +1 -0
  52. package/dist/lib/errors.d.ts.map +1 -0
  53. package/dist/lib/filesystemService.d.ts.map +1 -0
  54. package/dist/lib/filter/adjudicators/admissionRequest.d.ts.map +1 -0
  55. package/dist/lib/filter/adjudicators/binding.d.ts.map +1 -0
  56. package/dist/lib/filter/adjudicators/defaultTestObjects.d.ts.map +1 -0
  57. package/dist/lib/filter/adjudicators/kubernetesObject.d.ts.map +1 -0
  58. package/dist/lib/filter/adjudicators/mismatch.d.ts.map +1 -0
  59. package/dist/lib/filter/adjudicators/postCollection.d.ts.map +1 -0
  60. package/dist/lib/filter/filter.d.ts.map +1 -0
  61. package/dist/lib/finalizer.d.ts.map +1 -0
  62. package/dist/lib/helpers.d.ts.map +1 -0
  63. package/dist/lib/included-files.d.ts.map +1 -0
  64. package/dist/lib/k8s.d.ts.map +1 -0
  65. package/dist/lib/mutate-request.d.ts.map +1 -0
  66. package/dist/lib/processors/decode-utils.d.ts.map +1 -0
  67. package/dist/lib/processors/mutate-processor.d.ts.map +1 -0
  68. package/dist/lib/processors/validate-processor.d.ts.map +1 -0
  69. package/dist/lib/processors/watch-processor.d.ts.map +1 -0
  70. package/dist/lib/telemetry/logger.d.ts.map +1 -0
  71. package/dist/lib/telemetry/metrics.d.ts.map +1 -0
  72. package/dist/lib/telemetry/timeUtils.d.ts.map +1 -0
  73. package/dist/lib/telemetry/webhookTimeouts.d.ts.map +1 -0
  74. package/dist/lib/tls.d.ts.map +1 -0
  75. package/dist/lib/types.d.ts.map +1 -0
  76. package/dist/lib/utils.d.ts.map +1 -0
  77. package/dist/lib/validate-request.d.ts.map +1 -0
  78. package/dist/lib.d.ts.map +1 -0
  79. package/dist/lib.js +124 -38
  80. package/dist/lib.js.map +2 -2
  81. package/dist/{src/runtime → runtime}/controller.d.ts.map +1 -1
  82. package/dist/sdk/heredoc.d.ts.map +1 -0
  83. package/dist/sdk/sdk.d.ts.map +1 -0
  84. package/package.json +8 -13
  85. package/src/lib/assets/assets.ts +46 -11
  86. package/src/lib/assets/defaultTestObjects.ts +13 -2
  87. package/src/lib/assets/deploy.ts +25 -5
  88. package/src/lib/assets/index.ts +8 -2
  89. package/src/lib/assets/pods.ts +5 -1
  90. package/src/lib/assets/webhooks.ts +12 -3
  91. package/src/lib/assets/yaml/generateAllYaml.ts +12 -2
  92. package/src/lib/controller/index.ts +9 -3
  93. package/src/lib/core/capability.ts +32 -8
  94. package/src/lib/core/module.ts +5 -1
  95. package/src/lib/core/storage.ts +3 -1
  96. package/src/lib/deploymentChecks.ts +3 -1
  97. package/src/lib/filter/adjudicators/admissionRequest.ts +4 -1
  98. package/src/lib/filter/adjudicators/binding.ts +17 -4
  99. package/src/lib/filter/adjudicators/kubernetesObject.ts +4 -2
  100. package/src/lib/filter/adjudicators/mismatch.ts +25 -6
  101. package/src/lib/filter/adjudicators/postCollection.ts +15 -3
  102. package/src/lib/filter/filter.ts +63 -15
  103. package/src/lib/helpers.ts +36 -10
  104. package/src/lib/included-files.ts +5 -1
  105. package/src/lib/processors/decode-utils.ts +4 -1
  106. package/src/lib/processors/mutate-processor.ts +4 -1
  107. package/src/lib/processors/validate-processor.ts +4 -1
  108. package/src/lib/processors/watch-processor.ts +49 -19
  109. package/src/lib/telemetry/metrics.ts +6 -2
  110. package/src/lib/telemetry/webhookTimeouts.ts +4 -1
  111. package/src/templates/.prettierrc.json +3 -2
  112. package/src/templates/capabilities/hello-pepr.ts +2 -8
  113. package/dist/.github/workflows/pepr-excellent-examples-matrix.d.ts +0 -2
  114. package/dist/.github/workflows/pepr-excellent-examples-matrix.d.ts.map +0 -1
  115. package/dist/commitlint.config.d.ts +0 -4
  116. package/dist/commitlint.config.d.ts.map +0 -1
  117. package/dist/integration/helpers/cmd.d.ts +0 -22
  118. package/dist/integration/helpers/cmd.d.ts.map +0 -1
  119. package/dist/integration/helpers/pepr.d.ts +0 -5
  120. package/dist/integration/helpers/pepr.d.ts.map +0 -1
  121. package/dist/integration/helpers/resource.d.ts +0 -18
  122. package/dist/integration/helpers/resource.d.ts.map +0 -1
  123. package/dist/integration/helpers/time.d.ts +0 -4
  124. package/dist/integration/helpers/time.d.ts.map +0 -1
  125. package/dist/integration/helpers/workdir.d.ts +0 -12
  126. package/dist/integration/helpers/workdir.d.ts.map +0 -1
  127. package/dist/scripts/set-version.d.ts +0 -2
  128. package/dist/scripts/set-version.d.ts.map +0 -1
  129. package/dist/src/cli/banner.d.ts.map +0 -1
  130. package/dist/src/cli/build.d.ts.map +0 -1
  131. package/dist/src/cli/build.helpers.d.ts.map +0 -1
  132. package/dist/src/cli/deploy.d.ts.map +0 -1
  133. package/dist/src/cli/dev.d.ts.map +0 -1
  134. package/dist/src/cli/format.d.ts.map +0 -1
  135. package/dist/src/cli/format.helpers.d.ts.map +0 -1
  136. package/dist/src/cli/init/enums.d.ts.map +0 -1
  137. package/dist/src/cli/init/index.d.ts.map +0 -1
  138. package/dist/src/cli/init/templates.d.ts.map +0 -1
  139. package/dist/src/cli/init/utils.d.ts.map +0 -1
  140. package/dist/src/cli/init/walkthrough.d.ts.map +0 -1
  141. package/dist/src/cli/kfc.d.ts.map +0 -1
  142. package/dist/src/cli/monitor.d.ts.map +0 -1
  143. package/dist/src/cli/root.d.ts.map +0 -1
  144. package/dist/src/cli/types.d.ts.map +0 -1
  145. package/dist/src/cli/update.d.ts.map +0 -1
  146. package/dist/src/cli/uuid.d.ts.map +0 -1
  147. package/dist/src/cli.d.ts.map +0 -1
  148. package/dist/src/fixtures/loader.d.ts.map +0 -1
  149. package/dist/src/lib/assets/assets.d.ts.map +0 -1
  150. package/dist/src/lib/assets/defaultTestObjects.d.ts.map +0 -1
  151. package/dist/src/lib/assets/deploy.d.ts.map +0 -1
  152. package/dist/src/lib/assets/destroy.d.ts.map +0 -1
  153. package/dist/src/lib/assets/helm.d.ts.map +0 -1
  154. package/dist/src/lib/assets/index.d.ts.map +0 -1
  155. package/dist/src/lib/assets/loader.d.ts.map +0 -1
  156. package/dist/src/lib/assets/networking.d.ts.map +0 -1
  157. package/dist/src/lib/assets/pods.d.ts.map +0 -1
  158. package/dist/src/lib/assets/rbac.d.ts.map +0 -1
  159. package/dist/src/lib/assets/store.d.ts.map +0 -1
  160. package/dist/src/lib/assets/webhooks.d.ts.map +0 -1
  161. package/dist/src/lib/assets/yaml/generateAllYaml.d.ts.map +0 -1
  162. package/dist/src/lib/assets/yaml/generateZarfYaml.d.ts.map +0 -1
  163. package/dist/src/lib/assets/yaml/overridesFile.d.ts.map +0 -1
  164. package/dist/src/lib/common-types.d.ts.map +0 -1
  165. package/dist/src/lib/controller/index.d.ts.map +0 -1
  166. package/dist/src/lib/controller/index.util.d.ts.map +0 -1
  167. package/dist/src/lib/controller/store.d.ts.map +0 -1
  168. package/dist/src/lib/controller/storeCache.d.ts.map +0 -1
  169. package/dist/src/lib/core/capability.d.ts.map +0 -1
  170. package/dist/src/lib/core/envChecks.d.ts.map +0 -1
  171. package/dist/src/lib/core/module.d.ts.map +0 -1
  172. package/dist/src/lib/core/queue.d.ts.map +0 -1
  173. package/dist/src/lib/core/schedule.d.ts.map +0 -1
  174. package/dist/src/lib/core/storage.d.ts.map +0 -1
  175. package/dist/src/lib/deploymentChecks.d.ts.map +0 -1
  176. package/dist/src/lib/enums.d.ts.map +0 -1
  177. package/dist/src/lib/errors.d.ts.map +0 -1
  178. package/dist/src/lib/filesystemService.d.ts.map +0 -1
  179. package/dist/src/lib/filter/adjudicators/admissionRequest.d.ts.map +0 -1
  180. package/dist/src/lib/filter/adjudicators/binding.d.ts.map +0 -1
  181. package/dist/src/lib/filter/adjudicators/defaultTestObjects.d.ts.map +0 -1
  182. package/dist/src/lib/filter/adjudicators/kubernetesObject.d.ts.map +0 -1
  183. package/dist/src/lib/filter/adjudicators/mismatch.d.ts.map +0 -1
  184. package/dist/src/lib/filter/adjudicators/postCollection.d.ts.map +0 -1
  185. package/dist/src/lib/filter/filter.d.ts.map +0 -1
  186. package/dist/src/lib/finalizer.d.ts.map +0 -1
  187. package/dist/src/lib/helpers.d.ts.map +0 -1
  188. package/dist/src/lib/included-files.d.ts.map +0 -1
  189. package/dist/src/lib/k8s.d.ts.map +0 -1
  190. package/dist/src/lib/mutate-request.d.ts.map +0 -1
  191. package/dist/src/lib/processors/decode-utils.d.ts.map +0 -1
  192. package/dist/src/lib/processors/mutate-processor.d.ts.map +0 -1
  193. package/dist/src/lib/processors/validate-processor.d.ts.map +0 -1
  194. package/dist/src/lib/processors/watch-processor.d.ts.map +0 -1
  195. package/dist/src/lib/telemetry/logger.d.ts.map +0 -1
  196. package/dist/src/lib/telemetry/metrics.d.ts.map +0 -1
  197. package/dist/src/lib/telemetry/timeUtils.d.ts.map +0 -1
  198. package/dist/src/lib/telemetry/webhookTimeouts.d.ts.map +0 -1
  199. package/dist/src/lib/tls.d.ts.map +0 -1
  200. package/dist/src/lib/types.d.ts.map +0 -1
  201. package/dist/src/lib/utils.d.ts.map +0 -1
  202. package/dist/src/lib/validate-request.d.ts.map +0 -1
  203. package/dist/src/lib.d.ts.map +0 -1
  204. package/dist/src/sdk/cosign.d.ts +0 -18
  205. package/dist/src/sdk/cosign.d.ts.map +0 -1
  206. package/dist/src/sdk/heredoc.d.ts.map +0 -1
  207. package/dist/src/sdk/sdk.d.ts.map +0 -1
  208. package/src/lib/.prettierrc +0 -14
  209. package/src/sdk/cosign.ts +0 -327
  210. /package/dist/{src/cli → cli}/banner.d.ts +0 -0
  211. /package/dist/{src/cli → cli}/build.d.ts +0 -0
  212. /package/dist/{src/cli → cli}/build.helpers.d.ts +0 -0
  213. /package/dist/{src/cli → cli}/deploy.d.ts +0 -0
  214. /package/dist/{src/cli → cli}/dev.d.ts +0 -0
  215. /package/dist/{src/cli → cli}/format.d.ts +0 -0
  216. /package/dist/{src/cli → cli}/format.helpers.d.ts +0 -0
  217. /package/dist/{src/cli → cli}/init/enums.d.ts +0 -0
  218. /package/dist/{src/cli → cli}/init/index.d.ts +0 -0
  219. /package/dist/{src/cli → cli}/init/utils.d.ts +0 -0
  220. /package/dist/{src/cli → cli}/init/walkthrough.d.ts +0 -0
  221. /package/dist/{src/cli → cli}/kfc.d.ts +0 -0
  222. /package/dist/{src/cli → cli}/monitor.d.ts +0 -0
  223. /package/dist/{src/cli → cli}/root.d.ts +0 -0
  224. /package/dist/{src/cli → cli}/types.d.ts +0 -0
  225. /package/dist/{src/cli → cli}/update.d.ts +0 -0
  226. /package/dist/{src/cli → cli}/uuid.d.ts +0 -0
  227. /package/dist/{src/cli.d.ts → cli.d.ts} +0 -0
  228. /package/dist/{src/fixtures → fixtures}/loader.d.ts +0 -0
  229. /package/dist/{src/lib → lib}/assets/assets.d.ts +0 -0
  230. /package/dist/{src/lib → lib}/assets/defaultTestObjects.d.ts +0 -0
  231. /package/dist/{src/lib → lib}/assets/deploy.d.ts +0 -0
  232. /package/dist/{src/lib → lib}/assets/destroy.d.ts +0 -0
  233. /package/dist/{src/lib → lib}/assets/helm.d.ts +0 -0
  234. /package/dist/{src/lib → lib}/assets/index.d.ts +0 -0
  235. /package/dist/{src/lib → lib}/assets/loader.d.ts +0 -0
  236. /package/dist/{src/lib → lib}/assets/networking.d.ts +0 -0
  237. /package/dist/{src/lib → lib}/assets/pods.d.ts +0 -0
  238. /package/dist/{src/lib → lib}/assets/rbac.d.ts +0 -0
  239. /package/dist/{src/lib → lib}/assets/store.d.ts +0 -0
  240. /package/dist/{src/lib → lib}/assets/webhooks.d.ts +0 -0
  241. /package/dist/{src/lib → lib}/assets/yaml/generateAllYaml.d.ts +0 -0
  242. /package/dist/{src/lib → lib}/assets/yaml/generateZarfYaml.d.ts +0 -0
  243. /package/dist/{src/lib → lib}/assets/yaml/overridesFile.d.ts +0 -0
  244. /package/dist/{src/lib → lib}/common-types.d.ts +0 -0
  245. /package/dist/{src/lib → lib}/controller/index.d.ts +0 -0
  246. /package/dist/{src/lib → lib}/controller/index.util.d.ts +0 -0
  247. /package/dist/{src/lib → lib}/controller/store.d.ts +0 -0
  248. /package/dist/{src/lib → lib}/controller/storeCache.d.ts +0 -0
  249. /package/dist/{src/lib → lib}/core/capability.d.ts +0 -0
  250. /package/dist/{src/lib → lib}/core/envChecks.d.ts +0 -0
  251. /package/dist/{src/lib → lib}/core/module.d.ts +0 -0
  252. /package/dist/{src/lib → lib}/core/queue.d.ts +0 -0
  253. /package/dist/{src/lib → lib}/core/schedule.d.ts +0 -0
  254. /package/dist/{src/lib → lib}/core/storage.d.ts +0 -0
  255. /package/dist/{src/lib → lib}/deploymentChecks.d.ts +0 -0
  256. /package/dist/{src/lib → lib}/enums.d.ts +0 -0
  257. /package/dist/{src/lib → lib}/errors.d.ts +0 -0
  258. /package/dist/{src/lib → lib}/filesystemService.d.ts +0 -0
  259. /package/dist/{src/lib → lib}/filter/adjudicators/admissionRequest.d.ts +0 -0
  260. /package/dist/{src/lib → lib}/filter/adjudicators/binding.d.ts +0 -0
  261. /package/dist/{src/lib → lib}/filter/adjudicators/defaultTestObjects.d.ts +0 -0
  262. /package/dist/{src/lib → lib}/filter/adjudicators/kubernetesObject.d.ts +0 -0
  263. /package/dist/{src/lib → lib}/filter/adjudicators/mismatch.d.ts +0 -0
  264. /package/dist/{src/lib → lib}/filter/adjudicators/postCollection.d.ts +0 -0
  265. /package/dist/{src/lib → lib}/filter/filter.d.ts +0 -0
  266. /package/dist/{src/lib → lib}/finalizer.d.ts +0 -0
  267. /package/dist/{src/lib → lib}/helpers.d.ts +0 -0
  268. /package/dist/{src/lib → lib}/included-files.d.ts +0 -0
  269. /package/dist/{src/lib → lib}/k8s.d.ts +0 -0
  270. /package/dist/{src/lib → lib}/mutate-request.d.ts +0 -0
  271. /package/dist/{src/lib → lib}/processors/decode-utils.d.ts +0 -0
  272. /package/dist/{src/lib → lib}/processors/mutate-processor.d.ts +0 -0
  273. /package/dist/{src/lib → lib}/processors/validate-processor.d.ts +0 -0
  274. /package/dist/{src/lib → lib}/processors/watch-processor.d.ts +0 -0
  275. /package/dist/{src/lib → lib}/telemetry/logger.d.ts +0 -0
  276. /package/dist/{src/lib → lib}/telemetry/metrics.d.ts +0 -0
  277. /package/dist/{src/lib → lib}/telemetry/timeUtils.d.ts +0 -0
  278. /package/dist/{src/lib → lib}/telemetry/webhookTimeouts.d.ts +0 -0
  279. /package/dist/{src/lib → lib}/tls.d.ts +0 -0
  280. /package/dist/{src/lib → lib}/types.d.ts +0 -0
  281. /package/dist/{src/lib → lib}/utils.d.ts +0 -0
  282. /package/dist/{src/lib → lib}/validate-request.d.ts +0 -0
  283. /package/dist/{src/lib.d.ts → lib.d.ts} +0 -0
  284. /package/dist/{src/runtime → runtime}/controller.d.ts +0 -0
  285. /package/dist/{src/sdk → sdk}/heredoc.d.ts +0 -0
  286. /package/dist/{src/sdk → sdk}/sdk.d.ts +0 -0
@@ -32,7 +32,12 @@ import {
32
32
  carriedNamespace,
33
33
  missingDeletionTimestamp,
34
34
  } from "./kubernetesObject";
35
- import { declaredOperation, declaredGroup, declaredVersion, declaredKind } from "./admissionRequest";
35
+ import {
36
+ declaredOperation,
37
+ declaredGroup,
38
+ declaredVersion,
39
+ declaredKind,
40
+ } from "./admissionRequest";
36
41
  import { Event, Operation } from "../../enums";
37
42
  import { AdmissionRequest } from "../../common-types";
38
43
 
@@ -48,12 +53,20 @@ export const mismatchedName = allPass([
48
53
 
49
54
  export const mismatchedNameRegex = allPass([
50
55
  pipe(nthArg(0), definesNameRegex),
51
- pipe((binding, kubernetesObject) => new RegExp(definedNameRegex(binding)).test(carriedName(kubernetesObject)), not),
56
+ pipe(
57
+ (binding, kubernetesObject) =>
58
+ new RegExp(definedNameRegex(binding)).test(carriedName(kubernetesObject)),
59
+ not,
60
+ ),
52
61
  ]);
53
62
 
54
63
  export const mismatchedNamespace = allPass([
55
64
  pipe(nthArg(0), definesNamespaces),
56
- pipe((binding, kubernetesObject) => definedNamespaces(binding).includes(carriedNamespace(kubernetesObject)), not),
65
+ pipe(
66
+ (binding, kubernetesObject) =>
67
+ definedNamespaces(binding).includes(carriedNamespace(kubernetesObject)),
68
+ not,
69
+ ),
57
70
  ]);
58
71
 
59
72
  export const mismatchedNamespaceRegex = allPass([
@@ -95,12 +108,16 @@ export const metasMismatch = pipe(
95
108
 
96
109
  export const mismatchedAnnotations = allPass([
97
110
  pipe(nthArg(0), definesAnnotations),
98
- pipe((binding, kubernetesObject) => metasMismatch(definedAnnotations(binding), carriedAnnotations(kubernetesObject))),
111
+ pipe((binding, kubernetesObject) =>
112
+ metasMismatch(definedAnnotations(binding), carriedAnnotations(kubernetesObject)),
113
+ ),
99
114
  ]);
100
115
 
101
116
  export const mismatchedLabels = allPass([
102
117
  pipe(nthArg(0), definesLabels),
103
- pipe((binding, kubernetesObject) => metasMismatch(definedLabels(binding), carriedLabels(kubernetesObject))),
118
+ pipe((binding, kubernetesObject) =>
119
+ metasMismatch(definedLabels(binding), carriedLabels(kubernetesObject)),
120
+ ),
104
121
  ]);
105
122
 
106
123
  export const mismatchedEvent = pipe(
@@ -126,5 +143,7 @@ export const mismatchedKind = allPass([
126
143
  export const operationMatchesEvent = anyPass([
127
144
  pipe(nthArg(1), equals(Event.ANY)),
128
145
  pipe((operation: Operation, event: Event): boolean => operation.valueOf() === event.valueOf()),
129
- pipe((operation: Operation, event: Event): boolean => (operation ? event.includes(operation) : false)),
146
+ pipe((operation: Operation, event: Event): boolean =>
147
+ operation ? event.includes(operation) : false,
148
+ ),
130
149
  ]);
@@ -3,7 +3,13 @@
3
3
 
4
4
  import { __, allPass, curry, difference, equals, gt, length, not, nthArg, pipe } from "ramda";
5
5
  import { KubernetesObject } from "kubernetes-fluent-client";
6
- import { definedKind, definedNamespaces, definesDelete, definesDeletionTimestamp, definesNamespaces } from "./binding";
6
+ import {
7
+ definedKind,
8
+ definedNamespaces,
9
+ definesDelete,
10
+ definesDeletionTimestamp,
11
+ definesNamespaces,
12
+ } from "./binding";
7
13
  import { carriedNamespace, carriesNamespace } from "./kubernetesObject";
8
14
 
9
15
  /*
@@ -14,7 +20,10 @@ import { carriedNamespace, carriesNamespace } from "./kubernetesObject";
14
20
  */
15
21
 
16
22
  export const bindsToKind = curry(
17
- allPass([pipe(nthArg(0), definedKind, equals(""), not), pipe((binding, kind) => definedKind(binding) === kind)]),
23
+ allPass([
24
+ pipe(nthArg(0), definedKind, equals(""), not),
25
+ pipe((binding, kind) => definedKind(binding) === kind),
26
+ ]),
18
27
  );
19
28
  export const bindsToNamespace = curry(pipe(bindsToKind(__, "Namespace")));
20
29
  export const misboundNamespace = allPass([bindsToNamespace, definesNamespaces]);
@@ -74,4 +83,7 @@ export const unbindableNamespaces = allPass([
74
83
  ),
75
84
  ]);
76
85
 
77
- export const misboundDeleteWithDeletionTimestamp = allPass([definesDelete, definesDeletionTimestamp]);
86
+ export const misboundDeleteWithDeletionTimestamp = allPass([
87
+ definesDelete,
88
+ definesDeletionTimestamp,
89
+ ]);
@@ -12,7 +12,12 @@ import {
12
12
  unbindableNamespaces,
13
13
  uncarryableNamespace,
14
14
  } from "./adjudicators/postCollection";
15
- import { declaredOperation, declaredGroup, declaredVersion, declaredKind } from "./adjudicators/admissionRequest";
15
+ import {
16
+ declaredOperation,
17
+ declaredGroup,
18
+ declaredVersion,
19
+ declaredKind,
20
+ } from "./adjudicators/admissionRequest";
16
21
  import {
17
22
  definedEvent,
18
23
  definedName,
@@ -25,7 +30,12 @@ import {
25
30
  definedNamespaceRegexes,
26
31
  definedNameRegex,
27
32
  } from "./adjudicators/binding";
28
- import { carriedName, carriedNamespace, carriedLabels, carriedAnnotations } from "./adjudicators/kubernetesObject";
33
+ import {
34
+ carriedName,
35
+ carriedNamespace,
36
+ carriedLabels,
37
+ carriedAnnotations,
38
+ } from "./adjudicators/kubernetesObject";
29
39
  import {
30
40
  mismatchedDeletionTimestamp,
31
41
  mismatchedEvent,
@@ -137,49 +147,72 @@ export function adjudicateMisboundNamespace(binding: Binding): AdjudicationResul
137
147
  return misboundNamespace(binding) ? "Cannot use namespace filter on a namespace object." : null;
138
148
  }
139
149
 
140
- export function adjudicateMisboundDeleteWithDeletionTimestamp(binding: Binding): AdjudicationResult {
150
+ export function adjudicateMisboundDeleteWithDeletionTimestamp(
151
+ binding: Binding,
152
+ ): AdjudicationResult {
141
153
  return misboundDeleteWithDeletionTimestamp(binding)
142
154
  ? "Cannot use deletionTimestamp filter on a DELETE operation."
143
155
  : null;
144
156
  }
145
157
 
146
- export function adjudicateMismatchedDeletionTimestamp(binding: Binding, obj: KubernetesObject): AdjudicationResult {
158
+ export function adjudicateMismatchedDeletionTimestamp(
159
+ binding: Binding,
160
+ obj: KubernetesObject,
161
+ ): AdjudicationResult {
147
162
  return mismatchedDeletionTimestamp(binding, obj)
148
163
  ? "Binding defines deletionTimestamp but Object does not carry it."
149
164
  : null;
150
165
  }
151
166
 
152
- export function adjudicateMismatchedEvent(binding: Binding, req: AdmissionRequest): AdjudicationResult {
167
+ export function adjudicateMismatchedEvent(
168
+ binding: Binding,
169
+ req: AdmissionRequest,
170
+ ): AdjudicationResult {
153
171
  return mismatchedEvent(binding, req)
154
172
  ? `Binding defines event '${definedEvent(binding)}' but Request declares '${declaredOperation(req)}'.`
155
173
  : null;
156
174
  }
157
175
 
158
- export function adjudicateMismatchedName(binding: Binding, obj: KubernetesObject): AdjudicationResult {
176
+ export function adjudicateMismatchedName(
177
+ binding: Binding,
178
+ obj: KubernetesObject,
179
+ ): AdjudicationResult {
159
180
  return mismatchedName(binding, obj)
160
181
  ? `Binding defines name '${definedName(binding)}' but Object carries '${carriedName(obj)}'.`
161
182
  : null;
162
183
  }
163
184
 
164
- export function adjudicateMismatchedGroup(binding: Binding, req: AdmissionRequest): AdjudicationResult {
185
+ export function adjudicateMismatchedGroup(
186
+ binding: Binding,
187
+ req: AdmissionRequest,
188
+ ): AdjudicationResult {
165
189
  return mismatchedGroup(binding, req)
166
190
  ? `Binding defines group '${definedGroup(binding)}' but Request declares '${declaredGroup(req)}'.`
167
191
  : null;
168
192
  }
169
193
 
170
- export function adjudicateMismatchedVersion(binding: Binding, req: AdmissionRequest): AdjudicationResult {
194
+ export function adjudicateMismatchedVersion(
195
+ binding: Binding,
196
+ req: AdmissionRequest,
197
+ ): AdjudicationResult {
171
198
  return mismatchedVersion(binding, req)
172
199
  ? `Binding defines version '${definedVersion(binding)}' but Request declares '${declaredVersion(req)}'.`
173
200
  : null;
174
201
  }
175
202
 
176
- export function adjudicateMismatchedKind(binding: Binding, req: AdmissionRequest): AdjudicationResult {
203
+ export function adjudicateMismatchedKind(
204
+ binding: Binding,
205
+ req: AdmissionRequest,
206
+ ): AdjudicationResult {
177
207
  return mismatchedKind(binding, req)
178
208
  ? `Binding defines kind '${definedKind(binding)}' but Request declares '${declaredKind(req)}'.`
179
209
  : null;
180
210
  }
181
211
 
182
- export function adjudicateUnbindableNamespaces(capabilityNamespaces: string[], binding: Binding): AdjudicationResult {
212
+ export function adjudicateUnbindableNamespaces(
213
+ capabilityNamespaces: string[],
214
+ binding: Binding,
215
+ ): AdjudicationResult {
183
216
  return unbindableNamespaces(capabilityNamespaces, binding)
184
217
  ? `Binding defines namespaces ${JSON.stringify(definedNamespaces(binding))} but namespaces allowed by Capability are '${JSON.stringify(capabilityNamespaces)}'.`
185
218
  : null;
@@ -194,31 +227,46 @@ export function adjudicateUncarryableNamespace(
194
227
  : null;
195
228
  }
196
229
 
197
- export function adjudicateMismatchedNamespace(binding: Binding, obj: KubernetesObject): AdjudicationResult {
230
+ export function adjudicateMismatchedNamespace(
231
+ binding: Binding,
232
+ obj: KubernetesObject,
233
+ ): AdjudicationResult {
198
234
  return mismatchedNamespace(binding, obj)
199
235
  ? `Binding defines namespaces '${JSON.stringify(definedNamespaces(binding))}' but Object carries '${carriedNamespace(obj)}'.`
200
236
  : null;
201
237
  }
202
238
 
203
- export function adjudicateMismatchedLabels(binding: Binding, obj: KubernetesObject): AdjudicationResult {
239
+ export function adjudicateMismatchedLabels(
240
+ binding: Binding,
241
+ obj: KubernetesObject,
242
+ ): AdjudicationResult {
204
243
  return mismatchedLabels(binding, obj)
205
244
  ? `Binding defines labels '${JSON.stringify(definedLabels(binding))}' but Object carries '${JSON.stringify(carriedLabels(obj))}'.`
206
245
  : null;
207
246
  }
208
247
 
209
- export function adjudicateMismatchedAnnotations(binding: Binding, obj: KubernetesObject): AdjudicationResult {
248
+ export function adjudicateMismatchedAnnotations(
249
+ binding: Binding,
250
+ obj: KubernetesObject,
251
+ ): AdjudicationResult {
210
252
  return mismatchedAnnotations(binding, obj)
211
253
  ? `Binding defines annotations '${JSON.stringify(definedAnnotations(binding))}' but Object carries '${JSON.stringify(carriedAnnotations(obj))}'.`
212
254
  : null;
213
255
  }
214
256
 
215
- export function adjudicateMismatchedNamespaceRegex(binding: Binding, obj: KubernetesObject): AdjudicationResult {
257
+ export function adjudicateMismatchedNamespaceRegex(
258
+ binding: Binding,
259
+ obj: KubernetesObject,
260
+ ): AdjudicationResult {
216
261
  return mismatchedNamespaceRegex(binding, obj)
217
262
  ? `Binding defines namespace regexes '${JSON.stringify(definedNamespaceRegexes(binding))}' but Object carries '${carriedNamespace(obj)}'.`
218
263
  : null;
219
264
  }
220
265
 
221
- export function adjudicateMismatchedNameRegex(binding: Binding, obj: KubernetesObject): AdjudicationResult {
266
+ export function adjudicateMismatchedNameRegex(
267
+ binding: Binding,
268
+ obj: KubernetesObject,
269
+ ): AdjudicationResult {
222
270
  return mismatchedNameRegex(binding, obj)
223
271
  ? `Binding defines name regex '${definedNameRegex(binding)}' but Object carries '${carriedName(obj)}'.`
224
272
  : null;
@@ -15,7 +15,9 @@ export function validateCapabilityNames(capabilities: CapabilityExport[] | undef
15
15
  if (capabilities && capabilities.length > 0) {
16
16
  for (let i = 0; i < capabilities.length; i++) {
17
17
  if (capabilities[i].name !== sanitizeResourceName(capabilities[i].name)) {
18
- throw new ValidationError(`Capability name is not a valid Kubernetes resource name: ${capabilities[i].name}`);
18
+ throw new ValidationError(
19
+ `Capability name is not a valid Kubernetes resource name: ${capabilities[i].name}`,
20
+ );
19
21
  }
20
22
  }
21
23
  }
@@ -88,15 +90,23 @@ export function hasAnyOverlap<T>(array1: T[], array2: T[]): boolean {
88
90
  return array1.some(element => array2.includes(element));
89
91
  }
90
92
 
91
- export function ignoredNamespaceConflict(ignoreNamespaces: string[], bindingNamespaces: string[]): boolean {
93
+ export function ignoredNamespaceConflict(
94
+ ignoreNamespaces: string[],
95
+ bindingNamespaces: string[],
96
+ ): boolean {
92
97
  return hasAnyOverlap(bindingNamespaces, ignoreNamespaces);
93
98
  }
94
99
 
95
- export function bindingAndCapabilityNSConflict(bindingNamespaces: string[], capabilityNamespaces: string[]): boolean {
100
+ export function bindingAndCapabilityNSConflict(
101
+ bindingNamespaces: string[],
102
+ capabilityNamespaces: string[],
103
+ ): boolean {
96
104
  if (!capabilityNamespaces) {
97
105
  return false;
98
106
  }
99
- return capabilityNamespaces.length !== 0 && !hasEveryOverlap(bindingNamespaces, capabilityNamespaces);
107
+ return (
108
+ capabilityNamespaces.length !== 0 && !hasEveryOverlap(bindingNamespaces, capabilityNamespaces)
109
+ );
100
110
  }
101
111
 
102
112
  export function generateWatchNamespaceError(
@@ -125,9 +135,14 @@ export function generateWatchNamespaceError(
125
135
  }
126
136
 
127
137
  // namespaceComplianceValidator ensures that capability bindings respect ignored and capability namespaces
128
- export function namespaceComplianceValidator(capability: CapabilityExport, ignoredNamespaces?: string[]): void {
138
+ export function namespaceComplianceValidator(
139
+ capability: CapabilityExport,
140
+ ignoredNamespaces?: string[],
141
+ ): void {
129
142
  const { namespaces: capabilityNamespaces, bindings, name } = capability;
130
- const bindingNamespaces: string[] = bindings.flatMap((binding: Binding) => binding.filters.namespaces);
143
+ const bindingNamespaces: string[] = bindings.flatMap(
144
+ (binding: Binding) => binding.filters.namespaces,
145
+ );
131
146
  const bindingRegexNamespaces: string[] = bindings.flatMap(
132
147
  (binding: Binding) => binding.filters.regexNamespaces || [],
133
148
  );
@@ -153,12 +168,18 @@ const matchRegexToCapababilityNamespace = (
153
168
  bindingRegexNamespaces: string[],
154
169
  capabilityNamespaces: string[] | undefined,
155
170
  ): void => {
156
- if (bindingRegexNamespaces.length > 0 && capabilityNamespaces && capabilityNamespaces.length > 0) {
171
+ if (
172
+ bindingRegexNamespaces.length > 0 &&
173
+ capabilityNamespaces &&
174
+ capabilityNamespaces.length > 0
175
+ ) {
157
176
  for (const regexNamespace of bindingRegexNamespaces) {
158
177
  let matches = false;
159
178
  matches =
160
179
  regexNamespace !== "" &&
161
- capabilityNamespaces.some(capabilityNamespace => matchesRegex(regexNamespace, capabilityNamespace));
180
+ capabilityNamespaces.some(capabilityNamespace =>
181
+ matchesRegex(regexNamespace, capabilityNamespace),
182
+ );
162
183
  if (!matches) {
163
184
  throw new Error(
164
185
  `Ignoring Watch Callback: Object namespace does not match any capability namespace with regex ${regexNamespace}.`,
@@ -168,10 +189,15 @@ const matchRegexToCapababilityNamespace = (
168
189
  }
169
190
  };
170
191
 
171
- const checkRegexNamespaces = (bindingRegexNamespaces: string[], ignoredNamespaces: string[] | undefined): void => {
192
+ const checkRegexNamespaces = (
193
+ bindingRegexNamespaces: string[],
194
+ ignoredNamespaces: string[] | undefined,
195
+ ): void => {
172
196
  if (bindingRegexNamespaces.length > 0 && ignoredNamespaces && ignoredNamespaces.length > 0) {
173
197
  for (const regexNamespace of bindingRegexNamespaces) {
174
- const matchedNS = ignoredNamespaces.find(ignoredNS => matchesRegex(regexNamespace, ignoredNS));
198
+ const matchedNS = ignoredNamespaces.find(ignoredNS =>
199
+ matchesRegex(regexNamespace, ignoredNS),
200
+ );
175
201
  if (matchedNS) {
176
202
  throw new Error(
177
203
  `Ignoring Watch Callback: Regex namespace: ${regexNamespace}, is an ignored namespace: ${matchedNS}.`,
@@ -3,7 +3,11 @@
3
3
 
4
4
  import { promises as fs } from "fs";
5
5
 
6
- export async function createDockerfile(version: string, description: string, includedFiles: string[]): Promise<void> {
6
+ export async function createDockerfile(
7
+ version: string,
8
+ description: string,
9
+ includedFiles: string[],
10
+ ): Promise<void> {
7
11
  const file = `
8
12
  # Use an official Node.js runtime as the base image
9
13
  FROM ghcr.io/defenseunicorns/pepr/controller:v${version}
@@ -18,7 +18,10 @@ export function decodeData(wrapped: PeprMutateRequest<KubernetesObject>): {
18
18
  return { skipped, wrapped };
19
19
  }
20
20
 
21
- export function reencodeData(wrapped: PeprMutateRequest<KubernetesObject>, skipped: string[]): KubernetesObject {
21
+ export function reencodeData(
22
+ wrapped: PeprMutateRequest<KubernetesObject>,
23
+ skipped: string[],
24
+ ): KubernetesObject {
22
25
  const transformed = clone(wrapped.Raw);
23
26
 
24
27
  const isSecret = wrapped.Request.kind.version === "v1" && wrapped.Request.kind.kind === "Secret";
@@ -195,7 +195,10 @@ export async function mutateProcessor(
195
195
  return { ...response, allowed: true };
196
196
  }
197
197
 
198
- export function updateResponsePatchAndWarnings(patches: Operation[], response: MutateResponse): void {
198
+ export function updateResponsePatchAndWarnings(
199
+ patches: Operation[],
200
+ response: MutateResponse,
201
+ ): void {
199
202
  // Only add the patch if there are patches to apply
200
203
  if (patches.length > 0) {
201
204
  response.patchType = "JSONPatch";
@@ -41,7 +41,10 @@ export async function processRequest(
41
41
  };
42
42
  }
43
43
 
44
- Log.info(actionMetadata, `Validation action complete (${label}): ${callbackResp.allowed ? "allowed" : "denied"}`);
44
+ Log.info(
45
+ actionMetadata,
46
+ `Validation action complete (${label}): ${callbackResp.allowed ? "allowed" : "denied"}`,
47
+ );
45
48
  return valResp;
46
49
  } catch (e) {
47
50
  // If any validation throws an error, note the failure in the Response
@@ -4,7 +4,13 @@ import Log from "../telemetry/logger";
4
4
  import { Binding } from "../types";
5
5
  import { Capability } from "../core/capability";
6
6
  import { Event } from "../enums";
7
- import { K8s, KubernetesObject, WatchCfg, WatchEvent, GenericClass } from "kubernetes-fluent-client";
7
+ import {
8
+ K8s,
9
+ KubernetesObject,
10
+ WatchCfg,
11
+ WatchEvent,
12
+ GenericClass,
13
+ } from "kubernetes-fluent-client";
8
14
  import { Queue } from "../core/queue";
9
15
  import { WatchPhase, WatcherType } from "kubernetes-fluent-client/dist/fluent/types";
10
16
  import { KubernetesListObject } from "kubernetes-fluent-client/dist/types";
@@ -51,8 +57,12 @@ export function getOrCreateQueue(obj: KubernetesObject): Queue<KubernetesObject>
51
57
 
52
58
  // Watch configuration
53
59
  const watchCfg: WatchCfg = {
54
- resyncFailureMax: process.env.PEPR_RESYNC_FAILURE_MAX ? parseInt(process.env.PEPR_RESYNC_FAILURE_MAX, 10) : 5,
55
- resyncDelaySec: process.env.PEPR_RESYNC_DELAY_SECONDS ? parseInt(process.env.PEPR_RESYNC_DELAY_SECONDS, 10) : 5,
60
+ resyncFailureMax: process.env.PEPR_RESYNC_FAILURE_MAX
61
+ ? parseInt(process.env.PEPR_RESYNC_FAILURE_MAX, 10)
62
+ : 5,
63
+ resyncDelaySec: process.env.PEPR_RESYNC_DELAY_SECONDS
64
+ ? parseInt(process.env.PEPR_RESYNC_DELAY_SECONDS, 10)
65
+ : 5,
56
66
  lastSeenLimitSeconds: process.env.PEPR_LAST_SEEN_LIMIT_SECONDS
57
67
  ? parseInt(process.env.PEPR_LAST_SEEN_LIMIT_SECONDS, 10)
58
68
  : 300,
@@ -79,7 +89,9 @@ export function setupWatch(capabilities: Capability[], ignoredNamespaces?: strin
79
89
  capabilities.map(capability =>
80
90
  capability.bindings
81
91
  .filter(binding => binding.isWatch)
82
- .forEach(bindingElement => runBinding(bindingElement, capability.namespaces, ignoredNamespaces)),
92
+ .forEach(bindingElement =>
93
+ runBinding(bindingElement, capability.namespaces, ignoredNamespaces),
94
+ ),
83
95
  );
84
96
  }
85
97
 
@@ -100,12 +112,20 @@ async function runBinding(
100
112
  // The watch callback is run when an object is received or dequeued
101
113
  Log.debug({ watchCfg }, "Effective WatchConfig");
102
114
 
103
- const watchCallback = async (kubernetesObject: KubernetesObject, phase: WatchPhase): Promise<void> => {
115
+ const watchCallback = async (
116
+ kubernetesObject: KubernetesObject,
117
+ phase: WatchPhase,
118
+ ): Promise<void> => {
104
119
  // First, filter the object based on the phase
105
120
  if (phaseMatch.includes(phase)) {
106
121
  try {
107
122
  // Then, check if the object matches the filter
108
- const filterMatch = filterNoMatchReason(binding, kubernetesObject, capabilityNamespaces, ignoredNamespaces);
123
+ const filterMatch = filterNoMatchReason(
124
+ binding,
125
+ kubernetesObject,
126
+ capabilityNamespaces,
127
+ ignoredNamespaces,
128
+ );
109
129
  if (filterMatch !== "") {
110
130
  Log.debug(filterMatch);
111
131
  return;
@@ -139,7 +159,10 @@ async function runBinding(
139
159
  // [ true, void, undefined ] SHOULD remove finalizer
140
160
  // [ false ] should NOT remove finalizer
141
161
  if (shouldRemoveFinalizer === false) {
142
- Log.debug({ obj: kubernetesObject }, `Skipping removal of finalizer '${peprFinal}' from '${resource}'`);
162
+ Log.debug(
163
+ { obj: kubernetesObject },
164
+ `Skipping removal of finalizer '${peprFinal}' from '${resource}'`,
165
+ );
143
166
  } else {
144
167
  await removeFinalizer(binding, kubernetesObject);
145
168
  }
@@ -147,16 +170,19 @@ async function runBinding(
147
170
  };
148
171
 
149
172
  // Setup the resource watch
150
- const watcher = K8s(binding.model, { ...binding.filters, kindOverride: binding.kind }).Watch(async (obj, phase) => {
151
- Log.debug(obj, `Watch event ${phase} received`);
152
-
153
- if (binding.isQueue) {
154
- const queue = getOrCreateQueue(obj);
155
- await queue.enqueue(obj, phase, watchCallback);
156
- } else {
157
- await watchCallback(obj, phase);
158
- }
159
- }, watchCfg);
173
+ const watcher = K8s(binding.model, { ...binding.filters, kindOverride: binding.kind }).Watch(
174
+ async (obj, phase) => {
175
+ Log.debug(obj, `Watch event ${phase} received`);
176
+
177
+ if (binding.isQueue) {
178
+ const queue = getOrCreateQueue(obj);
179
+ await queue.enqueue(obj, phase, watchCallback);
180
+ } else {
181
+ await watchCallback(obj, phase);
182
+ }
183
+ },
184
+ watchCfg,
185
+ );
160
186
 
161
187
  // Register event handlers
162
188
  registerWatchEventHandlers(watcher, logEvent, metricsCollector);
@@ -214,10 +240,14 @@ export function registerWatchEventHandlers(
214
240
  [WatchEvent.CONNECT]: url => logEvent(WatchEvent.CONNECT, url),
215
241
  [WatchEvent.DATA_ERROR]: err => logEvent(WatchEvent.DATA_ERROR, err.message),
216
242
  [WatchEvent.RECONNECT]: retryCount =>
217
- logEvent(WatchEvent.RECONNECT, `Reconnecting after ${retryCount} attempt${retryCount === 1 ? "" : "s"}`),
243
+ logEvent(
244
+ WatchEvent.RECONNECT,
245
+ `Reconnecting after ${retryCount} attempt${retryCount === 1 ? "" : "s"}`,
246
+ ),
218
247
  [WatchEvent.RECONNECT_PENDING]: () => logEvent(WatchEvent.RECONNECT_PENDING),
219
248
  [WatchEvent.ABORT]: err => logEvent(WatchEvent.ABORT, err.message),
220
- [WatchEvent.OLD_RESOURCE_VERSION]: errMessage => logEvent(WatchEvent.OLD_RESOURCE_VERSION, errMessage),
249
+ [WatchEvent.OLD_RESOURCE_VERSION]: errMessage =>
250
+ logEvent(WatchEvent.OLD_RESOURCE_VERSION, errMessage),
221
251
  [WatchEvent.NETWORK_ERROR]: err => logEvent(WatchEvent.NETWORK_ERROR, err.message),
222
252
  [WatchEvent.LIST_ERROR]: err => logEvent(WatchEvent.LIST_ERROR, err.message),
223
253
  [WatchEvent.LIST]: list => logEvent(WatchEvent.LIST, JSON.stringify(list, undefined, 2)),
@@ -56,7 +56,9 @@ export class MetricsCollector {
56
56
  this.addSummary(this.#metricNames.mutate, "Mutation operation summary");
57
57
  this.addSummary(this.#metricNames.validate, "Validation operation summary");
58
58
  this.addGauge(this.#metricNames.cacheMiss, "Number of cache misses per window", ["window"]);
59
- this.addGauge(this.#metricNames.resyncFailureCount, "Number of failures per resync operation", ["count"]);
59
+ this.addGauge(this.#metricNames.resyncFailureCount, "Number of failures per resync operation", [
60
+ "count",
61
+ ]);
60
62
  }
61
63
 
62
64
  #getMetricName = (name: string): string => `${this.#prefix}_${name}`;
@@ -173,7 +175,9 @@ export class MetricsCollector {
173
175
  if (firstKey !== undefined) {
174
176
  this.#cacheMissWindows.delete(firstKey);
175
177
  }
176
- this.#gauges.get(this.#getMetricName(this.#metricNames.cacheMiss))?.remove({ window: firstKey });
178
+ this.#gauges
179
+ .get(this.#getMetricName(this.#metricNames.cacheMiss))
180
+ ?.remove({ window: firstKey });
177
181
  }
178
182
  };
179
183
  }
@@ -9,7 +9,10 @@ export class MeasureWebhookTimeout {
9
9
 
10
10
  constructor(webhookType: WebhookType) {
11
11
  this.#webhookType = webhookType;
12
- metricsCollector.addCounter(`${webhookType}_timeouts`, `Number of ${webhookType} webhook timeouts`);
12
+ metricsCollector.addCounter(
13
+ `${webhookType}_timeouts`,
14
+ `Number of ${webhookType} webhook timeouts`,
15
+ );
13
16
  }
14
17
 
15
18
  start(timeout: number = 10): void {
@@ -4,10 +4,11 @@
4
4
  "bracketSpacing": true,
5
5
  "embeddedLanguageFormatting": "auto",
6
6
  "insertPragma": false,
7
- "printWidth": 80,
7
+ "printWidth": 100,
8
8
  "quoteProps": "as-needed",
9
9
  "requirePragma": false,
10
10
  "semi": true,
11
11
  "tabWidth": 2,
12
- "useTabs": false
12
+ "useTabs": false,
13
+ "vueIndentScriptAndStyle": false
13
14
  }
@@ -89,9 +89,7 @@ When(a.ConfigMap)
89
89
  .IsCreated()
90
90
  .WithName("example-1")
91
91
  .Mutate(request => {
92
- request
93
- .SetLabel("pepr", "was-here")
94
- .SetAnnotation("pepr.dev", "annotations-work-too");
92
+ request.SetLabel("pepr", "was-here").SetAnnotation("pepr.dev", "annotations-work-too");
95
93
 
96
94
  // Use the Store to persist data between requests and Pepr controller pods
97
95
  Store.setItem("example-1", "was-here");
@@ -228,11 +226,7 @@ function example4Cb(cm: PeprMutateRequest<a.ConfigMap>) {
228
226
  * Note because the Capability defines namespaces, the namespace specified here must be one of those.
229
227
  * Alternatively, you can remove the namespace from the Capability definition and specify it here.
230
228
  */
231
- When(a.ConfigMap)
232
- .IsCreated()
233
- .InNamespace("pepr-demo-2")
234
- .WithName("example-4a")
235
- .Mutate(example4Cb);
229
+ When(a.ConfigMap).IsCreated().InNamespace("pepr-demo-2").WithName("example-4a").Mutate(example4Cb);
236
230
 
237
231
  /**
238
232
  * ---------------------------------------------------------------------------------------------------
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=pepr-excellent-examples-matrix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pepr-excellent-examples-matrix.d.ts","sourceRoot":"","sources":["../../../.github/workflows/pepr-excellent-examples-matrix.js"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- declare let _extends: string[];
2
- export { _extends as extends };
3
- export declare let ignores: ((message: any) => boolean)[];
4
- //# sourceMappingURL=commitlint.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commitlint.config.d.ts","sourceRoot":"","sources":["../commitlint.config.js"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- export interface Spec {
2
- cmd: string;
3
- stdin?: string[];
4
- cwd?: string;
5
- env?: object;
6
- }
7
- export interface Result {
8
- stdout: string[];
9
- stderr: string[];
10
- exitcode: number;
11
- }
12
- export declare class Cmd {
13
- result?: Result;
14
- cmd: string;
15
- stdin: string[];
16
- cwd: string;
17
- env: object;
18
- constructor(spec: Spec);
19
- runRaw(): Promise<Result>;
20
- run(): Promise<Result>;
21
- }
22
- //# sourceMappingURL=cmd.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../../integration/helpers/cmd.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,GAAG;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;gBAEA,IAAI,EAAE,IAAI;IAOtB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAoCzB,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;CAQvB"}
@@ -1,5 +0,0 @@
1
- import { Spec, Result } from "./cmd";
2
- export declare function projectRoot(): Promise<string>;
3
- export declare function tgzifyModule(modulePath: string): Promise<void>;
4
- export declare function cli(workdir: string, spec: Spec): Promise<Result>;
5
- //# sourceMappingURL=pepr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pepr.d.ts","sourceRoot":"","sources":["../../../integration/helpers/pepr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAO,MAAM,EAAE,MAAM,OAAO,CAAC;AAM1C,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAKnD;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpE;AAED,wBAAsB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAetE"}