@webda/kubernetes 4.0.0-beta.1 → 4.0.0-beta.2

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/lib/cron.d.ts CHANGED
@@ -14,3 +14,4 @@ import { Application, CronDefinition } from "@webda/core";
14
14
  * @returns The template string with all placeholders replaced with their corresponding values.
15
15
  */
16
16
  export declare function CronReplace(template: string | any, cron: CronDefinition, app: Application, replacements?: any): any;
17
+ //# sourceMappingURL=cron.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../src/cron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,GAAE,GAAQ,OAwCjH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cron.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.spec.d.ts","sourceRoot":"","sources":["../src/cron.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import { WebdaTest } from "@webda/core/lib/test.js";
9
+ import * as assert from "assert";
10
+ import { CronReplace } from "./cron.js";
11
+ let CronTest = class CronTest extends WebdaTest {
12
+ basic() {
13
+ const text = `{
14
+ "value": ["a", "\${cron.argsArray}"],
15
+ "value2": ["a", "\${...cron.args}"],
16
+ "cmdline": "echo 'a' '\${cron.argsLine}'"
17
+ }`;
18
+ let res = JSON.parse(CronReplace(text, { args: ["b", "c"], cron: "* * * * *", description: "Test", method: "method", serviceName: "service" }, this.webda.getApplication(), {}));
19
+ assert.deepStrictEqual(res.value, ["a", "b", "c"]);
20
+ assert.deepStrictEqual(res.value2, ["a", "b", "c"]);
21
+ assert.strictEqual(res.cmdline, "echo 'a' 'b' 'c'");
22
+ assert.strictEqual(CronReplace(`cmdline2:\n - echo "a" "\${cron.argsLine}"\n`, { args: ["b", "c"], cron: "* * * * *", description: "Test", method: "method", serviceName: "service" }, this.webda.getApplication()), `cmdline2:\n - echo "a" "b" "c"\n`);
23
+ res = CronReplace({
24
+ value: [
25
+ "a",
26
+ "${...cron.args}"
27
+ ]
28
+ }, { args: ["b", "c"], cron: "* * * * *", description: "Test", method: "method", serviceName: "service" }, this.webda.getApplication());
29
+ assert.deepStrictEqual(res.value, ["a", "b", "c"]);
30
+ }
31
+ };
32
+ __decorate([
33
+ test
34
+ ], CronTest.prototype, "basic", null);
35
+ CronTest = __decorate([
36
+ suite
37
+ ], CronTest);
38
+ //# sourceMappingURL=cron.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.spec.js","sourceRoot":"","sources":["../src/cron.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,SAAS;IAE9B,KAAK;QACH,MAAM,IAAI,GAAG;;;;MAIX,CAAC;QACH,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAC9B,IAAI,EACJ,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,EACtG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAC3B,EAAE,CACH,CAAC,CAAC;QACH,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,+CAA+C,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,EACjK,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACvE,GAAG,GAAG,WAAW,CAAC;YAChB,KAAK,EAAE;gBACL,GAAG;gBACH,iBAAiB;aAClB;SACF,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,EACzG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;QAC5B,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AA3BC;IADC,IAAI;qCA2BJ;AA5BG,QAAQ;IADb,KAAK;GACA,QAAQ,CA6Bb"}
package/lib/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./cron.js";
2
2
  export * from "./services/kuberunner.js";
3
3
  export * from "./utils/client.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
@@ -24,11 +24,6 @@ export declare class KubeRunnerParameters extends RunnerParameters implements Ku
24
24
  jobImage?: string;
25
25
  constructor(params: any);
26
26
  }
27
- /**
28
- * Type of action returned by LocalRunner
29
- */
30
- export interface KubeJob {
31
- }
32
27
  /**
33
28
  * Run a Job locally on the server by spawning a child process
34
29
  *
@@ -43,10 +38,11 @@ export default class KubeRunner<T extends KubeRunnerParameters = KubeRunnerParam
43
38
  /**
44
39
  * @inheritdoc
45
40
  */
46
- launchAction(_action: AsyncAction, info: JobInfo): Promise<KubeJob>;
41
+ launchAction(_action: AsyncAction, info: JobInfo): Promise<k8s.V1Job>;
47
42
  /**
48
43
  * @inheritdoc
49
44
  */
50
45
  resolve(): this;
51
46
  }
52
47
  export { KubeRunner };
48
+ //# sourceMappingURL=kuberunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kuberunner.d.ts","sourceRoot":"","sources":["../../src/services/kuberunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAa,iBAAiB,EAAa,MAAM,aAAa,CAAC;AACtE,OAAO,EAA0B,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAgBjG;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,gBAAiB,YAAW,oBAAoB;IACxF;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEN,MAAM,EAAE,GAAG;CAUxB;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACtG,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC;IAEhC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,iBAAiB;IAI9C;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IA+B3E;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -58,9 +58,9 @@ export default class KubeRunner extends Runner {
58
58
  resources.spec.template &&
59
59
  resources.spec.template.spec &&
60
60
  resources.spec.template.spec.containers) {
61
- for (let cont of resources.spec.template.spec.containers) {
61
+ for (const cont of resources.spec.template.spec.containers) {
62
62
  cont.env ?? (cont.env = []);
63
- for (let envKey in info) {
63
+ for (const envKey in info) {
64
64
  cont.env.push({
65
65
  name: envKey,
66
66
  value: info[envKey]
@@ -1 +1 @@
1
- {"version":3,"file":"kuberunner.js","sourceRoot":"","sources":["../../src/services/kuberunner.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAA0C,MAAM,iBAAiB,CAAC;AAEjG,MAAM,sBAAsB,GAAG;;;;;;;;;;;;CAY9B,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAkBxD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,YAAY,KAAjB,IAAI,CAAC,YAAY,GAAK,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAC;QAC9D,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF;AAOD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAkE,SAAQ,MAAS;IAGtG;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB,EAAE,IAAa;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE;aAC9B,cAAc,EAAE;aAChB,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;YAC9C,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE;YAC3B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YAC/B,GAAG,IAAI;YACP,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QACL,8BAA8B;QAC9B,IACE,SAAS,CAAC,IAAI;YACd,SAAS,CAAC,IAAI,CAAC,QAAQ;YACvB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;YAC5B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EACvC,CAAC;YACD,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzD,IAAI,CAAC,GAAG,KAAR,IAAI,CAAC,GAAG,GAAK,EAAE,EAAC;gBAChB,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,0BAA0B;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACxG,CAAC;IAED;;OAEG;IACH,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAA4B,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"kuberunner.js","sourceRoot":"","sources":["../../src/services/kuberunner.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAA0C,MAAM,iBAAiB,CAAC;AAEjG,MAAM,sBAAsB,GAAG;;;;;;;;;;;;CAY9B,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAkBxD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,YAAY,KAAjB,IAAI,CAAC,YAAY,GAAK,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAC;QAC9D,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAkE,SAAQ,MAAS;IAGtG;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB,EAAE,IAAa;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE;aAC9B,cAAc,EAAE;aAChB,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;YAC9C,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE;YAC3B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YAC/B,GAAG,IAAI;YACP,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QACL,8BAA8B;QAC9B,IACE,SAAS,CAAC,IAAI;YACd,SAAS,CAAC,IAAI,CAAC,QAAQ;YACvB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;YAC5B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EACvC,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3D,IAAI,CAAC,GAAG,KAAR,IAAI,CAAC,GAAG,GAAK,EAAE,EAAC;gBAChB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;oBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,0BAA0B;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACxG,CAAC;IAED;;OAEG;IACH,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAA4B,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=kuberunner.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kuberunner.spec.d.ts","sourceRoot":"","sources":["../../src/services/kuberunner.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,116 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import * as assert from "assert";
8
+ import { suite, test } from "@testdeck/mocha";
9
+ import { WebdaTest } from "@webda/core/lib/test.js";
10
+ import KubeRunner from "./kuberunner.js";
11
+ import { AsyncAction } from "@webda/async";
12
+ import { stub } from "sinon";
13
+ let KubeRunnerTest = class KubeRunnerTest extends WebdaTest {
14
+ cov() {
15
+ assert.throws(() => new KubeRunner(this.webda, "runner", {}), /Either jobImage or jobResources need/);
16
+ }
17
+ loadResource() {
18
+ const runner = new KubeRunner(this.webda, "runner", { jobResources: "./test/resource-fake.yml" });
19
+ runner.resolve();
20
+ assert.deepStrictEqual(runner.getParameters().jobResources, { fake: true });
21
+ }
22
+ getJobInfo(action) {
23
+ return {
24
+ JOB_HOOK: "hook",
25
+ JOB_ID: "uuid",
26
+ JOB_ORCHESTRATOR: "test",
27
+ JOB_SECRET_KEY: "mykey"
28
+ };
29
+ }
30
+ async launchAction() {
31
+ const runner = new KubeRunner(this.webda, "runner", { jobImage: "webda.io/runner" });
32
+ runner.resolve();
33
+ const kube = stub(runner.client, "create").returns({
34
+ // @ts-ignore
35
+ body: {
36
+ spec: true,
37
+ metadata: "fake",
38
+ apiVersion: "1.0",
39
+ kind: "Job"
40
+ }
41
+ });
42
+ const action = new AsyncAction();
43
+ try {
44
+ let result = await runner.launchAction(action, this.getJobInfo(action));
45
+ assert.deepStrictEqual(result, {
46
+ metadata: "fake",
47
+ apiVersion: "1.0",
48
+ kind: "Job"
49
+ });
50
+ const envs = [
51
+ { name: "JOB_HOOK", value: "hook" },
52
+ { name: "JOB_ID", value: "uuid" },
53
+ { name: "JOB_ORCHESTRATOR", value: "test" },
54
+ { name: "JOB_SECRET_KEY", value: "mykey" }
55
+ ];
56
+ // @ts-ignore
57
+ assert.deepStrictEqual(kube.getCall(0).args[0].spec.template.spec.containers[0].env, envs);
58
+ kube.resetHistory();
59
+ runner.getParameters().jobResources = {
60
+ spec: {
61
+ template: {
62
+ spec: {
63
+ containers: [
64
+ {},
65
+ {
66
+ env: [
67
+ {
68
+ name: "TEST",
69
+ value: "test"
70
+ }
71
+ ]
72
+ }
73
+ ]
74
+ }
75
+ }
76
+ }
77
+ };
78
+ result = await runner.launchAction(action, this.getJobInfo(action));
79
+ // @ts-ignore
80
+ assert.deepStrictEqual(kube.getCall(0).args[0].spec.template.spec.containers[0].env, envs);
81
+ // @ts-ignore
82
+ assert.deepStrictEqual(kube.getCall(0).args[0].spec.template.spec.containers[1].env, [
83
+ {
84
+ name: "TEST",
85
+ value: "test"
86
+ },
87
+ ...envs
88
+ ]);
89
+ // COV parts
90
+ runner.getParameters().jobResources = {};
91
+ await runner.launchAction(action, this.getJobInfo(action));
92
+ runner.getParameters().jobResources = { spec: {} };
93
+ await runner.launchAction(action, this.getJobInfo(action));
94
+ runner.getParameters().jobResources = { spec: { template: {} } };
95
+ await runner.launchAction(action, this.getJobInfo(action));
96
+ runner.getParameters().jobResources = { spec: { template: { spec: {} } } };
97
+ await runner.launchAction(action, this.getJobInfo(action));
98
+ }
99
+ finally {
100
+ kube.restore();
101
+ }
102
+ }
103
+ };
104
+ __decorate([
105
+ test
106
+ ], KubeRunnerTest.prototype, "cov", null);
107
+ __decorate([
108
+ test
109
+ ], KubeRunnerTest.prototype, "loadResource", null);
110
+ __decorate([
111
+ test
112
+ ], KubeRunnerTest.prototype, "launchAction", null);
113
+ KubeRunnerTest = __decorate([
114
+ suite
115
+ ], KubeRunnerTest);
116
+ //# sourceMappingURL=kuberunner.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kuberunner.spec.js","sourceRoot":"","sources":["../../src/services/kuberunner.spec.ts"],"names":[],"mappings":"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"}
package/lib/shell.d.ts CHANGED
@@ -10,3 +10,4 @@ export declare class KubernetesShell {
10
10
  declare function yargs(y: any): any;
11
11
  declare const ShellCommand: typeof KubernetesShell.shellCommand;
12
12
  export { ShellCommand, yargs };
13
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../src/shell.ts"],"names":[],"mappings":"AAKA,qBAAa,eAAe;WACb,YAAY,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA;CA+BxC;AAED;;;;;GAKG;AACH,iBAAS,KAAK,CAAC,CAAC,KAAA,OAOf;AAED,QAAA,MAAM,YAAY,qCAA+B,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC"}
@@ -30,3 +30,4 @@ export interface K8sConfiguration {
30
30
  * @returns
31
31
  */
32
32
  export declare function getKubernetesApiClient(params: KubernetesParameters, api?: any): k8s.ApiType | k8s.KubernetesObjectApi;
33
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAI,GAAG,CAAC,UAAU,CAgB3E;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAOrH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.spec.d.ts","sourceRoot":"","sources":["../../src/utils/client.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import * as assert from "assert";
8
+ import { suite, test } from "@testdeck/mocha";
9
+ import { getKubernetesApiClient } from "./client.js";
10
+ import * as k8s from "@kubernetes/client-node";
11
+ /**
12
+ * This is mainly for COV
13
+ * We should inject true configuration to check more
14
+ */
15
+ let GetKubernetesApiClient = class GetKubernetesApiClient {
16
+ withConfig() {
17
+ assert.throws(() => getKubernetesApiClient({
18
+ config: "./test/kubeconfig"
19
+ }), /Unknown format/);
20
+ assert.throws(() => getKubernetesApiClient({
21
+ config: {}
22
+ }), /No active cluster/);
23
+ }
24
+ withContext() {
25
+ assert.throws(() => getKubernetesApiClient({ context: "plop" }, k8s.AppsV1Api), /No active cluster/);
26
+ }
27
+ };
28
+ __decorate([
29
+ test
30
+ ], GetKubernetesApiClient.prototype, "withConfig", null);
31
+ __decorate([
32
+ test
33
+ ], GetKubernetesApiClient.prototype, "withContext", null);
34
+ GetKubernetesApiClient = __decorate([
35
+ suite
36
+ ], GetKubernetesApiClient);
37
+ //# sourceMappingURL=client.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.spec.js","sourceRoot":"","sources":["../../src/utils/client.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAE/C;;;GAGG;AAEH,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAE1B,UAAU;QACR,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CACH,sBAAsB,CAAC;YACrB,MAAM,EAAE,mBAAmB;SAC5B,CAAC,EACJ,gBAAgB,CACjB,CAAC;QACF,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CACH,sBAAsB,CAAM;YAC1B,MAAM,EAAE,EAAE;SACX,CAAC,EACJ,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAGD,WAAW;QACT,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACvG,CAAC;CACF,CAAA;AArBC;IADC,IAAI;wDAgBJ;AAGD;IADC,IAAI;yDAGJ;AAtBG,sBAAsB;IAD3B,KAAK;GACA,sBAAsB,CAuB3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webda/kubernetes",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.2",
4
4
  "description": "Kubernetes Helpers",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -8,8 +8,13 @@
8
8
  "build:module": "webda build",
9
9
  "build:watch": "webda build --watch",
10
10
  "pretest": "npm run build",
11
- "test": "c8 mocha -r ../../node_modules/ts-node/register",
12
- "run": "node core"
11
+ "test": "c8 mocha",
12
+ "test:debug": "mocha --no-timeouts",
13
+ "run": "node core",
14
+ "format": "prettier --check src/**/*",
15
+ "lint": "eslint",
16
+ "lint:fix": "eslint --fix",
17
+ "format:fix": "prettier --write src/**/*"
13
18
  },
14
19
  "keywords": [
15
20
  "webda-module"
@@ -21,20 +26,19 @@
21
26
  "package.json"
22
27
  ],
23
28
  "dependencies": {
24
- "@kubernetes/client-node": "^0.21.0",
25
- "@webda/async": "^4.0.0-beta.1",
26
- "@webda/core": "^4.0.0-beta.1"
29
+ "@kubernetes/client-node": "^0.22.0",
30
+ "@webda/async": "^4.0.0-beta.2",
31
+ "@webda/core": "^4.0.0-beta.2"
27
32
  },
28
33
  "devDependencies": {
29
34
  "@testdeck/mocha": "^0.3.3",
30
- "@types/node": "18.11.13",
31
- "@webda/tsc-esm": "^4.0.0-beta.1",
35
+ "@types/node": "20.0.0",
36
+ "@webda/tsc-esm": "^4.0.0-beta.2",
32
37
  "c8": "^10.1.2",
33
38
  "mocha": "^10.0.0",
34
- "sinon": "^18.0.0",
39
+ "sinon": "^19.0.2",
35
40
  "source-map-support": "^0.5.19",
36
- "ts-node": "^10.2.0",
37
- "typescript": "~5.5.3"
41
+ "tsx": "^4.17.0"
38
42
  },
39
43
  "c8": {
40
44
  "report-dir": "./reports",
@@ -64,7 +68,7 @@
64
68
  },
65
69
  "type": "module",
66
70
  "engines": {
67
- "node": ">=18.0.0"
71
+ "node": ">=20.0.0"
68
72
  },
69
73
  "nx": {
70
74
  "implicitDependencies": [
@@ -73,5 +77,6 @@
73
77
  "@webda/async"
74
78
  ]
75
79
  },
76
- "gitHead": "9f0c12d5e43b3484794b2a49c5701b8b9675c4a8"
80
+ "license": "LGPL-3.0-only",
81
+ "gitHead": "e992dcfb82cefa6cd5c61c54a0e63778b6f53d8e"
77
82
  }