pepr 0.13.4 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +25 -5
  2. package/commitlint.config.js +1 -0
  3. package/dist/cli.js +375 -204
  4. package/dist/controller.js +1 -1
  5. package/dist/lib/assets/deploy.d.ts.map +1 -1
  6. package/dist/lib/assets/destroy.d.ts +2 -0
  7. package/dist/lib/assets/destroy.d.ts.map +1 -0
  8. package/dist/lib/assets/index.d.ts +6 -5
  9. package/dist/lib/assets/index.d.ts.map +1 -1
  10. package/dist/lib/assets/networking.d.ts +6 -5
  11. package/dist/lib/assets/networking.d.ts.map +1 -1
  12. package/dist/lib/assets/pods.d.ts +84 -4
  13. package/dist/lib/assets/pods.d.ts.map +1 -1
  14. package/dist/lib/assets/rbac.d.ts +6 -4
  15. package/dist/lib/assets/rbac.d.ts.map +1 -1
  16. package/dist/lib/assets/store.d.ts +7 -0
  17. package/dist/lib/assets/store.d.ts.map +1 -0
  18. package/dist/lib/assets/webhooks.d.ts +2 -2
  19. package/dist/lib/assets/webhooks.d.ts.map +1 -1
  20. package/dist/lib/assets/yaml.d.ts.map +1 -1
  21. package/dist/lib/capability.d.ts +21 -4
  22. package/dist/lib/capability.d.ts.map +1 -1
  23. package/dist/lib/controller/index.d.ts +10 -0
  24. package/dist/lib/controller/index.d.ts.map +1 -0
  25. package/dist/lib/controller/store.d.ts +7 -0
  26. package/dist/lib/controller/store.d.ts.map +1 -0
  27. package/dist/lib/filter.d.ts +2 -2
  28. package/dist/lib/filter.d.ts.map +1 -1
  29. package/dist/lib/{k8s/types.d.ts → k8s.d.ts} +14 -25
  30. package/dist/lib/k8s.d.ts.map +1 -0
  31. package/dist/lib/metrics.d.ts +12 -12
  32. package/dist/lib/metrics.d.ts.map +1 -1
  33. package/dist/lib/module.d.ts +25 -4
  34. package/dist/lib/module.d.ts.map +1 -1
  35. package/dist/lib/mutate-processor.d.ts +3 -3
  36. package/dist/lib/mutate-processor.d.ts.map +1 -1
  37. package/dist/lib/mutate-request.d.ts +11 -10
  38. package/dist/lib/mutate-request.d.ts.map +1 -1
  39. package/dist/lib/storage.d.ts +56 -0
  40. package/dist/lib/storage.d.ts.map +1 -0
  41. package/dist/lib/tls.d.ts.map +1 -0
  42. package/dist/lib/types.d.ts +28 -48
  43. package/dist/lib/types.d.ts.map +1 -1
  44. package/dist/lib/validate-processor.d.ts +2 -2
  45. package/dist/lib/validate-processor.d.ts.map +1 -1
  46. package/dist/lib/validate-request.d.ts +9 -8
  47. package/dist/lib/validate-request.d.ts.map +1 -1
  48. package/dist/lib/watch-processor.d.ts +3 -0
  49. package/dist/lib/watch-processor.d.ts.map +1 -0
  50. package/dist/lib.d.ts +3 -7
  51. package/dist/lib.d.ts.map +1 -1
  52. package/dist/lib.js +484 -807
  53. package/dist/lib.js.map +4 -4
  54. package/package.json +20 -22
  55. package/src/lib/assets/deploy.ts +69 -127
  56. package/src/lib/assets/destroy.ts +33 -0
  57. package/src/lib/assets/index.ts +8 -14
  58. package/src/lib/assets/networking.ts +28 -5
  59. package/src/lib/assets/pods.ts +130 -11
  60. package/src/lib/assets/rbac.ts +42 -4
  61. package/src/lib/assets/store.ts +49 -0
  62. package/src/lib/assets/webhooks.ts +2 -2
  63. package/src/lib/assets/yaml.ts +13 -3
  64. package/src/lib/capability.ts +69 -14
  65. package/src/lib/{controller.ts → controller/index.ts} +25 -23
  66. package/src/lib/controller/store.ts +197 -0
  67. package/src/lib/filter.ts +2 -2
  68. package/src/lib/{k8s/types.ts → k8s.ts} +15 -26
  69. package/src/lib/metrics.ts +22 -38
  70. package/src/lib/module.ts +47 -10
  71. package/src/lib/mutate-processor.ts +6 -6
  72. package/src/lib/mutate-request.ts +18 -26
  73. package/src/lib/storage.ts +128 -0
  74. package/src/lib/types.ts +30 -53
  75. package/src/lib/validate-processor.ts +5 -4
  76. package/src/lib/validate-request.ts +15 -19
  77. package/src/lib/watch-processor.ts +55 -0
  78. package/src/lib.ts +4 -8
  79. package/src/templates/capabilities/hello-pepr.ts +54 -5
  80. package/src/templates/package.json +1 -0
  81. package/dist/lib/controller.d.ts +0 -10
  82. package/dist/lib/controller.d.ts.map +0 -1
  83. package/dist/lib/fetch.d.ts +0 -23
  84. package/dist/lib/fetch.d.ts.map +0 -1
  85. package/dist/lib/k8s/index.d.ts +0 -7
  86. package/dist/lib/k8s/index.d.ts.map +0 -1
  87. package/dist/lib/k8s/kinds.d.ts +0 -12
  88. package/dist/lib/k8s/kinds.d.ts.map +0 -1
  89. package/dist/lib/k8s/tls.d.ts.map +0 -1
  90. package/dist/lib/k8s/types.d.ts.map +0 -1
  91. package/dist/lib/k8s/upstream.d.ts +0 -4
  92. package/dist/lib/k8s/upstream.d.ts.map +0 -1
  93. package/jest.config.json +0 -4
  94. package/journey/before.ts +0 -21
  95. package/journey/k8s.ts +0 -100
  96. package/journey/pepr-build.ts +0 -69
  97. package/journey/pepr-deploy.ts +0 -174
  98. package/journey/pepr-dev.ts +0 -155
  99. package/journey/pepr-format.ts +0 -13
  100. package/journey/pepr-init.ts +0 -12
  101. package/src/lib/fetch.ts +0 -76
  102. package/src/lib/k8s/index.ts +0 -14
  103. package/src/lib/k8s/kinds.ts +0 -531
  104. package/src/lib/k8s/upstream.ts +0 -53
  105. /package/dist/lib/{k8s/tls.d.ts → tls.d.ts} +0 -0
  106. /package/src/lib/{k8s/tls.ts → tls.ts} +0 -0
@@ -1,4 +1,5 @@
1
- import { KubernetesObject, Request } from "./k8s/types";
1
+ import { KubernetesObject } from "kubernetes-fluent-client";
2
+ import { AdmissionRequest } from "./k8s";
2
3
  import { DeepPartial } from "./types";
3
4
  /**
4
5
  * The RequestWrapper class provides methods to modify Kubernetes objects in the context
@@ -22,57 +23,57 @@ export declare class PeprMutateRequest<T extends KubernetesObject> {
22
23
  * Provides access to the request object.
23
24
  * @returns The request object containing the Kubernetes resource.
24
25
  */
25
- get Request(): Request<T>;
26
+ get Request(): AdmissionRequest<T>;
26
27
  /**
27
28
  * Creates a new instance of the action class.
28
29
  * @param input - The request object containing the Kubernetes resource to modify.
29
30
  */
30
- constructor(input: Request<T>);
31
+ constructor(input: AdmissionRequest<T>);
31
32
  /**
32
33
  * Deep merges the provided object with the current resource.
33
34
  *
34
35
  * @param obj - The object to merge with the current resource.
35
36
  */
36
- Merge(obj: DeepPartial<T>): void;
37
+ Merge: (obj: DeepPartial<T>) => void;
37
38
  /**
38
39
  * Updates a label on the Kubernetes resource.
39
40
  * @param key - The key of the label to update.
40
41
  * @param value - The value of the label.
41
42
  * @returns The current action instance for method chaining.
42
43
  */
43
- SetLabel(key: string, value: string): this;
44
+ SetLabel: (key: string, value: string) => this;
44
45
  /**
45
46
  * Updates an annotation on the Kubernetes resource.
46
47
  * @param key - The key of the annotation to update.
47
48
  * @param value - The value of the annotation.
48
49
  * @returns The current action instance for method chaining.
49
50
  */
50
- SetAnnotation(key: string, value: string): this;
51
+ SetAnnotation: (key: string, value: string) => this;
51
52
  /**
52
53
  * Removes a label from the Kubernetes resource.
53
54
  * @param key - The key of the label to remove.
54
55
  * @returns The current Action instance for method chaining.
55
56
  */
56
- RemoveLabel(key: string): this;
57
+ RemoveLabel: (key: string) => this;
57
58
  /**
58
59
  * Removes an annotation from the Kubernetes resource.
59
60
  * @param key - The key of the annotation to remove.
60
61
  * @returns The current Action instance for method chaining.
61
62
  */
62
- RemoveAnnotation(key: string): this;
63
+ RemoveAnnotation: (key: string) => this;
63
64
  /**
64
65
  * Check if a label exists on the Kubernetes resource.
65
66
  *
66
67
  * @param key the label key to check
67
68
  * @returns
68
69
  */
69
- HasLabel(key: string): boolean;
70
+ HasLabel: (key: string) => boolean;
70
71
  /**
71
72
  * Check if an annotation exists on the Kubernetes resource.
72
73
  *
73
74
  * @param key the annotation key to check
74
75
  * @returns
75
76
  */
76
- HasAnnotation(key: string): boolean;
77
+ HasAnnotation: (key: string) => boolean;
77
78
  }
78
79
  //# sourceMappingURL=mutate-request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutate-request.d.ts","sourceRoot":"","sources":["../../src/lib/mutate-request.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAa,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,gBAAgB;;IACvD,GAAG,EAAE,CAAC,CAAC;IAIP,IAAI,iBAAiB,YAEpB;IAED;;;OAGG;IACH,IAAI,QAAQ,wBAEX;IAED;;;OAGG;IACH,IAAI,WAAW,kBAEd;IAED;;;OAGG;IACH,IAAI,OAAO,eAEV;IAED;;;OAGG;gBACS,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAyB7B;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IAIzB;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAUnC;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAUxC;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM;IAQvB;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAQ5B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM;CAG1B"}
1
+ {"version":3,"file":"mutate-request.d.ts","sourceRoot":"","sources":["../../src/lib/mutate-request.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAa,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,gBAAgB;;IACvD,GAAG,EAAE,CAAC,CAAC;IAIP,IAAI,iBAAiB,YAEpB;IAED;;;OAGG;IACH,IAAI,QAAQ,wBAEX;IAED;;;OAGG;IACH,IAAI,WAAW,kBAEd;IAED;;;OAGG;IACH,IAAI,OAAO,wBAEV;IAED;;;OAGG;gBACS,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAgBtC;;;;OAIG;IACH,KAAK,QAAS,YAAY,CAAC,CAAC,UAE1B;IAEF;;;;;OAKG;IACH,QAAQ,QAAS,MAAM,SAAS,MAAM,UAQpC;IAEF;;;;;OAKG;IACH,aAAa,QAAS,MAAM,SAAS,MAAM,UAQzC;IAEF;;;;OAIG;IACH,WAAW,QAAS,MAAM,UAMxB;IAEF;;;;OAIG;IACH,gBAAgB,QAAS,MAAM,UAM7B;IAEF;;;;;OAKG;IACH,QAAQ,QAAS,MAAM,aAErB;IAEF;;;;;OAKG;IACH,aAAa,QAAS,MAAM,aAE1B;CACH"}
@@ -0,0 +1,56 @@
1
+ export type DataOp = "add" | "remove";
2
+ export type DataStore = Record<string, string>;
3
+ export type DataSender = (op: DataOp, keys: string[], value?: string) => void;
4
+ export type DataReceiver = (data: DataStore) => void;
5
+ export type Unsubscribe = () => void;
6
+ export interface PeprStore {
7
+ /**
8
+ * Returns the current value associated with the given key, or null if the given key does not exist.
9
+ */
10
+ getItem(key: string): string | null;
11
+ /**
12
+ * Removes all key/value pairs, if there are any.
13
+ */
14
+ clear(): void;
15
+ /**
16
+ * Removes the key/value pair with the given key, if a key/value pair with the given key exists.
17
+ */
18
+ removeItem(key: string): void;
19
+ /**
20
+ * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
21
+ */
22
+ setItem(key: string, value: string): void;
23
+ /**
24
+ * Subscribe to changes in the store. This API behaves similarly to the [Svelte Store API](https://vercel.com/docs/beginner-sveltekit/svelte-stores#using-the-store).
25
+ *
26
+ * @param listener - The callback to be invoked when the store changes.
27
+ * @returns A function to unsubscribe from the listener.
28
+ */
29
+ subscribe(listener: DataReceiver): Unsubscribe;
30
+ /**
31
+ * Register a function to be called when the store is ready.
32
+ */
33
+ onReady(callback: DataReceiver): void;
34
+ }
35
+ /**
36
+ * A key-value data store that can be used to persist data that should be shared across Pepr controllers and capabilities.
37
+ *
38
+ * The API is similar to the [Storage API](https://developer.mozilla.org/docs/Web/API/Storage)
39
+ */
40
+ export declare class Storage implements PeprStore {
41
+ #private;
42
+ registerSender: (send: DataSender) => void;
43
+ receive: (data: DataStore) => void;
44
+ getItem: (key: string) => string | null;
45
+ clear: () => void;
46
+ removeItem: (key: string) => void;
47
+ setItem: (key: string, value: string) => void;
48
+ subscribe: (subscriber: DataReceiver) => () => void;
49
+ onReady: (callback: DataReceiver) => void;
50
+ /**
51
+ * Remove a subscriber from the list of subscribers.
52
+ * @param idx - The index of the subscriber to remove.
53
+ */
54
+ unsubscribe: (idx: number) => void;
55
+ }
56
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AACtC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAC9E,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IACd;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1C;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;IAE/C;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;CACvC;AAED;;;;GAIG;AACH,qBAAa,OAAQ,YAAW,SAAS;;IAOvC,cAAc,SAAU,UAAU,UAEhC;IAEF,OAAO,SAAU,SAAS,UAWxB;IAEF,OAAO,QAAS,MAAM,mBAGpB;IAEF,KAAK,aAEH;IAEF,UAAU,QAAS,MAAM,UAEvB;IAEF,OAAO,QAAS,MAAM,SAAS,MAAM,UAEnC;IAEF,SAAS,eAAgB,YAAY,gBAInC;IAEF,OAAO,aAAc,YAAY,UAE/B;IAEF;;;OAGG;IACH,WAAW,QAAS,MAAM,UAExB;CAqBH"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tls.d.ts","sourceRoot":"","sources":["../../src/lib/tls.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyC3C"}
@@ -1,10 +1,7 @@
1
- import { GroupVersionKind, KubernetesObject, WebhookIgnore } from "./k8s/types";
1
+ import { GenericClass, GroupVersionKind, KubernetesObject } from "kubernetes-fluent-client";
2
+ import { WatchAction } from "kubernetes-fluent-client/dist/fluent/types";
2
3
  import { PeprMutateRequest } from "./mutate-request";
3
4
  import { PeprValidateRequest } from "./validate-request";
4
- export type PackageJSON = {
5
- description: string;
6
- pepr: ModuleConfig;
7
- };
8
5
  /**
9
6
  * Recursively make all properties in T optional.
10
7
  */
@@ -39,45 +36,6 @@ export interface CapabilityCfg {
39
36
  export interface CapabilityExport extends CapabilityCfg {
40
37
  bindings: Binding[];
41
38
  }
42
- export type ModuleSigning = {
43
- /**
44
- * Specifies the signing policy.
45
- * "requireAuthorizedKey" - only authorized keys are accepted.
46
- * "requireAnyKey" - any key is accepted, as long as it's valid.
47
- * "none" - no signing required.
48
- */
49
- signingPolicy?: "requireAuthorizedKey" | "requireAnyKey" | "none";
50
- /**
51
- * List of authorized keys for the "requireAuthorizedKey" policy.
52
- * These keys are allowed to sign Pepr capabilities.
53
- */
54
- authorizedKeys?: string[];
55
- };
56
- /** Global configuration for the Pepr runtime. */
57
- export type ModuleConfig = {
58
- /** The user-defined name for the module */
59
- name: string;
60
- /** The Pepr version this module uses */
61
- peprVersion?: string;
62
- /** The user-defined version of the module */
63
- appVersion?: string;
64
- /** A unique identifier for this Pepr module. This is automatically generated by Pepr. */
65
- uuid: string;
66
- /** A description of the Pepr module and what it does. */
67
- description?: string;
68
- /** Reject K8s resource AdmissionRequests on error. */
69
- onError?: string;
70
- /** Configure global exclusions that will never be processed by Pepr. */
71
- alwaysIgnore: WebhookIgnore;
72
- /**
73
- * FUTURE USE.
74
- *
75
- * Configure the signing policy for Pepr capabilities.
76
- * This setting determines the requirements for signing keys in Pepr.
77
- */
78
- signing?: ModuleSigning;
79
- };
80
- export type GenericClass = abstract new () => any;
81
39
  export type WhenSelector<T extends GenericClass> = {
82
40
  /** Register an action to be executed when a Kubernetes resource is created or updated. */
83
41
  IsCreatedOrUpdated: () => BindingAll<T>;
@@ -92,6 +50,8 @@ export type Binding = {
92
50
  event: Event;
93
51
  isMutate?: boolean;
94
52
  isValidate?: boolean;
53
+ isWatch?: boolean;
54
+ readonly model: GenericClass;
95
55
  readonly kind: GroupVersionKind;
96
56
  readonly filters: {
97
57
  name: string;
@@ -101,6 +61,7 @@ export type Binding = {
101
61
  };
102
62
  readonly mutateCallback?: MutateAction<GenericClass, InstanceType<GenericClass>>;
103
63
  readonly validateCallback?: ValidateAction<GenericClass, InstanceType<GenericClass>>;
64
+ readonly watchCallback?: WatchAction<GenericClass, InstanceType<GenericClass>>;
104
65
  };
105
66
  export type BindingFilter<T extends GenericClass> = CommonActionChain<T> & {
106
67
  /**
@@ -152,15 +113,34 @@ export type CommonActionChain<T extends GenericClass> = MutateActionChain<T> & {
152
113
  /**
153
114
  * Create a new MUTATE action with the specified callback function and previously specified
154
115
  * filters.
116
+ *
117
+ * @since 0.13.0
118
+ *
155
119
  * @param action The action to be executed when the Kubernetes resource is processed by the AdmissionController.
156
120
  */
157
121
  Mutate: (action: MutateAction<T, InstanceType<T>>) => MutateActionChain<T>;
158
122
  };
159
- export type MutateActionChain<T extends GenericClass> = {
123
+ export type ValidateActionChain<T extends GenericClass> = {
124
+ /**
125
+ * Establish a watcher for the specified resource. The callback function will be executed after the admission controller has
126
+ * processed the resource and the request has been persisted to the cluster.
127
+ *
128
+ * **Beta Function**: This method is still in early testing and edge cases may still exist.
129
+ *
130
+ * @since 0.14.0
131
+ *
132
+ * @param action
133
+ * @returns
134
+ */
135
+ Watch: (action: WatchAction<T, InstanceType<T>>) => void;
136
+ };
137
+ export type MutateActionChain<T extends GenericClass> = ValidateActionChain<T> & {
160
138
  /**
161
139
  * Create a new VALIDATE action with the specified callback function and previously specified
162
140
  * filters. Return the `request.Approve()` or `Request.Deny()` methods to approve or deny the request:
163
141
  *
142
+ * @since 0.13.0
143
+ *
164
144
  * @example
165
145
  * ```ts
166
146
  * When(a.Deployment)
@@ -176,11 +156,11 @@ export type MutateActionChain<T extends GenericClass> = {
176
156
  *
177
157
  * @param action The action to be executed when the Kubernetes resource is processed by the AdmissionController.
178
158
  */
179
- Validate: (action: ValidateAction<T, InstanceType<T>>) => void;
159
+ Validate: (action: ValidateAction<T, InstanceType<T>>) => ValidateActionChain<T>;
180
160
  };
181
161
  export type MutateAction<T extends GenericClass, K extends KubernetesObject = InstanceType<T>> = (req: PeprMutateRequest<K>) => Promise<void> | void | Promise<PeprMutateRequest<K>> | PeprMutateRequest<K>;
182
- export type ValidateAction<T extends GenericClass, K extends KubernetesObject = InstanceType<T>> = (req: PeprValidateRequest<K>) => Promise<ValidateResponse> | ValidateResponse;
183
- export type ValidateResponse = {
162
+ export type ValidateAction<T extends GenericClass, K extends KubernetesObject = InstanceType<T>> = (req: PeprValidateRequest<K>) => Promise<ValidateActionResponse> | ValidateActionResponse;
163
+ export type ValidateActionResponse = {
184
164
  allowed: boolean;
185
165
  statusCode?: number;
186
166
  statusMessage?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Capability } from "./capability";
2
- import { Request, ValidateResponse } from "./k8s/types";
3
- export declare function validateProcessor(capabilities: Capability[], req: Request, reqMetadata: Record<string, string>): Promise<ValidateResponse>;
2
+ import { AdmissionRequest, ValidateResponse } from "./k8s";
3
+ export declare function validateProcessor(capabilities: Capability[], req: AdmissionRequest, reqMetadata: Record<string, string>): Promise<ValidateResponse>;
4
4
  //# sourceMappingURL=validate-processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-processor.d.ts","sourceRoot":"","sources":["../../src/lib/validate-processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMxD,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,UAAU,EAAE,EAC1B,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,gBAAgB,CAAC,CA4D3B"}
1
+ {"version":3,"file":"validate-processor.d.ts","sourceRoot":"","sources":["../../src/lib/validate-processor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAK3D,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,UAAU,EAAE,EAC1B,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,gBAAgB,CAAC,CA4D3B"}
@@ -1,5 +1,6 @@
1
- import { KubernetesObject, Request } from "./k8s/types";
2
- import { ValidateResponse } from "./types";
1
+ import { KubernetesObject } from "kubernetes-fluent-client";
2
+ import { AdmissionRequest } from "./k8s";
3
+ import { ValidateActionResponse } from "./types";
3
4
  /**
4
5
  * The RequestWrapper class provides methods to modify Kubernetes objects in the context
5
6
  * of a mutating webhook request.
@@ -16,32 +17,32 @@ export declare class PeprValidateRequest<T extends KubernetesObject> {
16
17
  * Provides access to the request object.
17
18
  * @returns The request object containing the Kubernetes resource.
18
19
  */
19
- get Request(): Request<T>;
20
+ get Request(): AdmissionRequest<T>;
20
21
  /**
21
22
  * Creates a new instance of the Action class.
22
23
  * @param input - The request object containing the Kubernetes resource to modify.
23
24
  */
24
- constructor(input: Request<T>);
25
+ constructor(input: AdmissionRequest<T>);
25
26
  /**
26
27
  * Check if a label exists on the Kubernetes resource.
27
28
  *
28
29
  * @param key the label key to check
29
30
  * @returns
30
31
  */
31
- HasLabel(key: string): boolean;
32
+ HasLabel: (key: string) => boolean;
32
33
  /**
33
34
  * Check if an annotation exists on the Kubernetes resource.
34
35
  *
35
36
  * @param key the annotation key to check
36
37
  * @returns
37
38
  */
38
- HasAnnotation(key: string): boolean;
39
+ HasAnnotation: (key: string) => boolean;
39
40
  /**
40
41
  * Create a validation response that allows the request.
41
42
  *
42
43
  * @returns The validation response.
43
44
  */
44
- Approve(): ValidateResponse;
45
+ Approve: () => ValidateActionResponse;
45
46
  /**
46
47
  * Create a validation response that denies the request.
47
48
  *
@@ -49,6 +50,6 @@ export declare class PeprValidateRequest<T extends KubernetesObject> {
49
50
  * @param statusCode Optional status code to return to the user.
50
51
  * @returns The validation response.
51
52
  */
52
- Deny(statusMessage?: string, statusCode?: number): ValidateResponse;
53
+ Deny: (statusMessage?: string, statusCode?: number) => ValidateActionResponse;
53
54
  }
54
55
  //# sourceMappingURL=validate-request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-request.d.ts","sourceRoot":"","sources":["../../src/lib/validate-request.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAa,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,gBAAgB;;IACzD,GAAG,EAAE,CAAC,CAAC;IAIP;;;OAGG;IACH,IAAI,WAAW,kBAEd;IAED;;;OAGG;IACH,IAAI,OAAO,eAEV;IAED;;;OAGG;gBACS,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAsB7B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB;;;;OAIG;IACH,OAAO,IAAI,gBAAgB;IAM3B;;;;;;OAMG;IACH,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB;CAOpE"}
1
+ {"version":3,"file":"validate-request.d.ts","sourceRoot":"","sources":["../../src/lib/validate-request.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAa,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,gBAAgB;;IACzD,GAAG,EAAE,CAAC,CAAC;IAIP;;;OAGG;IACH,IAAI,WAAW,kBAEd;IAED;;;OAGG;IACH,IAAI,OAAO,wBAEV;IAED;;;OAGG;gBACS,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAgBtC;;;;;OAKG;IACH,QAAQ,QAAS,MAAM,aAErB;IAEF;;;;;OAKG;IACH,aAAa,QAAS,MAAM,aAE1B;IAEF;;;;OAIG;IACH,OAAO,QAAO,sBAAsB,CAIlC;IAEF;;;;;;OAMG;IACH,IAAI,mBAAoB,MAAM,eAAe,MAAM,KAAG,sBAAsB,CAM1E;CACH"}
@@ -0,0 +1,3 @@
1
+ import { Capability } from "./capability";
2
+ export declare function setupWatch(capabilities: Capability[]): void;
3
+ //# sourceMappingURL=watch-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-processor.d.ts","sourceRoot":"","sources":["../../src/lib/watch-processor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,wBAAgB,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,QAKpD"}
package/dist/lib.d.ts CHANGED
@@ -1,17 +1,13 @@
1
- import * as k8s from "@kubernetes/client-node";
2
- import { StatusCodes as fetchStatus } from "http-status-codes";
1
+ import { K8s, RegisterKind, fetch, kind, kind as a, fetchStatus } from "kubernetes-fluent-client";
3
2
  import * as R from "ramda";
4
3
  import { Capability } from "./lib/capability";
5
- import { fetch, fetchRaw } from "./lib/fetch";
6
- import { RegisterKind, a } from "./lib/k8s/index";
7
4
  import Log from "./lib/logger";
8
5
  import { PeprModule } from "./lib/module";
9
6
  import { PeprMutateRequest } from "./lib/mutate-request";
10
7
  import { PeprValidateRequest } from "./lib/validate-request";
11
8
  import * as PeprUtils from "./lib/utils";
12
- import type * as K8sTypes from "@kubernetes/client-node";
13
9
  import type * as RTypes from "ramda";
14
- export { a,
10
+ export { a, kind,
15
11
  /** PeprModule is used to setup a complete Pepr Module: `new PeprModule(cfg, {...capabilities})` */
16
- PeprModule, PeprMutateRequest, PeprValidateRequest, PeprUtils, RegisterKind, Capability, Log, R, fetch, fetchRaw, fetchStatus, k8s, RTypes, K8sTypes, };
12
+ PeprModule, PeprMutateRequest, PeprValidateRequest, PeprUtils, RegisterKind, K8s, Capability, Log, R, fetch, fetchStatus, RTypes, };
17
13
  //# sourceMappingURL=lib.d.ts.map
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,MAAM,OAAO,CAAC;AAErC,OAAO,EACL,CAAC;AACD,mGAAmG;AACnG,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,GAAG,EACH,CAAC,EACD,KAAK,EACL,QAAQ,EACR,WAAW,EACX,GAAG,EAGH,MAAM,EACN,QAAQ,GACT,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,KAAK,MAAM,MAAM,OAAO,CAAC;AAErC,OAAO,EACL,CAAC,EACD,IAAI;AACJ,mGAAmG;AACnG,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,GAAG,EACH,UAAU,EACV,GAAG,EACH,CAAC,EACD,KAAK,EACL,WAAW,EAGX,MAAM,GACP,CAAC"}