pepr 0.44.0 → 0.45.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.
- package/README.md +1 -1
- package/dist/cli/build.d.ts +2 -2
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.helpers.d.ts +13 -7
- package/dist/cli/build.helpers.d.ts.map +1 -1
- package/dist/cli/deploy.d.ts.map +1 -1
- package/dist/cli/init/templates.d.ts +7 -7
- package/dist/cli/init/templates.d.ts.map +1 -1
- package/dist/cli.js +119 -99
- package/dist/controller.js +1 -1
- package/dist/lib/assets/rbac.d.ts.map +1 -1
- package/dist/lib/assets/webhooks.d.ts +2 -0
- package/dist/lib/assets/webhooks.d.ts.map +1 -1
- package/dist/lib/assets/yaml/overridesFile.d.ts +1 -3
- package/dist/lib/assets/yaml/overridesFile.d.ts.map +1 -1
- package/dist/lib/controller/index.d.ts +6 -1
- package/dist/lib/controller/index.d.ts.map +1 -1
- package/dist/lib/core/module.d.ts +23 -20
- package/dist/lib/core/module.d.ts.map +1 -1
- package/dist/lib/core/storage.d.ts.map +1 -1
- package/dist/lib/processors/watch-processor.d.ts.map +1 -1
- package/dist/lib/telemetry/metrics.d.ts.map +1 -1
- package/dist/lib.js +42 -24
- package/dist/lib.js.map +3 -3
- package/package.json +14 -10
- package/src/cli/build.helpers.ts +28 -13
- package/src/cli/build.ts +64 -64
- package/src/cli/deploy.ts +32 -26
- package/src/cli/init/index.ts +2 -2
- package/src/cli/init/templates.ts +6 -5
- package/src/cli/init/walkthrough.ts +1 -1
- package/src/lib/assets/rbac.ts +1 -2
- package/src/lib/assets/webhooks.ts +1 -1
- package/src/lib/assets/yaml/overridesFile.ts +3 -5
- package/src/lib/controller/index.ts +17 -10
- package/src/lib/core/module.ts +41 -31
- package/src/lib/core/schedule.ts +2 -2
- package/src/lib/core/storage.ts +2 -1
- package/src/lib/processors/mutate-processor.ts +1 -1
- package/src/lib/processors/watch-processor.ts +5 -3
- package/src/lib/telemetry/metrics.ts +4 -6
- package/src/sdk/heredoc.ts +2 -2
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { ModuleConfig } from "../../core/module";
|
|
2
2
|
import { CapabilityExport } from "../../types";
|
|
3
|
-
type
|
|
3
|
+
type ChartOverrides = {
|
|
4
4
|
apiToken: string;
|
|
5
5
|
capabilities: CapabilityExport[];
|
|
6
6
|
config: ModuleConfig;
|
|
7
7
|
hash: string;
|
|
8
8
|
name: string;
|
|
9
|
-
};
|
|
10
|
-
type ChartOverrides = CommonOverrideValues & {
|
|
11
9
|
image: string;
|
|
12
10
|
};
|
|
13
11
|
export declare function overridesFile({ hash, name, image, config, apiToken, capabilities }: ChartOverrides, path: string, imagePullSecrets: string[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overridesFile.d.ts","sourceRoot":"","sources":["../../../../src/lib/assets/yaml/overridesFile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAK/C,KAAK,
|
|
1
|
+
{"version":3,"file":"overridesFile.d.ts","sourceRoot":"","sources":["../../../../src/lib/assets/yaml/overridesFile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAK/C,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,wBAAsB,aAAa,CACjC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,cAAc,EACrE,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Jf"}
|
|
@@ -2,9 +2,14 @@ import { Capability } from "../core/capability";
|
|
|
2
2
|
import { MutateResponse, ValidateResponse } from "../k8s";
|
|
3
3
|
import { ModuleConfig } from "../core/module";
|
|
4
4
|
import { AdmissionRequest } from "../types";
|
|
5
|
+
export interface ControllerHooks {
|
|
6
|
+
beforeHook?: (req: AdmissionRequest) => void;
|
|
7
|
+
afterHook?: (res: MutateResponse | ValidateResponse) => void;
|
|
8
|
+
onReady?: () => void;
|
|
9
|
+
}
|
|
5
10
|
export declare class Controller {
|
|
6
11
|
#private;
|
|
7
|
-
constructor(config: ModuleConfig, capabilities: Capability[],
|
|
12
|
+
constructor(config: ModuleConfig, capabilities: Capability[], hooks?: ControllerHooks);
|
|
8
13
|
/** Start the webhook server */
|
|
9
14
|
startServer: (port: number) => void;
|
|
10
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAe,MAAM,gBAAgB,CAAC;AAI3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAe,MAAM,gBAAgB,CAAC;AAI3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,gBAAgB,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD,qBAAa,UAAU;;gBAmBT,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,KAAK,GAAE,eAAoB;IAmCzF,+BAA+B;IAC/B,WAAW,SAAU,MAAM,KAAG,IAAI,CAqDhC;CA2KH"}
|
|
@@ -3,36 +3,39 @@ import { MutateResponse, ValidateResponse, WebhookIgnore } from "../k8s";
|
|
|
3
3
|
import { AdmissionRequest } from "../types";
|
|
4
4
|
import { V1PolicyRule as PolicyRule } from "@kubernetes/client-node";
|
|
5
5
|
/** Custom Labels Type for package.json */
|
|
6
|
-
export
|
|
7
|
-
namespace
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
export type
|
|
6
|
+
export type CustomLabels = {
|
|
7
|
+
namespace: Record<string, string>;
|
|
8
|
+
} | Record<string, never>;
|
|
9
|
+
/** Configuration that MAY be set a Pepr module's package.json. */
|
|
10
|
+
export type ModuleConfigOptions = {
|
|
11
11
|
/** The Pepr version this module uses */
|
|
12
|
-
peprVersion
|
|
12
|
+
peprVersion: string;
|
|
13
13
|
/** The user-defined version of the module */
|
|
14
|
-
appVersion
|
|
15
|
-
/** A unique identifier for this Pepr module. This is automatically generated by Pepr. */
|
|
16
|
-
uuid: string;
|
|
14
|
+
appVersion: string;
|
|
17
15
|
/** A description of the Pepr module and what it does. */
|
|
18
|
-
description
|
|
16
|
+
description: string;
|
|
19
17
|
/** The webhookTimeout */
|
|
20
|
-
webhookTimeout
|
|
18
|
+
webhookTimeout: number;
|
|
21
19
|
/** Reject K8s resource AdmissionRequests on error. */
|
|
22
|
-
onError
|
|
23
|
-
/** Configure global exclusions that will never be processed by Pepr. */
|
|
24
|
-
alwaysIgnore: WebhookIgnore;
|
|
20
|
+
onError: string;
|
|
25
21
|
/** Define the log level for the in-cluster controllers */
|
|
26
|
-
logLevel
|
|
22
|
+
logLevel: string;
|
|
27
23
|
/** Propagate env variables to in-cluster controllers */
|
|
28
|
-
env
|
|
29
|
-
/** Custom Labels for Kubernetes Objects */
|
|
30
|
-
customLabels?: CustomLabels;
|
|
24
|
+
env: Record<string, string>;
|
|
31
25
|
/** Custom RBAC rules */
|
|
32
|
-
rbac
|
|
26
|
+
rbac: PolicyRule[];
|
|
33
27
|
/** The RBAC mode; if "scoped", generates scoped rules, otherwise uses wildcard rules. */
|
|
34
|
-
rbacMode
|
|
28
|
+
rbacMode: string;
|
|
29
|
+
/** Custom Labels for Kubernetes Objects */
|
|
30
|
+
customLabels: CustomLabels;
|
|
35
31
|
};
|
|
32
|
+
/** Global configuration for the Pepr runtime. */
|
|
33
|
+
export type ModuleConfig = {
|
|
34
|
+
/** A unique identifier for this Pepr module. This is automatically generated by Pepr. */
|
|
35
|
+
uuid: string;
|
|
36
|
+
/** Configure global exclusions that will never be processed by Pepr. */
|
|
37
|
+
alwaysIgnore: WebhookIgnore;
|
|
38
|
+
} & Partial<ModuleConfigOptions>;
|
|
36
39
|
export type PackageJSON = {
|
|
37
40
|
description: string;
|
|
38
41
|
pepr: ModuleConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/lib/core/module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAoB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,YAAY,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrE,0CAA0C;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/lib/core/module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAoB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,YAAY,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrE,0CAA0C;AAE1C,MAAM,MAAM,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEzF,kEAAkE;AAClE,MAAM,MAAM,mBAAmB,GAAG;IAChC,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,wBAAwB;IACxB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,YAAY,GAAG;IACzB,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,YAAY,EAAE,aAAa,CAAC;CAC7B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEjC,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,QAAO,OAAiD,CAAC;AAGjF,eAAO,MAAM,WAAW,QAAO,OAA4C,CAAC;AAE5E,eAAO,MAAM,SAAS,QAAO,OAA0C,CAAC;AAExE,qBAAa,UAAU;;IAGrB;;;;;;OAMG;gBACS,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,GAAE,UAAU,EAAO,EAAE,IAAI,GAAE,iBAAsB;IA4D7G;;;;;OAKG;IACH,KAAK,qBAAkB,IAAI,CAEzB;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/core/storage.ts"],"names":[],"mappings":"AAKA,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;AAUrC,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AACD,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;IAEtC;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAED;;;;GAIG;AAEH,qBAAa,OAAQ,YAAW,SAAS;;IAOvC,cAAc,SAAU,UAAU,KAAG,IAAI,CAEvC;IAEF,OAAO,SAAU,SAAS,KAAG,IAAI,CAU/B;IAEF,OAAO,QAAS,MAAM,KAAG,MAAM,GAAG,IAAI,CAMpC;IAEF,KAAK,QAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/core/storage.ts"],"names":[],"mappings":"AAKA,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;AAUrC,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AACD,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;IAEtC;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAED;;;;GAIG;AAEH,qBAAa,OAAQ,YAAW,SAAS;;IAOvC,cAAc,SAAU,UAAU,KAAG,IAAI,CAEvC;IAEF,OAAO,SAAU,SAAS,KAAG,IAAI,CAU/B;IAEF,OAAO,QAAS,MAAM,KAAG,MAAM,GAAG,IAAI,CAMpC;IAEF,KAAK,QAAO,IAAI,CAOd;IAEF,UAAU,QAAS,MAAM,KAAG,IAAI,CAE9B;IAEF,OAAO,QAAS,MAAM,SAAS,MAAM,KAAG,IAAI,CAE1C;IAEF;;;;;;;OAOG;IACH,cAAc,QAAS,MAAM,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAmB5D;IAEF;;;;;;OAMG;IACH,iBAAiB,QAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAkBhD;IAEF,SAAS,eAAgB,YAAY,KAAG,CAAC,MAAM,IAAI,CAAC,CAIlD;IAEF,OAAO,aAAc,YAAY,KAAG,IAAI,CAEtC;IAEF;;;OAGG;IACH,WAAW,QAAS,MAAM,KAAG,IAAI,CAE/B;CAqBH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-processor.d.ts","sourceRoot":"","sources":["../../../src/lib/processors/watch-processor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAO,gBAAgB,EAAY,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAStC;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAkBtD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAM/E;AAuBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAMzF;
|
|
1
|
+
{"version":3,"file":"watch-processor.d.ts","sourceRoot":"","sources":["../../../src/lib/processors/watch-processor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAO,gBAAgB,EAAY,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAStC;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAkBtD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAM/E;AAuBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAMzF;AAqHD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,MAAW,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAO9F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/metrics.ts"],"names":[],"mappings":"AAWA,KAAK,wBAAwB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAiBtE;;GAEG;AACH,qBAAa,gBAAgB;;IAiB3B;;;OAGG;gBACS,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/metrics.ts"],"names":[],"mappings":"AAWA,KAAK,wBAAwB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAiBtE;;GAEG;AACH,qBAAa,gBAAgB;;IAiB3B;;;OAGG;gBACS,MAAM,SAAS;IAiC3B,UAAU,SAAU,MAAM,QAAQ,MAAM,KAAG,IAAI,CAE7C;IAEF,UAAU,SAAU,MAAM,QAAQ,MAAM,KAAG,IAAI,CAE7C;IAEF,QAAQ,SAAU,MAAM,QAAQ,MAAM,eAAe,MAAM,EAAE,KAAG,IAAI,CAElE;IAEF,UAAU,SAAU,MAAM,KAAG,IAAI,CAE/B;IAEF,QAAQ,SAAU,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAS,MAAM,KAAO,IAAI,CAEjF;IAEF;;OAEG;IACH,KAAK,QAAO,IAAI,CAA8C;IAE9D;;OAEG;IACH,KAAK,QAAO,IAAI,CAA8C;IAE9D;;;;OAIG;IACH,UAAU,cAAe,MAAM,SAAQ,MAAM,KAA8B,IAAI,CAE7E;IAEF;;;OAGG;IACH,UAAU,QAAO,OAAO,CAAC,MAAM,CAAC,CAA6B;IAE7D;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACH,YAAY,WAAY,MAAM,KAAG,IAAI,CAEnC;IAEF;;;OAGG;IACH,aAAa,UAAW,MAAM,KAAG,IAAI,CAEnC;IAEF;;;OAGG;IACH,mBAAmB,WAAY,MAAM,KAAG,IAAI,CAI1C;CAkBH;AAED,eAAO,MAAM,gBAAgB,EAAE,wBAAuD,CAAC"}
|
package/dist/lib.js
CHANGED
|
@@ -143,7 +143,7 @@ var MetricsCollector = class {
|
|
|
143
143
|
this.addGauge(this.#metricNames.resyncFailureCount, "Number of failures per resync operation", ["count"]);
|
|
144
144
|
}
|
|
145
145
|
#getMetricName = (name2) => `${this.#prefix}_${name2}`;
|
|
146
|
-
#addMetric = (collection, MetricType, name2, help, labelNames) => {
|
|
146
|
+
#addMetric = (collection, MetricType, { name: name2, help, labelNames }) => {
|
|
147
147
|
if (collection.has(this.#getMetricName(name2))) {
|
|
148
148
|
logger_default.debug(`Metric for ${name2} already exists`, loggingPrefix);
|
|
149
149
|
return;
|
|
@@ -157,13 +157,13 @@ var MetricsCollector = class {
|
|
|
157
157
|
collection.set(this.#getMetricName(name2), metric);
|
|
158
158
|
};
|
|
159
159
|
addCounter = (name2, help) => {
|
|
160
|
-
this.#addMetric(this.#counters, import_prom_client.default.Counter, name2, help, []);
|
|
160
|
+
this.#addMetric(this.#counters, import_prom_client.default.Counter, { name: name2, help, labelNames: [] });
|
|
161
161
|
};
|
|
162
162
|
addSummary = (name2, help) => {
|
|
163
|
-
this.#addMetric(this.#summaries, import_prom_client.default.Summary, name2, help, []);
|
|
163
|
+
this.#addMetric(this.#summaries, import_prom_client.default.Summary, { name: name2, help, labelNames: [] });
|
|
164
164
|
};
|
|
165
165
|
addGauge = (name2, help, labelNames) => {
|
|
166
|
-
this.#addMetric(this.#gauges, import_prom_client.default.Gauge, name2, help, labelNames);
|
|
166
|
+
this.#addMetric(this.#gauges, import_prom_client.default.Gauge, { name: name2, help, labelNames });
|
|
167
167
|
};
|
|
168
168
|
incCounter = (name2) => {
|
|
169
169
|
this.#counters.get(this.#getMetricName(name2))?.inc();
|
|
@@ -730,7 +730,7 @@ function logMutateErrorMessage(e) {
|
|
|
730
730
|
} else {
|
|
731
731
|
throw new Error("An error occurred in the mutate action.");
|
|
732
732
|
}
|
|
733
|
-
} catch
|
|
733
|
+
} catch {
|
|
734
734
|
return "An error occurred with the mutate action.";
|
|
735
735
|
}
|
|
736
736
|
}
|
|
@@ -1224,12 +1224,15 @@ var Controller = class _Controller {
|
|
|
1224
1224
|
#capabilities;
|
|
1225
1225
|
#beforeHook;
|
|
1226
1226
|
#afterHook;
|
|
1227
|
-
constructor(config, capabilities,
|
|
1227
|
+
constructor(config, capabilities, hooks = {}) {
|
|
1228
|
+
const { beforeHook, afterHook, onReady } = hooks;
|
|
1228
1229
|
this.#config = config;
|
|
1229
1230
|
this.#capabilities = capabilities;
|
|
1230
1231
|
new StoreController(capabilities, `pepr-${config.uuid}-store`, () => {
|
|
1231
1232
|
this.#bindEndpoints();
|
|
1232
|
-
onReady
|
|
1233
|
+
if (typeof onReady === "function") {
|
|
1234
|
+
onReady();
|
|
1235
|
+
}
|
|
1233
1236
|
logger_default.info("\u2705 Controller startup complete");
|
|
1234
1237
|
new StoreController(capabilities, `pepr-${config.uuid}-schedule`, () => {
|
|
1235
1238
|
logger_default.info("\u2705 Scheduling processed");
|
|
@@ -1349,10 +1352,14 @@ var Controller = class _Controller {
|
|
|
1349
1352
|
const reqMetadata = { uid: request.uid, namespace: namespace2, name: name2 };
|
|
1350
1353
|
logger_default.info({ ...reqMetadata, gvk, operation: request.operation, admissionKind }, "Incoming request");
|
|
1351
1354
|
logger_default.debug({ ...reqMetadata, request }, "Incoming request body");
|
|
1352
|
-
|
|
1355
|
+
if (typeof this.#beforeHook === "function") {
|
|
1356
|
+
this.#beforeHook(request || {});
|
|
1357
|
+
}
|
|
1353
1358
|
const response = admissionKind === "Mutate" ? await mutateProcessor(this.#config, this.#capabilities, request, reqMetadata) : await validateProcessor(this.#config, this.#capabilities, request, reqMetadata);
|
|
1354
1359
|
[response].flat().map((res2) => {
|
|
1355
|
-
this.#afterHook
|
|
1360
|
+
if (typeof this.#afterHook === "function") {
|
|
1361
|
+
this.#afterHook(res2);
|
|
1362
|
+
}
|
|
1356
1363
|
logger_default.info({ ...reqMetadata, res: res2 }, "Check response");
|
|
1357
1364
|
});
|
|
1358
1365
|
const kar = admissionKind === "Mutate" ? karForMutate(response) : karForValidate(request, response);
|
|
@@ -1627,7 +1634,11 @@ async function runBinding(binding, capabilityNamespaces, ignoredNamespaces) {
|
|
|
1627
1634
|
const peprFinal = "pepr.dev/finalizer";
|
|
1628
1635
|
const meta = kubernetesObject.metadata;
|
|
1629
1636
|
const resource = `${meta.namespace || "ClusterScoped"}/${meta.name}`;
|
|
1630
|
-
shouldRemoveFinalizer === false
|
|
1637
|
+
if (shouldRemoveFinalizer === false) {
|
|
1638
|
+
logger_default.debug({ obj: kubernetesObject }, `Skipping removal of finalizer '${peprFinal}' from '${resource}'`);
|
|
1639
|
+
} else {
|
|
1640
|
+
await removeFinalizer(binding, kubernetesObject);
|
|
1641
|
+
}
|
|
1631
1642
|
}
|
|
1632
1643
|
};
|
|
1633
1644
|
const watcher = (0, import_kubernetes_fluent_client5.K8s)(binding.model, binding.filters).Watch(async (obj, phase) => {
|
|
@@ -1715,16 +1726,21 @@ var PeprModule = class {
|
|
|
1715
1726
|
process.send(exportedCapabilities);
|
|
1716
1727
|
return;
|
|
1717
1728
|
}
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1729
|
+
const controllerHooks = {
|
|
1730
|
+
beforeHook: opts.beforeHook,
|
|
1731
|
+
afterHook: opts.afterHook,
|
|
1732
|
+
onReady: () => {
|
|
1733
|
+
if (isWatchMode() || isDevMode()) {
|
|
1734
|
+
try {
|
|
1735
|
+
setupWatch(capabilities, resolveIgnoreNamespaces(pepr?.alwaysIgnore?.namespaces));
|
|
1736
|
+
} catch (e) {
|
|
1737
|
+
logger_default.error(e, "Error setting up watch");
|
|
1738
|
+
process.exit(1);
|
|
1739
|
+
}
|
|
1725
1740
|
}
|
|
1726
1741
|
}
|
|
1727
|
-
}
|
|
1742
|
+
};
|
|
1743
|
+
this.#controller = new Controller(config, capabilities, controllerHooks);
|
|
1728
1744
|
if (opts.deferStart) {
|
|
1729
1745
|
return;
|
|
1730
1746
|
}
|
|
@@ -1776,10 +1792,12 @@ var Storage = class {
|
|
|
1776
1792
|
return null;
|
|
1777
1793
|
};
|
|
1778
1794
|
clear = () => {
|
|
1779
|
-
Object.keys(this.#store).length > 0
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1795
|
+
if (Object.keys(this.#store).length > 0) {
|
|
1796
|
+
this.#dispatchUpdate(
|
|
1797
|
+
"remove",
|
|
1798
|
+
Object.keys(this.#store).map((key) => import_json_pointer.default.escape(key))
|
|
1799
|
+
);
|
|
1800
|
+
}
|
|
1783
1801
|
};
|
|
1784
1802
|
removeItem = (key) => {
|
|
1785
1803
|
this.#dispatchUpdate("remove", [v2StoreKey(key)]);
|
|
@@ -1922,7 +1940,7 @@ var OnSchedule = class {
|
|
|
1922
1940
|
lastTimestamp: /* @__PURE__ */ new Date(),
|
|
1923
1941
|
name: this.name
|
|
1924
1942
|
};
|
|
1925
|
-
this.store
|
|
1943
|
+
if (this.store) this.store.setItem(this.name, JSON.stringify(schedule));
|
|
1926
1944
|
}
|
|
1927
1945
|
/**
|
|
1928
1946
|
* Gets the durations in milliseconds
|
|
@@ -1993,7 +2011,7 @@ var OnSchedule = class {
|
|
|
1993
2011
|
clearInterval(this.intervalId);
|
|
1994
2012
|
this.intervalId = null;
|
|
1995
2013
|
}
|
|
1996
|
-
this.store
|
|
2014
|
+
if (this.store) this.store.removeItem(this.name);
|
|
1997
2015
|
}
|
|
1998
2016
|
};
|
|
1999
2017
|
|