pepr 0.38.2 → 0.39.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 (95) hide show
  1. package/dist/cli/build.d.ts +1 -1
  2. package/dist/cli/build.d.ts.map +1 -1
  3. package/dist/cli/build.helpers.d.ts +19 -0
  4. package/dist/cli/build.helpers.d.ts.map +1 -0
  5. package/dist/cli/deploy.d.ts.map +1 -1
  6. package/dist/cli/format.d.ts.map +1 -1
  7. package/dist/cli/init/index.d.ts.map +1 -1
  8. package/dist/cli/init/templates.d.ts +6 -2
  9. package/dist/cli/init/templates.d.ts.map +1 -1
  10. package/dist/cli/monitor.d.ts.map +1 -1
  11. package/dist/cli.js +278 -225
  12. package/dist/controller.js +37 -27
  13. package/dist/lib/assets/deploy.d.ts.map +1 -1
  14. package/dist/lib/assets/helm.d.ts +1 -0
  15. package/dist/lib/assets/helm.d.ts.map +1 -1
  16. package/dist/lib/assets/index.d.ts +1 -1
  17. package/dist/lib/assets/index.d.ts.map +1 -1
  18. package/dist/lib/assets/rbac.d.ts +31 -4
  19. package/dist/lib/assets/rbac.d.ts.map +1 -1
  20. package/dist/lib/assets/yaml.d.ts +2 -2
  21. package/dist/lib/assets/yaml.d.ts.map +1 -1
  22. package/dist/lib/capability.d.ts +2 -8
  23. package/dist/lib/capability.d.ts.map +1 -1
  24. package/dist/lib/controller/store.d.ts +1 -5
  25. package/dist/lib/controller/store.d.ts.map +1 -1
  26. package/dist/lib/controller/storeCache.d.ts +11 -0
  27. package/dist/lib/controller/storeCache.d.ts.map +1 -0
  28. package/dist/lib/enums.d.ts +17 -0
  29. package/dist/lib/enums.d.ts.map +1 -0
  30. package/dist/lib/{adjudicators.d.ts → filter/adjudicators.d.ts} +15 -13
  31. package/dist/lib/filter/adjudicators.d.ts.map +1 -0
  32. package/dist/lib/{filter.d.ts → filter/filter.d.ts} +1 -1
  33. package/dist/lib/filter/filter.d.ts.map +1 -0
  34. package/dist/lib/helpers.d.ts +1 -2
  35. package/dist/lib/helpers.d.ts.map +1 -1
  36. package/dist/lib/k8s.d.ts +1 -1
  37. package/dist/lib/k8s.d.ts.map +1 -1
  38. package/dist/lib/logger.d.ts +4 -0
  39. package/dist/lib/logger.d.ts.map +1 -1
  40. package/dist/lib/metrics.d.ts.map +1 -1
  41. package/dist/lib/module.d.ts +5 -0
  42. package/dist/lib/module.d.ts.map +1 -1
  43. package/dist/lib/mutate-processor.d.ts.map +1 -1
  44. package/dist/lib/mutate-request.d.ts +1 -60
  45. package/dist/lib/mutate-request.d.ts.map +1 -1
  46. package/dist/lib/types.d.ts +8 -24
  47. package/dist/lib/types.d.ts.map +1 -1
  48. package/dist/lib/validate-request.d.ts.map +1 -1
  49. package/dist/lib/watch-processor.d.ts.map +1 -1
  50. package/dist/lib.js +220 -295
  51. package/dist/lib.js.map +4 -4
  52. package/dist/sdk/cosign.d.ts +18 -0
  53. package/dist/sdk/cosign.d.ts.map +1 -0
  54. package/dist/sdk/heredoc.d.ts +2 -0
  55. package/dist/sdk/heredoc.d.ts.map +1 -0
  56. package/dist/sdk/sdk.d.ts +1 -2
  57. package/dist/sdk/sdk.d.ts.map +1 -1
  58. package/package.json +11 -7
  59. package/src/cli/build.helpers.ts +28 -0
  60. package/src/cli/build.ts +124 -121
  61. package/src/cli/deploy.ts +27 -24
  62. package/src/cli/dev.ts +3 -3
  63. package/src/cli/format.ts +3 -6
  64. package/src/cli/init/index.ts +23 -19
  65. package/src/cli/monitor.ts +34 -36
  66. package/src/lib/assets/deploy.ts +12 -3
  67. package/src/lib/assets/helm.ts +14 -0
  68. package/src/lib/assets/index.ts +12 -8
  69. package/src/lib/assets/rbac.ts +69 -17
  70. package/src/lib/assets/webhooks.ts +1 -1
  71. package/src/lib/assets/yaml.ts +8 -4
  72. package/src/lib/capability.ts +7 -12
  73. package/src/lib/controller/index.ts +3 -3
  74. package/src/lib/controller/store.ts +42 -202
  75. package/src/lib/controller/storeCache.ts +63 -0
  76. package/src/lib/enums.ts +21 -0
  77. package/src/lib/{adjudicators.ts → filter/adjudicators.ts} +39 -28
  78. package/src/lib/{filter.ts → filter/filter.ts} +3 -2
  79. package/src/lib/finalizer.ts +1 -1
  80. package/src/lib/helpers.ts +19 -15
  81. package/src/lib/k8s.ts +2 -2
  82. package/src/lib/logger.ts +41 -0
  83. package/src/lib/metrics.ts +3 -1
  84. package/src/lib/module.ts +5 -0
  85. package/src/lib/mutate-processor.ts +14 -12
  86. package/src/lib/mutate-request.ts +4 -69
  87. package/src/lib/types.ts +9 -28
  88. package/src/lib/validate-processor.ts +1 -1
  89. package/src/lib/validate-request.ts +2 -1
  90. package/src/lib/watch-processor.ts +34 -20
  91. package/src/sdk/cosign.ts +327 -0
  92. package/src/sdk/heredoc.ts +36 -0
  93. package/src/sdk/sdk.ts +1 -2
  94. package/dist/lib/adjudicators.d.ts.map +0 -1
  95. package/dist/lib/filter.d.ts.map +0 -1
@@ -51,18 +51,18 @@ if (process.env.LOG_LEVEL) {
51
51
  var logger_default = Log;
52
52
 
53
53
  // src/templates/data.json
54
- var packageJSON = { name: "pepr", description: "Kubernetes application engine", author: "Defense Unicorns", homepage: "https://github.com/defenseunicorns/pepr", license: "Apache-2.0", bin: "dist/cli.js", repository: "defenseunicorns/pepr", engines: { node: ">=18.0.0" }, files: ["/dist", "/src", "!src/**/*.test.ts", "!dist/**/*.test.d.ts*"], version: "0.38.2", main: "dist/lib.js", types: "dist/lib.d.ts", scripts: { ci: "npm ci", "gen-data-json": "node hack/build-template-data.js", prebuild: "rm -fr dist/* && npm run gen-data-json", version: "node scripts/set-version.js", build: "tsc && node build.mjs && npm pack", "build:image": "npm run build && docker buildx build --output type=docker --tag pepr:dev .", test: "npm run test:unit && npm run test:journey", "test:unit": "npm run gen-data-json && jest src --coverage --detectOpenHandles --coverageDirectory=./coverage", "test:journey": "npm run test:journey:k3d && npm run build && npm run test:journey:image && npm run test:journey:run", "test:journey:prep": "if [ ! -d ./pepr-upgrade-test ]; then git clone https://github.com/defenseunicorns/pepr-upgrade-test.git ; fi", "test:journey-wasm": "npm run test:journey:k3d && npm run build && npm run test:journey:image && npm run test:journey:run-wasm", "test:journey:k3d": "k3d cluster delete pepr-dev && k3d cluster create pepr-dev --k3s-arg '--debug@server:0' --wait && kubectl rollout status deployment -n kube-system", "test:journey:image": "docker buildx build --output type=docker --tag pepr:dev . && k3d image import pepr:dev -c pepr-dev", "test:journey:run": "jest --detectOpenHandles journey/entrypoint.test.ts && npm run test:journey:prep && npm run test:journey:upgrade", "test:journey:run-wasm": "jest --detectOpenHandles journey/entrypoint-wasm.test.ts", "test:journey:upgrade": "npm run test:journey:k3d && npm run test:journey:image && jest --detectOpenHandles journey/pepr-upgrade.test.ts", "format:check": "eslint src && prettier src --check", "format:fix": "eslint src --fix && prettier src --write", prepare: `if [ "$NODE_ENV" != 'production' ]; then husky; fi` }, dependencies: { "@types/ramda": "0.30.2", express: "4.21.1", "fast-json-patch": "3.1.1", "json-pointer": "^0.6.2", "kubernetes-fluent-client": "3.1.3", pino: "9.5.0", "pino-pretty": "11.3.0", "prom-client": "15.1.3", ramda: "0.30.1" }, devDependencies: { "@commitlint/cli": "19.5.0", "@commitlint/config-conventional": "19.5.0", "@fast-check/jest": "^2.0.1", "@jest/globals": "29.7.0", "@types/eslint": "9.6.1", "@types/express": "5.0.0", "@types/json-pointer": "^1.0.34", "@types/node": "22.x.x", "@types/node-forge": "1.3.11", "@types/uuid": "10.0.0", "fast-check": "^3.19.0", jest: "29.7.0", "js-yaml": "^4.1.0", nock: "^13.5.4", "ts-jest": "29.2.5", husky: "^9.1.6" }, peerDependencies: { "@typescript-eslint/eslint-plugin": "7.18.0", "@typescript-eslint/parser": "7.18.0", commander: "12.1.0", esbuild: "0.23.0", eslint: "8.57.0", "node-forge": "1.3.1", prettier: "3.3.3", "@types/prompts": "2.4.9", prompts: "2.4.2", typescript: "5.3.3", uuid: "10.0.0" } };
54
+ var packageJSON = { name: "pepr", description: "Kubernetes application engine", author: "Defense Unicorns", homepage: "https://github.com/defenseunicorns/pepr", license: "Apache-2.0", bin: "dist/cli.js", repository: "defenseunicorns/pepr", engines: { node: ">=18.0.0" }, files: ["/dist", "/src", "!src/**/*.test.ts", "!dist/**/*.test.d.ts*"], version: "0.39.0", main: "dist/lib.js", types: "dist/lib.d.ts", scripts: { ci: "npm ci", "gen-data-json": "node hack/build-template-data.js", prebuild: "rm -fr dist/* && npm run gen-data-json", version: "node scripts/set-version.js", build: "tsc && node build.mjs && npm pack", "build:image": "npm run build && docker buildx build --output type=docker --tag pepr:dev .", test: "npm run test:unit && npm run test:journey", "test:unit": "npm run gen-data-json && jest src --coverage --detectOpenHandles --coverageDirectory=./coverage --testPathIgnorePatterns='cosign.e2e.test.ts'", "test:journey": "npm run test:journey:k3d && npm run build && npm run test:journey:image && npm run test:journey:run", "test:journey:prep": "if [ ! -d ./pepr-upgrade-test ]; then git clone https://github.com/defenseunicorns/pepr-upgrade-test.git ; fi", "test:journey-wasm": "npm run test:journey:k3d && npm run build && npm run test:journey:image && npm run test:journey:run-wasm", "test:journey:k3d": "k3d cluster delete pepr-dev && k3d cluster create pepr-dev --k3s-arg '--debug@server:0' --wait && kubectl rollout status deployment -n kube-system", "test:journey:image": "docker buildx build --output type=docker --tag pepr:dev . && k3d image import pepr:dev -c pepr-dev", "test:journey:run": "jest --detectOpenHandles journey/entrypoint.test.ts && npm run test:journey:prep && npm run test:journey:upgrade", "test:journey:run-wasm": "jest --detectOpenHandles journey/entrypoint-wasm.test.ts", "test:journey:upgrade": "npm run test:journey:k3d && npm run test:journey:image && jest --detectOpenHandles journey/pepr-upgrade.test.ts", "format:check": "eslint src && prettier src --check", "format:fix": "eslint src --fix && prettier src --write", prepare: `if [ "$NODE_ENV" != 'production' ]; then husky; fi` }, dependencies: { "@types/ramda": "0.30.2", express: "4.21.1", "fast-json-patch": "3.1.1", "follow-redirects": "1.15.9", "http-status-codes": "^2.3.0", "json-pointer": "^0.6.2", "kubernetes-fluent-client": "3.3.0", pino: "9.5.0", "pino-pretty": "11.3.0", "prom-client": "15.1.3", ramda: "0.30.1", sigstore: "3.0.0" }, devDependencies: { "@commitlint/cli": "19.5.0", "@commitlint/config-conventional": "19.5.0", "@fast-check/jest": "^2.0.1", "@jest/globals": "29.7.0", "@types/eslint": "9.6.1", "@types/express": "5.0.0", "@types/follow-redirects": "1.14.4", "@types/json-pointer": "^1.0.34", "@types/node": "22.x.x", "@types/node-forge": "1.3.11", "@types/uuid": "10.0.0", "fast-check": "^3.19.0", husky: "^9.1.6", jest: "29.7.0", "js-yaml": "^4.1.0", nock: "^13.5.4", "ts-jest": "29.2.5" }, peerDependencies: { "@types/prompts": "2.4.9", "@typescript-eslint/eslint-plugin": "7.18.0", "@typescript-eslint/parser": "7.18.0", commander: "12.1.0", esbuild: "0.23.0", eslint: "8.57.0", "node-forge": "1.3.1", prettier: "3.3.3", prompts: "2.4.2", typescript: "5.3.3", uuid: "10.0.0" } };
55
55
 
56
56
  // src/lib/k8s.ts
57
57
  var import_kubernetes_fluent_client = require("kubernetes-fluent-client");
58
- var PeprStore = class extends import_kubernetes_fluent_client.GenericKind {
58
+ var Store = class extends import_kubernetes_fluent_client.GenericKind {
59
59
  };
60
60
  var peprStoreGVK = {
61
61
  kind: "PeprStore",
62
62
  version: "v1",
63
63
  group: "pepr.dev"
64
64
  };
65
- (0, import_kubernetes_fluent_client.RegisterKind)(PeprStore, peprStoreGVK);
65
+ (0, import_kubernetes_fluent_client.RegisterKind)(Store, peprStoreGVK);
66
66
 
67
67
  // src/lib/assets/store.ts
68
68
  var { group, version, kind } = peprStoreGVK;
@@ -113,23 +113,28 @@ var import_kubernetes_fluent_client3 = require("kubernetes-fluent-client");
113
113
  // src/sdk/sdk.ts
114
114
  var import_kubernetes_fluent_client2 = require("kubernetes-fluent-client");
115
115
 
116
- // src/lib/adjudicators.ts
116
+ // src/lib/filter/adjudicators.ts
117
117
  var import_ramda = require("ramda");
118
118
  var declaredOperation = (0, import_ramda.pipe)((request) => request?.operation, (0, import_ramda.defaultTo)(""));
119
119
  var declaredGroup = (0, import_ramda.pipe)((request) => request?.kind?.group, (0, import_ramda.defaultTo)(""));
120
120
  var declaredVersion = (0, import_ramda.pipe)((request) => request?.kind?.version, (0, import_ramda.defaultTo)(""));
121
121
  var declaredKind = (0, import_ramda.pipe)((request) => request?.kind?.kind, (0, import_ramda.defaultTo)(""));
122
122
  var declaredUid = (0, import_ramda.pipe)((request) => request?.uid, (0, import_ramda.defaultTo)(""));
123
- var carriesDeletionTimestamp = (0, import_ramda.pipe)((obj) => !!obj.metadata?.deletionTimestamp, (0, import_ramda.defaultTo)(false));
123
+ var carriesDeletionTimestamp = (0, import_ramda.pipe)(
124
+ (kubernetesObject) => !!kubernetesObject.metadata?.deletionTimestamp,
125
+ (0, import_ramda.defaultTo)(false)
126
+ );
124
127
  var missingDeletionTimestamp = (0, import_ramda.complement)(carriesDeletionTimestamp);
125
- var carriedName = (0, import_ramda.pipe)((obj) => obj?.metadata?.name, (0, import_ramda.defaultTo)(""));
128
+ var carriedKind = (0, import_ramda.pipe)((kubernetesObject) => kubernetesObject?.metadata?.kind, (0, import_ramda.defaultTo)("not set"));
129
+ var carriedVersion = (0, import_ramda.pipe)((kubernetesObject) => kubernetesObject?.metadata?.version, (0, import_ramda.defaultTo)("not set"));
130
+ var carriedName = (0, import_ramda.pipe)((kubernetesObject) => kubernetesObject?.metadata?.name, (0, import_ramda.defaultTo)(""));
126
131
  var carriesName = (0, import_ramda.pipe)(carriedName, (0, import_ramda.equals)(""), import_ramda.not);
127
132
  var missingName = (0, import_ramda.complement)(carriesName);
128
- var carriedNamespace = (0, import_ramda.pipe)((obj) => obj?.metadata?.namespace, (0, import_ramda.defaultTo)(""));
133
+ var carriedNamespace = (0, import_ramda.pipe)((kubernetesObject) => kubernetesObject?.metadata?.namespace, (0, import_ramda.defaultTo)(""));
129
134
  var carriesNamespace = (0, import_ramda.pipe)(carriedNamespace, (0, import_ramda.equals)(""), import_ramda.not);
130
- var carriedAnnotations = (0, import_ramda.pipe)((obj) => obj?.metadata?.annotations, (0, import_ramda.defaultTo)({}));
135
+ var carriedAnnotations = (0, import_ramda.pipe)((kubernetesObject) => kubernetesObject?.metadata?.annotations, (0, import_ramda.defaultTo)({}));
131
136
  var carriesAnnotations = (0, import_ramda.pipe)(carriedAnnotations, (0, import_ramda.equals)({}), import_ramda.not);
132
- var carriedLabels = (0, import_ramda.pipe)((obj) => obj?.metadata?.labels, (0, import_ramda.defaultTo)({}));
137
+ var carriedLabels = (0, import_ramda.pipe)((kubernetesObject) => kubernetesObject?.metadata?.labels, (0, import_ramda.defaultTo)({}));
133
138
  var carriesLabels = (0, import_ramda.pipe)(carriedLabels, (0, import_ramda.equals)({}), import_ramda.not);
134
139
  var definesDeletionTimestamp = (0, import_ramda.pipe)((binding) => binding?.filters?.deletionTimestamp, (0, import_ramda.defaultTo)(false));
135
140
  var ignoresDeletionTimestamp = (0, import_ramda.complement)(definesDeletionTimestamp);
@@ -160,46 +165,46 @@ var definedCategory = (0, import_ramda.pipe)((binding) => {
160
165
  var definedCallback = (0, import_ramda.pipe)((binding) => {
161
166
  return binding.isFinalize ? binding.finalizeCallback : binding.isWatch ? binding.watchCallback : binding.isMutate ? binding.mutateCallback : binding.isValidate ? binding.validateCallback : null;
162
167
  });
163
- var definedCallbackName = (0, import_ramda.pipe)(definedCallback, (0, import_ramda.defaultTo)({ name: "" }), (cb) => cb.name);
168
+ var definedCallbackName = (0, import_ramda.pipe)(definedCallback, (0, import_ramda.defaultTo)({ name: "" }), (callback) => callback.name);
164
169
  var mismatchedDeletionTimestamp = (0, import_ramda.allPass)([
165
170
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definesDeletionTimestamp),
166
171
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(1), missingDeletionTimestamp)
167
172
  ]);
168
173
  var mismatchedName = (0, import_ramda.allPass)([
169
174
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definesName),
170
- (0, import_ramda.pipe)((bnd, obj) => definedName(bnd) !== carriedName(obj))
175
+ (0, import_ramda.pipe)((binding, kubernetesObject) => definedName(binding) !== carriedName(kubernetesObject))
171
176
  ]);
172
177
  var mismatchedNameRegex = (0, import_ramda.allPass)([
173
178
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definesNameRegex),
174
- (0, import_ramda.pipe)((bnd, obj) => new RegExp(definedNameRegex(bnd)).test(carriedName(obj)), import_ramda.not)
179
+ (0, import_ramda.pipe)((binding, kubernetesObject) => new RegExp(definedNameRegex(binding)).test(carriedName(kubernetesObject)), import_ramda.not)
175
180
  ]);
176
181
  var bindsToKind = (0, import_ramda.curry)(
177
- (0, import_ramda.allPass)([(0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definedKind, (0, import_ramda.equals)(""), import_ramda.not), (0, import_ramda.pipe)((bnd, knd) => definedKind(bnd) === knd)])
182
+ (0, import_ramda.allPass)([(0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definedKind, (0, import_ramda.equals)(""), import_ramda.not), (0, import_ramda.pipe)((binding, kind5) => definedKind(binding) === kind5)])
178
183
  );
179
184
  var bindsToNamespace = (0, import_ramda.curry)((0, import_ramda.pipe)(bindsToKind(import_ramda.__, "Namespace")));
180
185
  var misboundNamespace = (0, import_ramda.allPass)([bindsToNamespace, definesNamespaces]);
181
186
  var mismatchedNamespace = (0, import_ramda.allPass)([
182
187
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definesNamespaces),
183
- (0, import_ramda.pipe)((bnd, obj) => definedNamespaces(bnd).includes(carriedNamespace(obj)), import_ramda.not)
188
+ (0, import_ramda.pipe)((binding, kubernetesObject) => definedNamespaces(binding).includes(carriedNamespace(kubernetesObject)), import_ramda.not)
184
189
  ]);
185
190
  var mismatchedNamespaceRegex = (0, import_ramda.allPass)([
186
191
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definesNamespaceRegexes),
187
192
  (0, import_ramda.pipe)(
188
- (bnd, obj) => (0, import_ramda.pipe)(
189
- (0, import_ramda.any)((rex) => new RegExp(rex).test(carriedNamespace(obj))),
193
+ (binding, kubernetesObject) => (0, import_ramda.pipe)(
194
+ (0, import_ramda.any)((regEx) => new RegExp(regEx).test(carriedNamespace(kubernetesObject))),
190
195
  import_ramda.not
191
- )(definedNamespaceRegexes(bnd))
196
+ )(definedNamespaceRegexes(binding))
192
197
  )
193
198
  ]);
194
199
  var metasMismatch = (0, import_ramda.pipe)(
195
200
  (defined, carried) => {
196
201
  const result = { defined, carried, unalike: {} };
197
- result.unalike = Object.entries(result.defined).map(([key, val]) => {
202
+ result.unalike = Object.entries(result.defined).map(([key, value]) => {
198
203
  const keyMissing = !Object.hasOwn(result.carried, key);
199
- const noValue = !val;
204
+ const noValue = !value;
200
205
  const valMissing = !result.carried[key];
201
206
  const valDiffers = result.carried[key] !== result.defined[key];
202
- return keyMissing ? { [key]: val } : noValue ? {} : valMissing ? { [key]: val } : valDiffers ? { [key]: val } : {};
207
+ return keyMissing ? { [key]: value } : noValue ? {} : valMissing ? { [key]: value } : valDiffers ? { [key]: value } : {};
203
208
  }).reduce((acc, cur) => ({ ...acc, ...cur }), {});
204
209
  return result.unalike;
205
210
  },
@@ -207,32 +212,37 @@ var metasMismatch = (0, import_ramda.pipe)(
207
212
  );
208
213
  var mismatchedAnnotations = (0, import_ramda.allPass)([
209
214
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definesAnnotations),
210
- (0, import_ramda.pipe)((bnd, obj) => metasMismatch(definedAnnotations(bnd), carriedAnnotations(obj)))
215
+ (0, import_ramda.pipe)((binding, kubernetesObject) => metasMismatch(definedAnnotations(binding), carriedAnnotations(kubernetesObject)))
211
216
  ]);
212
217
  var mismatchedLabels = (0, import_ramda.allPass)([
213
218
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), definesLabels),
214
- (0, import_ramda.pipe)((bnd, obj) => metasMismatch(definedLabels(bnd), carriedLabels(obj)))
219
+ (0, import_ramda.pipe)((binding, kubernetesObject) => metasMismatch(definedLabels(binding), carriedLabels(kubernetesObject)))
215
220
  ]);
216
221
  var uncarryableNamespace = (0, import_ramda.allPass)([
217
222
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), import_ramda.length, (0, import_ramda.gt)(import_ramda.__, 0)),
218
223
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(1), carriesNamespace),
219
- (0, import_ramda.pipe)((nss, obj) => nss.includes(carriedNamespace(obj)), import_ramda.not)
224
+ (0, import_ramda.pipe)((namespaceSelector, kubernetesObject) => namespaceSelector.includes(carriedNamespace(kubernetesObject)), import_ramda.not)
220
225
  ]);
221
226
  var carriesIgnoredNamespace = (0, import_ramda.allPass)([
222
227
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), import_ramda.length, (0, import_ramda.gt)(import_ramda.__, 0)),
223
228
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(1), carriesNamespace),
224
- (0, import_ramda.pipe)((nss, obj) => nss.includes(carriedNamespace(obj)))
229
+ (0, import_ramda.pipe)((namespaceSelector, kubernetesObject) => namespaceSelector.includes(carriedNamespace(kubernetesObject)))
225
230
  ]);
226
231
  var unbindableNamespaces = (0, import_ramda.allPass)([
227
232
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(0), import_ramda.length, (0, import_ramda.gt)(import_ramda.__, 0)),
228
233
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(1), definesNamespaces),
229
- (0, import_ramda.pipe)((nss, bnd) => (0, import_ramda.difference)(definedNamespaces(bnd), nss), import_ramda.length, (0, import_ramda.equals)(0), import_ramda.not)
234
+ (0, import_ramda.pipe)(
235
+ (namespaceSelector, binding) => (0, import_ramda.difference)(definedNamespaces(binding), namespaceSelector),
236
+ import_ramda.length,
237
+ (0, import_ramda.equals)(0),
238
+ import_ramda.not
239
+ )
230
240
  ]);
231
241
  var misboundDeleteWithDeletionTimestamp = (0, import_ramda.allPass)([definesDelete, definesDeletionTimestamp]);
232
242
  var operationMatchesEvent = (0, import_ramda.anyPass)([
233
243
  (0, import_ramda.pipe)((0, import_ramda.nthArg)(1), (0, import_ramda.equals)("*" /* Any */)),
234
- (0, import_ramda.pipe)((op, evt) => op === evt),
235
- (0, import_ramda.pipe)((op, evt) => op ? evt.includes(op) : false)
244
+ (0, import_ramda.pipe)((operation, event) => operation === event),
245
+ (0, import_ramda.pipe)((operation, event) => operation ? event.includes(operation) : false)
236
246
  ]);
237
247
  var mismatchedEvent = (0, import_ramda.pipe)(
238
248
  (binding, request) => operationMatchesEvent(declaredOperation(request), definedEvent(binding)),
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/deploy.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAO3B,OAAO,EAAoB,eAAe,EAAE,MAAM,UAAU,CAAC;AAE7D,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,iBA0BzF;AACD,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,iBA8CnF"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/deploy.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAO3B,OAAO,EAAoB,eAAe,EAAE,MAAM,UAAU,CAAC;AAE7D,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,iBA0BzF;AACD,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,iBA8CnF"}
@@ -1,3 +1,4 @@
1
+ export declare function clusterRoleTemplate(): string;
1
2
  export declare function nsTemplate(): string;
2
3
  export declare function chartYaml(name: string, description?: string): string;
3
4
  export declare function watcherDeployTemplate(buildTimestamp: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/helm.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,WAezB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,UA2B3D;AAED,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,UA+E3D;AAED,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,UAoF7D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,UAyBlD"}
1
+ {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/helm.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,WAYlC;AAED,wBAAgB,UAAU,WAezB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,UA2B3D;AAED,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,UA+E3D;AAED,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,UAoF7D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,UAyBlD"}
@@ -19,7 +19,7 @@ export declare class Assets {
19
19
  deploy: (force: boolean, webhookTimeout?: number) => Promise<void>;
20
20
  zarfYaml: (path: string) => string;
21
21
  zarfYamlChart: (path: string) => string;
22
- allYaml: (rbacMode: string, imagePullSecret?: string) => Promise<string>;
22
+ allYaml: (imagePullSecret?: string) => Promise<string>;
23
23
  generateHelmChart: (basePath: string) => Promise<void>;
24
24
  }
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAcvC,qBAAa,MAAM;IAYf,QAAQ,CAAC,MAAM,EAAE,YAAY;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,CAAC;IAbhB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAG,aAAa,CAAC;IACtC,YAAY,EAAG,gBAAgB,EAAE,CAAC;IAElC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;gBAGF,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,oBAAQ;IAcxB,OAAO,SAAU,MAAM,UAErB;IAEF,MAAM,UAAiB,OAAO,mBAAmB,MAAM,mBAGrD;IAEF,QAAQ,SAAU,MAAM,YAA0B;IAElD,aAAa,SAAU,MAAM,YAA+B;IAE5D,OAAO,aAAoB,MAAM,oBAAoB,MAAM,qBAQzD;IAEF,iBAAiB,aAAoB,MAAM,mBAwGzC;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAqBvC,qBAAa,MAAM;IAYf,QAAQ,CAAC,MAAM,EAAE,YAAY;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,CAAC;IAbhB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAG,aAAa,CAAC;IACtC,YAAY,EAAG,gBAAgB,EAAE,CAAC;IAElC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;gBAGF,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,oBAAQ;IAcxB,OAAO,SAAU,MAAM,UAErB;IAEF,MAAM,UAAiB,OAAO,mBAAmB,MAAM,mBAGrD;IAEF,QAAQ,SAAU,MAAM,YAA0B;IAElD,aAAa,SAAU,MAAM,YAA+B;IAE5D,OAAO,qBAA4B,MAAM,qBAQvC;IAEF,iBAAiB,aAAoB,MAAM,mBAqGzC;CACH"}
@@ -1,14 +1,41 @@
1
1
  import { kind } from "kubernetes-fluent-client";
2
+ import { V1PolicyRule as PolicyRule } from "@kubernetes/client-node";
2
3
  import { CapabilityExport } from "../types";
3
4
  /**
4
- * Grants the controller access to cluster resources beyond the mutating webhook.
5
+ * Creates a Kubernetes ClusterRole based on capabilities and optional custom RBAC rules.
5
6
  *
6
- * @todo: should dynamically generate this based on resources used by the module. will also need to explore how this should work for multiple modules.
7
- * @returns
7
+ * @param {string} name - The name of the ClusterRole.
8
+ * @param {CapabilityExport[]} capabilities - Array of capabilities defining RBAC rules.
9
+ * @param {string} [rbacMode=""] - The RBAC mode; if "scoped", generates scoped rules, otherwise uses wildcard rules.
10
+ * @returns {kind.ClusterRole} - A Kubernetes ClusterRole object.
11
+ */
12
+ export declare function clusterRole(name: string, capabilities: CapabilityExport[], rbacMode: string | undefined, customRbac: PolicyRule[] | undefined): kind.ClusterRole;
13
+ /**
14
+ * Creates a Kubernetes ClusterRoleBinding for a specified ClusterRole.
15
+ *
16
+ * @param {string} name - The name of the ClusterRole to bind.
17
+ * @returns {kind.ClusterRoleBinding} - A Kubernetes ClusterRoleBinding object.
8
18
  */
9
- export declare function clusterRole(name: string, capabilities: CapabilityExport[], rbacMode?: string): kind.ClusterRole;
10
19
  export declare function clusterRoleBinding(name: string): kind.ClusterRoleBinding;
20
+ /**
21
+ * Creates a Kubernetes ServiceAccount with the specified name.
22
+ *
23
+ * @param {string} name - The name of the ServiceAccount.
24
+ * @returns {kind.ServiceAccount} - A Kubernetes ServiceAccount object.
25
+ */
11
26
  export declare function serviceAccount(name: string): kind.ServiceAccount;
27
+ /**
28
+ * Creates a Kubernetes Role for managing peprstores in a specified namespace.
29
+ *
30
+ * @param {string} name - The base name of the Role.
31
+ * @returns {kind.Role} - A Kubernetes Role object for peprstores.
32
+ */
12
33
  export declare function storeRole(name: string): kind.Role;
34
+ /**
35
+ * Creates a Kubernetes RoleBinding for a specified Role in the pepr-system namespace.
36
+ *
37
+ * @param {string} name - The base name of the Role to bind.
38
+ * @returns {kind.RoleBinding} - A Kubernetes RoleBinding object.
39
+ */
13
40
  export declare function storeRoleBinding(name: string): kind.RoleBinding;
14
41
  //# sourceMappingURL=rbac.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/rbac.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,QAAQ,GAAE,MAAW,GAAG,IAAI,CAAC,WAAW,CA6BnH;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAkBxE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,cAAc,CAShE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAejD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,CAmB/D"}
1
+ {"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/rbac.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,YAAY,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,gBAAgB,EAAE,EAChC,QAAQ,oBAAkB,EAC1B,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,GACnC,IAAI,CAAC,WAAW,CAgDlB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAkBxE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,cAAc,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAejD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,CAmB/D"}
@@ -1,6 +1,6 @@
1
1
  import { Assets } from ".";
2
- export declare function overridesFile({ hash, name, image, config, apiToken }: Assets, path: string): Promise<void>;
2
+ export declare function overridesFile({ hash, name, image, config, apiToken, capabilities }: Assets, path: string): Promise<void>;
3
3
  export declare function zarfYaml({ name, image, config }: Assets, path: string): string;
4
4
  export declare function zarfYamlChart({ name, image, config }: Assets, path: string): string;
5
- export declare function allYaml(assets: Assets, rbacMode: string, imagePullSecret?: string): Promise<string>;
5
+ export declare function allYaml(assets: Assets, imagePullSecret?: string): Promise<string>;
6
6
  //# sourceMappingURL=yaml.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/yaml.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAO3B,wBAAsB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAsJhG;AACD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UA0BrE;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UA2B1E;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,mBAwCvF"}
1
+ {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../../src/lib/assets/yaml.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAQ3B,wBAAsB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAyJ9G;AACD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UA0BrE;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UA2B1E;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,mBAwCrE"}
@@ -39,20 +39,14 @@ export declare class Capability implements CapabilityExport {
39
39
  constructor(cfg: CapabilityCfg);
40
40
  /**
41
41
  * Register the store with the capability. This is called automatically by the Pepr controller.
42
- *
43
- * @param store
44
42
  */
45
- registerScheduleStore: () => {
46
- scheduleStore: Storage;
47
- };
43
+ registerScheduleStore: () => Storage;
48
44
  /**
49
45
  * Register the store with the capability. This is called automatically by the Pepr controller.
50
46
  *
51
47
  * @param store
52
48
  */
53
- registerStore: () => {
54
- store: Storage;
55
- };
49
+ registerStore: () => Storage;
56
50
  /**
57
51
  * The When method is used to register a action to be executed when a Kubernetes resource is
58
52
  * processed by Pepr. The action will be executed if the resource matches the specified kind and any
@@ -1 +1 @@
1
- {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/lib/capability.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAInG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAc,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,OAAO,EAGP,aAAa,EACb,gBAAgB,EAShB,YAAY,EACb,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBAAa,UAAW,YAAW,gBAAgB;;IASjD,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAqBtC;IAEK,gBAAgB;IAIvB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CASd;IAEF;;;;;;OAMG;IACH,aAAa,EAAE,SAAS,CAStB;IAEF,IAAI,QAAQ,cAEX;IAED,IAAI,IAAI,WAEP;IAED,IAAI,WAAW,WAEd;IAED,IAAI,UAAU,aAEb;gBAEW,GAAG,EAAE,aAAa;IAU9B;;;;OAIG;IACH,qBAAqB;;MAanB;IAEF;;;;OAIG;IACH,aAAa;;MAaX;IAEF;;;;;;;;OAQG;IACH,IAAI,4CAA6C,gBAAgB,qBAiO/D;CACH"}
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/lib/capability.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAInG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAc,QAAQ,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EACL,OAAO,EAGP,aAAa,EACb,gBAAgB,EAQhB,YAAY,EACb,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBAAa,UAAW,YAAW,gBAAgB;;IASjD,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAqBtC;IAEK,gBAAgB;IAIvB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CASd;IAEF;;;;;;OAMG;IACH,aAAa,EAAE,SAAS,CAStB;IAEF,IAAI,QAAQ,cAEX;IAED,IAAI,IAAI,WAEP;IAED,IAAI,WAAW,WAEd;IAED,IAAI,UAAU,aAEb;gBAEW,GAAG,EAAE,aAAa;IAU9B;;OAEG;IACH,qBAAqB,QAAO,OAAO,CAWjC;IAEF;;;;OAIG;IACH,aAAa,QAAO,OAAO,CAWzB;IAEF;;;;;;;;OAQG;IACH,IAAI,4CAA6C,gBAAgB,qBAiO/D;CACH"}
@@ -1,11 +1,7 @@
1
- import { Operation } from "fast-json-patch";
2
1
  import { Capability } from "../capability";
3
- import { PeprStore } from "../k8s";
4
2
  export declare const debounceBackoff = 5000;
5
- export declare class PeprControllerStore {
3
+ export declare class StoreController {
6
4
  #private;
7
5
  constructor(capabilities: Capability[], name: string, onReady?: () => void);
8
6
  }
9
- export declare function redactedStore(store: PeprStore): PeprStore;
10
- export declare function redactedPatch(patch?: Record<string, Operation>): Record<string, Operation>;
11
7
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMnC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qBAAa,mBAAmB;;gBAMlB,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI;CA6R3E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CASzD;AAED,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAoB9F"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/store.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qBAAa,eAAe;;gBAMd,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI;CA8J3E"}
@@ -0,0 +1,11 @@
1
+ import { DataOp } from "../storage";
2
+ import { Operation } from "fast-json-patch";
3
+ export declare const sendUpdatesAndFlushCache: (cache: Record<string, Operation>, namespace: string, name: string) => Promise<Record<string, Operation>>;
4
+ type CacheItem = {
5
+ key: string[];
6
+ value?: string;
7
+ version?: string;
8
+ };
9
+ export declare const fillStoreCache: (cache: Record<string, Operation>, capabilityName: string, op: DataOp, cacheItem: CacheItem) => Record<string, Operation>;
10
+ export {};
11
+ //# sourceMappingURL=storeCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storeCache.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/storeCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAKpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,wBAAwB,UAAiB,OAAO,MAAM,EAAE,SAAS,CAAC,aAAa,MAAM,QAAQ,MAAM,uCAqB/G,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,UAClB,OAAO,MAAM,EAAE,SAAS,CAAC,kBAChB,MAAM,MAClB,MAAM,aACC,SAAS,KACnB,OAAO,MAAM,EAAE,SAAS,CAqB1B,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare enum Operation {
2
+ CREATE = "CREATE",
3
+ UPDATE = "UPDATE",
4
+ DELETE = "DELETE",
5
+ CONNECT = "CONNECT"
6
+ }
7
+ /**
8
+ * The type of Kubernetes mutating webhook event that the action is registered for.
9
+ */
10
+ export declare enum Event {
11
+ Create = "CREATE",
12
+ Update = "UPDATE",
13
+ Delete = "DELETE",
14
+ CreateOrUpdate = "CREATEORUPDATE",
15
+ Any = "*"
16
+ }
17
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/lib/enums.ts"],"names":[],"mappings":"AAIA,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,KAAK;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,GAAG,MAAM;CACV"}
@@ -3,17 +3,19 @@ export declare const declaredGroup: (request: any) => any;
3
3
  export declare const declaredVersion: (request: any) => any;
4
4
  export declare const declaredKind: (request: any) => any;
5
5
  export declare const declaredUid: (request: any) => any;
6
- export declare const carriesDeletionTimestamp: (obj: any) => boolean;
7
- export declare const missingDeletionTimestamp: (obj: any) => boolean;
8
- export declare const carriedName: (obj: any) => any;
9
- export declare const carriesName: (obj: any) => boolean;
10
- export declare const missingName: (obj: any) => boolean;
11
- export declare const carriedNamespace: (obj: any) => any;
12
- export declare const carriesNamespace: (obj: any) => boolean;
13
- export declare const carriedAnnotations: (obj: any) => any;
14
- export declare const carriesAnnotations: (obj: any) => boolean;
15
- export declare const carriedLabels: (obj: any) => any;
16
- export declare const carriesLabels: (obj: any) => boolean;
6
+ export declare const carriesDeletionTimestamp: (kubernetesObject: any) => boolean;
7
+ export declare const missingDeletionTimestamp: (kubernetesObject: any) => boolean;
8
+ export declare const carriedKind: (kubernetesObject: any) => any;
9
+ export declare const carriedVersion: (kubernetesObject: any) => any;
10
+ export declare const carriedName: (kubernetesObject: any) => any;
11
+ export declare const carriesName: (kubernetesObject: any) => boolean;
12
+ export declare const missingName: (kubernetesObject: any) => boolean;
13
+ export declare const carriedNamespace: (kubernetesObject: any) => any;
14
+ export declare const carriesNamespace: (kubernetesObject: any) => boolean;
15
+ export declare const carriedAnnotations: (kubernetesObject: any) => any;
16
+ export declare const carriesAnnotations: (kubernetesObject: any) => boolean;
17
+ export declare const carriedLabels: (kubernetesObject: any) => any;
18
+ export declare const carriesLabels: (kubernetesObject: any) => boolean;
17
19
  export declare const definesDeletionTimestamp: (binding: any) => any;
18
20
  export declare const ignoresDeletionTimestamp: (binding: any) => boolean;
19
21
  export declare const definedName: (binding: any) => any;
@@ -52,10 +54,10 @@ export declare const metasMismatch: (defined: any, carried: any) => boolean;
52
54
  export declare const mismatchedAnnotations: (...args: any[]) => boolean;
53
55
  export declare const mismatchedLabels: (...args: any[]) => boolean;
54
56
  export declare const uncarryableNamespace: (...args: any[]) => boolean;
55
- export declare const carriesIgnoredNamespace: ((...args: any[]) => boolean) | ((nss: any, obj: any) => any);
57
+ export declare const carriesIgnoredNamespace: ((...args: any[]) => boolean) | ((namespaceSelector: any, kubernetesObject: any) => any);
56
58
  export declare const unbindableNamespaces: (...args: any[]) => boolean;
57
59
  export declare const misboundDeleteWithDeletionTimestamp: (binding: any) => any;
58
- export declare const operationMatchesEvent: ((...args: any[]) => boolean) | ((op: any, evt: any) => any);
60
+ export declare const operationMatchesEvent: ((...args: any[]) => boolean) | ((operation: any, event: any) => any);
59
61
  export declare const mismatchedEvent: (binding: any, request: any) => boolean;
60
62
  export declare const mismatchedGroup: (...args: any[]) => boolean;
61
63
  export declare const mismatchedVersion: (...args: any[]) => boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adjudicators.d.ts","sourceRoot":"","sources":["../../../src/lib/filter/adjudicators.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,iBAAiB,uBAAqD,CAAC;AACpF,eAAO,MAAM,aAAa,uBAAuD,CAAC;AAClF,eAAO,MAAM,eAAe,uBAAyD,CAAC;AACtF,eAAO,MAAM,YAAY,uBAAsD,CAAC;AAChF,eAAO,MAAM,WAAW,uBAA+C,CAAC;AAKxE,eAAO,MAAM,wBAAwB,oCAGpC,CAAC;AACF,eAAO,MAAM,wBAAwB,oCAAuC,CAAC;AAE7E,eAAO,MAAM,WAAW,gCAAmF,CAAC;AAC5G,eAAO,MAAM,cAAc,gCAAsF,CAAC;AAClH,eAAO,MAAM,WAAW,gCAA4E,CAAC;AACrG,eAAO,MAAM,WAAW,oCAAqC,CAAC;AAC9D,eAAO,MAAM,WAAW,oCAA0B,CAAC;AAEnD,eAAO,MAAM,gBAAgB,gCAAiF,CAAC;AAC/G,eAAO,MAAM,gBAAgB,oCAA0C,CAAC;AAExE,eAAO,MAAM,kBAAkB,gCAAmF,CAAC;AACnH,eAAO,MAAM,kBAAkB,oCAA4C,CAAC;AAE5E,eAAO,MAAM,aAAa,gCAA8E,CAAC;AACzG,eAAO,MAAM,aAAa,oCAAuC,CAAC;AAMlE,eAAO,MAAM,wBAAwB,uBAAyE,CAAC;AAC/G,eAAO,MAAM,wBAAwB,2BAAuC,CAAC;AAE7E,eAAO,MAAM,WAAW,uBAAyD,CAAC;AAClF,eAAO,MAAM,WAAW,2BAAqC,CAAC;AAC9D,eAAO,MAAM,WAAW,2BAA0B,CAAC;AAEnD,eAAO,MAAM,gBAAgB,uBAA8D,CAAC;AAC5F,eAAO,MAAM,gBAAgB,2BAA0C,CAAC;AAExE,eAAO,MAAM,iBAAiB,uBAA+D,CAAC;AAC9F,eAAO,MAAM,iBAAiB,2BAA2C,CAAC;AAE1E,eAAO,MAAM,uBAAuB,uBAAoE,CAAC;AACzG,eAAO,MAAM,uBAAuB,2BAAiD,CAAC;AAEtF,eAAO,MAAM,kBAAkB,uBAAgE,CAAC;AAChG,eAAO,MAAM,kBAAkB,2BAA4C,CAAC;AAE5E,eAAO,MAAM,aAAa,uBAA2D,CAAC;AACtF,eAAO,MAAM,aAAa,2BAAuC,CAAC;AAElE,eAAO,MAAM,YAAY,uBAAiD,CAAC;AAC3E,eAAO,MAAM,aAAa,2BAA+C,CAAC;AAE1E,eAAO,MAAM,YAAY,uBAAuD,CAAC;AACjF,eAAO,MAAM,YAAY,2BAAsC,CAAC;AAEhE,eAAO,MAAM,cAAc,uBAAyD,CAAC;AACrF,eAAO,MAAM,cAAc,2BAAwC,CAAC;AAEpE,eAAO,MAAM,WAAW,uBAAsD,CAAC;AAC/E,eAAO,MAAM,WAAW,2BAAqC,CAAC;AAE9D,eAAO,MAAM,eAAe,qEAS1B,CAAC;AAEH,eAAO,MAAM,eAAe,uBAS1B,CAAC;AACH,eAAO,MAAM,mBAAmB,uBAA4E,CAAC;AAK7G,eAAO,MAAM,2BAA2B,yBAGtC,CAAC;AAEH,eAAO,MAAM,cAAc,6BAGzB,CAAC;AAEH,eAAO,MAAM,mBAAmB,6BAG9B,CAAC;AAEH,eAAO,MAAM,WAAW,6EAEvB,CAAC;AACF,eAAO,MAAM,gBAAgB,6EAA4C,CAAC;AAC1E,eAAO,MAAM,iBAAiB,2GAAiD,CAAC;AAEhF,eAAO,MAAM,mBAAmB,6BAG9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,6BAQnC,CAAC;AAEH,eAAO,MAAM,aAAa,yCAyBzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,6BAGhC,CAAC;AAEH,eAAO,MAAM,gBAAgB,6BAG3B,CAAC;AAEH,eAAO,MAAM,oBAAoB,6BAI/B,CAAC;AAEH,eAAO,MAAM,uBAAuB,0FAIlC,CAAC;AAEH,eAAO,MAAM,oBAAoB,6BAS/B,CAAC;AAEH,eAAO,MAAM,mCAAmC,uBAAqD,CAAC;AAEtG,eAAO,MAAM,qBAAqB,uEAIhC,CAAC;AAEH,eAAO,MAAM,eAAe,yCAG3B,CAAC;AAEF,eAAO,MAAM,eAAe,6BAG1B,CAAC;AAEH,eAAO,MAAM,iBAAiB,6BAG5B,CAAC;AAEH,eAAO,MAAM,cAAc,6BAGzB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AdmissionRequest, Binding } from "./types";
1
+ import { AdmissionRequest, Binding } from "../types";
2
2
  /**
3
3
  * shouldSkipRequest determines if a request should be skipped based on the binding filters.
4
4
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/lib/filter/filter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAsCrD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,gBAAgB,EACrB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,MAAM,CA0FR"}
@@ -5,7 +5,7 @@ export declare class ValidationError extends Error {
5
5
  }
6
6
  export declare function validateCapabilityNames(capabilities: CapabilityExport[] | undefined): void;
7
7
  export declare function validateHash(expectedHash: string): void;
8
- type RBACMap = {
8
+ export type RBACMap = {
9
9
  [key: string]: {
10
10
  verbs: string[];
11
11
  plural: string;
@@ -30,5 +30,4 @@ export declare function secretOverLimit(str: string): boolean;
30
30
  export declare const parseTimeout: (value: string, previous: unknown) => number;
31
31
  export declare function dedent(file: string): string;
32
32
  export declare function replaceString(str: string, stringA: string, stringB: string): string;
33
- export {};
34
33
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/lib/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,gBAAgB,EAAQ,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA0BpD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAQzE;AAED,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAE7C,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,IAAI,CAQ1F;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAOvD;AAED,KAAK,OAAO,GAAG;IACb,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;IAEI;AACJ,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC9B,oBAAoB,EAAE,MAAM,EAAE,EAC9B,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,MAAM,CAiER;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,QAI/D;AAED,wBAAgB,aAAa,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAyBvE;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,iBAU5D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAMpE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAMlE;AAED,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAE/F;AAED,wBAAgB,8BAA8B,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAKzG;AAED,wBAAgB,2BAA2B,CACzC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,oBAAoB,EAAE,MAAM,EAAE,UAoB/B;AAGD,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAwDtG;AAID,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,oBAsB5D;AAGD,wBAAsB,yBAAyB,CAAC,SAAS,GAAE,MAAsB,6BAWhF;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMpD;AAGD,eAAO,MAAM,YAAY,UAAW,MAAM,YAAY,OAAO,KAAG,MAW/D,CAAC;AAGF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,UAelC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAK1E"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/lib/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,gBAAgB,EAAQ,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA0BpD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAQzE;AAED,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAE7C,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,IAAI,CAQ1F;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAOvD;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;IAEI;AACJ,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC9B,oBAAoB,EAAE,MAAM,EAAE,EAC9B,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,MAAM,CAiER;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,QAI/D;AAED,wBAAgB,aAAa,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAiCvE;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,iBAU5D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAMpE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAMlE;AAED,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAE/F;AAED,wBAAgB,8BAA8B,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAKzG;AAED,wBAAgB,2BAA2B,CACzC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,oBAAoB,EAAE,MAAM,EAAE,UAoB/B;AAGD,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAoDtG;AAID,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,oBAsB5D;AAGD,wBAAsB,yBAAyB,CAAC,SAAS,GAAE,MAAsB,6BAWhF;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMpD;AAGD,eAAO,MAAM,YAAY,UAAW,MAAM,YAAY,OAAO,KAAG,MAW/D,CAAC;AAGF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,UAelC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAK1E"}
package/dist/lib/k8s.d.ts CHANGED
@@ -2,7 +2,7 @@ import { GenericKind } from "kubernetes-fluent-client";
2
2
  /**
3
3
  * PeprStore for internal use by Pepr. This is used to store arbitrary data in the cluster.
4
4
  */
5
- export declare class PeprStore extends GenericKind {
5
+ export declare class Store extends GenericKind {
6
6
  data: {
7
7
  [key: string]: string;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"k8s.d.ts","sourceRoot":"","sources":["../../src/lib/k8s.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AAErE;;GAEG;AACH,qBAAa,SAAU,SAAQ,WAAW;IAChC,IAAI,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAIF,MAAM,WAAW,cAAc;IAC7B,kIAAkI;IAClI,GAAG,EAAE,MAAM,CAAC;IAEZ,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;IAEjB,6IAA6I;IAC7I,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8DAA8D;IAC9D,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,6IAA6I;IAC7I,MAAM,CAAC,EAAE;QACP;2FACmF;QACnF,IAAI,EAAE,MAAM,CAAC;QAEb,oEAAoE;QACpE,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"k8s.d.ts","sourceRoot":"","sources":["../../src/lib/k8s.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AAErE;;GAEG;AACH,qBAAa,KAAM,SAAQ,WAAW;IAC5B,IAAI,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAIF,MAAM,WAAW,cAAc;IAC7B,kIAAkI;IAClI,GAAG,EAAE,MAAM,CAAC;IAEZ,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;IAEjB,6IAA6I;IAC7I,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8DAA8D;IAC9D,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,6IAA6I;IAC7I,MAAM,CAAC,EAAE;QACP;2FACmF;QACnF,IAAI,EAAE,MAAM,CAAC;QAEb,oEAAoE;QACpE,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC"}
@@ -1,3 +1,7 @@
1
+ import { Operation } from "fast-json-patch";
2
+ import { Store } from "./k8s";
1
3
  declare const Log: import("pino").Logger<never, boolean>;
4
+ export declare function redactedStore(store: Store): Store;
5
+ export declare function redactedPatch(patch?: Record<string, Operation>): Record<string, Operation>;
2
6
  export default Log;
3
7
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAkBA,QAAA,MAAM,GAAG,uCAGP,CAAC;AAKH,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAgB9B,QAAA,MAAM,GAAG,uCAGP,CAAC;AAMH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CASjD;AAED,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAwB9F;AAED,eAAe,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/lib/metrics.ts"],"names":[],"mappings":"AA2BA;;GAEG;AACH,qBAAa,gBAAgB;;IAiB3B;;;OAGG;gBACS,MAAM,SAAS;IAmC3B,UAAU,SAAU,MAAM,QAAQ,MAAM,UAEtC;IAEF,UAAU,SAAU,MAAM,QAAQ,MAAM,UAEtC;IAEF,QAAQ,SAAU,MAAM,QAAQ,MAAM,eAAe,MAAM,EAAE,UAE3D;IAEF,UAAU,SAAU,MAAM,UAExB;IAEF,QAAQ,SAAU,MAAM,WAAW,OAAO,MAAM,EAAE,MAAM,CAAC,UAAS,MAAM,UAEtE;IAEF;;OAEG;IACH,KAAK,aAAmD;IAExD;;OAEG;IACH,KAAK,aAAmD;IAExD;;;;OAIG;IACH,UAAU,cAAe,MAAM,SAAQ,MAAM,UAE3C;IAEF;;;OAGG;IACH,UAAU,wBAAkC;IAE5C;;;OAGG;IACH,MAAM,CAAC,YAAY;IAInB;;;OAGG;IACH,YAAY,WAAY,MAAM,UAE5B;IAEF;;;OAGG;IACH,aAAa,UAAW,MAAM,UAE5B;IAEF;;;OAGG;IACH,mBAAmB,WAAY,MAAM,UAInC;CAgBH;AAED,eAAO,MAAM,gBAAgB,kBAA+B,CAAC"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/lib/metrics.ts"],"names":[],"mappings":"AA2BA;;GAEG;AACH,qBAAa,gBAAgB;;IAiB3B;;;OAGG;gBACS,MAAM,SAAS;IAmC3B,UAAU,SAAU,MAAM,QAAQ,MAAM,UAEtC;IAEF,UAAU,SAAU,MAAM,QAAQ,MAAM,UAEtC;IAEF,QAAQ,SAAU,MAAM,QAAQ,MAAM,eAAe,MAAM,EAAE,UAE3D;IAEF,UAAU,SAAU,MAAM,UAExB;IAEF,QAAQ,SAAU,MAAM,WAAW,OAAO,MAAM,EAAE,MAAM,CAAC,UAAS,MAAM,UAEtE;IAEF;;OAEG;IACH,KAAK,aAAmD;IAExD;;OAEG;IACH,KAAK,aAAmD;IAExD;;;;OAIG;IACH,UAAU,cAAe,MAAM,SAAQ,MAAM,UAE3C;IAEF;;;OAGG;IACH,UAAU,wBAAkC;IAE5C;;;OAGG;IACH,MAAM,CAAC,YAAY;IAInB;;;OAGG;IACH,YAAY,WAAY,MAAM,UAE5B;IAEF;;;OAGG;IACH,aAAa,UAAW,MAAM,UAE5B;IAEF;;;OAGG;IACH,mBAAmB,WAAY,MAAM,UAInC;CAkBH;AAED,eAAO,MAAM,gBAAgB,kBAA+B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Capability } from "./capability";
2
2
  import { MutateResponse, ValidateResponse, WebhookIgnore } from "./k8s";
3
3
  import { AdmissionRequest } from "./types";
4
+ import { V1PolicyRule as PolicyRule } from "@kubernetes/client-node";
4
5
  /** Custom Labels Type for package.json */
5
6
  export interface CustomLabels {
6
7
  namespace?: Record<string, string>;
@@ -27,6 +28,10 @@ export type ModuleConfig = {
27
28
  env?: Record<string, string>;
28
29
  /** Custom Labels for Kubernetes Objects */
29
30
  customLabels?: CustomLabels;
31
+ /** Custom RBAC rules */
32
+ rbac?: PolicyRule[];
33
+ /** The RBAC mode; if "scoped", generates scoped rules, otherwise uses wildcard rules. */
34
+ rbacMode?: string;
30
35
  };
31
36
  export type PackageJSON = {
32
37
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/lib/module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI7D,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AACD,iDAAiD;AACjD,MAAM,MAAM,YAAY,GAAG;IACzB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,YAAY,EAAE,aAAa,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qHAAqH;IACrH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAE7C,6GAA6G;IAC7G,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,gBAAgB,KAAK,IAAI,CAAC;CAC9D,CAAC;AAGF,eAAO,MAAM,WAAW,eAA+C,CAAC;AAGxE,eAAO,MAAM,WAAW,eAA0C,CAAC;AAEnE,eAAO,MAAM,SAAS,eAAwC,CAAC;AAE/D,qBAAa,UAAU;;IAGrB;;;;;;OAMG;gBACS,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,GAAE,UAAU,EAAO,EAAE,IAAI,GAAE,iBAAsB;IAsD7G;;;;;OAKG;IACH,KAAK,0BAEH;CACH"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/lib/module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EAAE,YAAY,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErE,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AACD,iDAAiD;AACjD,MAAM,MAAM,YAAY,GAAG;IACzB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,YAAY,EAAE,aAAa,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wBAAwB;IACxB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IACpB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qHAAqH;IACrH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAE7C,6GAA6G;IAC7G,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,gBAAgB,KAAK,IAAI,CAAC;CAC9D,CAAC;AAGF,eAAO,MAAM,WAAW,eAA+C,CAAC;AAGxE,eAAO,MAAM,WAAW,eAA0C,CAAC;AAEnE,eAAO,MAAM,SAAS,eAAwC,CAAC;AAE/D,qBAAa,UAAU;;IAGrB;;;;;;OAMG;gBACS,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,GAAE,UAAU,EAAO,EAAE,IAAI,GAAE,iBAAsB;IAsD7G;;;;;OAKG;IACH,KAAK,0BAEH;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutate-processor.d.ts","sourceRoot":"","sources":["../../src/lib/mutate-processor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC,CA6IzB"}
1
+ {"version":3,"file":"mutate-processor.d.ts","sourceRoot":"","sources":["../../src/lib/mutate-processor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC,CAmIzB"}