@webda/kubernetes 4.0.0-beta.6 → 4.0.0-beta.7

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  This module is part of Webda Application Framework that allows you to quickly develop applications with all modern prerequisites: Security, Extensibility, GraphQL, REST, CloudNative [https://webda.io](https://webda.io)
4
4
 
5
- <img src="https://webda.io/images/webda.svg" width="128" />
5
+ <img src="https://webda.io/img/webda.svg" width="128" />
6
6
 
7
7
  ![CI](https://github.com/loopingz/webda.io/workflows/CI/badge.svg)
8
8
 
@@ -13,8 +13,6 @@ This module is part of Webda Application Framework that allows you to quickly de
13
13
 
14
14
  <!-- README_HEADER -->
15
15
 
16
- # @webda/kubernetes
17
-
18
16
  > Kubernetes integration for Webda — `KubeRunner` dispatches async jobs as Kubernetes batch Jobs, `KubernetesSecretsStore` reads model data from K8s Secrets, and `CronJobDeployer` manages CronJob lifecycle.
19
17
 
20
18
  ## When to use it
@@ -91,6 +89,7 @@ pnpm add @webda/kubernetes
91
89
  - Related: [`@webda/async`](../async) for the job orchestration layer; [`@webda/aws`](../aws) for `LambdaDeployer` as an AWS equivalent; [`@webda/core`](../core) for the `Runner` base class.
92
90
 
93
91
  <!-- README_FOOTER -->
92
+
94
93
  ## Sponsors
95
94
 
96
95
  <!--
@@ -99,12 +98,12 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
99
98
 
100
99
  Arize AI is a machine learning observability and model monitoring platform. It helps you visualize, monitor, and explain your machine learning models. [Learn more](https://arize.com)
101
100
 
102
- [<img src="https://arize.com/hubfs/arize/brand/arize-logomark-1.png" width="200">](https://arize.com)
101
+ [<img src="https://webda.io/img/sponsors/arize.svg" width="200">](https://arize.com)
103
102
 
104
103
  Loopingz is a software development company that provides consulting and development services. [Learn more](https://loopingz.com)
105
104
 
106
- [<img src="https://loopingz.com/images/logo.png" width="200">](https://loopingz.com)
105
+ [<img src="https://webda.io/img/sponsors/loopingz.png" width="200">](https://loopingz.com)
107
106
 
108
107
  Tellae is an innovative consulting firm specialized in cities transportation issues. We provide our clients, both public and private, with solutions to support your strategic and operational decisions. [Learn more](https://tellae.fr)
109
108
 
110
- [<img src="https://tellae.fr/" width="200">](https://tellae.fr)
109
+ [<img src="https://webda.io/img/sponsors/tellae.svg" width="200">](https://tellae.fr)
@@ -18,9 +18,8 @@ export default class KubernetesCronExporter extends Service {
18
18
  * @param target - Folder to write the resources to
19
19
  * @param filenameTemplate - Filename template to use
20
20
  * @param image - Image to use in the default template
21
- * @returns the number of exported crons
22
21
  */
23
- cronExport(template?: string, target?: string, filenameTemplate?: string, image?: string): Promise<number>;
22
+ cronExport(template?: string, target?: string, filenameTemplate?: string, image?: string): Promise<void>;
24
23
  }
25
24
  export { KubernetesCronExporter };
26
25
  //# sourceMappingURL=cronexporter.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cronexporter.service.d.ts","sourceRoot":"","sources":["../../src/services/cronexporter.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,OAAO,EAA8B,MAAM,aAAa,CAAC;AAKxG;;GAEG;AACH,eAAO,MAAM,2BAA2B,wtBAuBvC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,OAAO;IACzD;;;;;;;;OAQG;IAMG,UAAU,CACd,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,MAAkB,EAC1B,gBAAgB,GAAE,MAAgF,EAClG,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAqBjB;CACF;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"cronexporter.service.d.ts","sourceRoot":"","sources":["../../src/services/cronexporter.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,OAAO,EAA8B,MAAM,aAAa,CAAC;AAKxG;;GAEG;AACH,eAAO,MAAM,2BAA2B,wtBAuBvC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,OAAO;IACzD;;;;;;;OAOG;IAMG,UAAU,CACd,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,MAAkB,EAC1B,gBAAgB,GAAE,MAAgF,EAClG,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAqBf;CACF;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -76,7 +76,6 @@ let KubernetesCronExporter = (() => {
76
76
  * @param target - Folder to write the resources to
77
77
  * @param filenameTemplate - Filename template to use
78
78
  * @param image - Image to use in the default template
79
- * @returns the number of exported crons
80
79
  */
81
80
  async cronExport(template, target = "./crons", filenameTemplate = "${serviceName.toLowerCase()}.${method.toLowerCase()}-${cronId}.${ext}", image) {
82
81
  let ext;
@@ -98,8 +97,8 @@ let KubernetesCronExporter = (() => {
98
97
  this.log("DEBUG", `Exporting ${filename} cron with ${cron.toString()}`);
99
98
  writeFileSync(filename, CronReplace(content, exported, { resources: { tag: image } }));
100
99
  });
100
+ // The count is logged, not returned: a command result is its exit code
101
101
  this.log("INFO", `Exported ${crons.length} crons`);
102
- return crons.length;
103
102
  }
104
103
  constructor() {
105
104
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"cronexporter.service.js","sourceRoot":"","sources":["../../src/services/cronexporter.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAkB,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuB1C,CAAC;;;sBASkD,OAAO;;;sBAAtC,sBAAuB,SAAQ,WAAO;YACzD;;;;;;;;eAQG;YAMH,KAAK,CAAC,UAAU,CACd,QAAiB,EACjB,MAAM,GAAW,SAAS,EAC1B,gBAAgB,GAAW,uEAAuE,EAClG,KAAc;gBAEd,IAAI,GAAW,CAAC;gBAChB,IAAI,OAAe,CAAC;gBACpB,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACrC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,2BAA2B,CAAC;oBACtC,GAAG,GAAG,MAAM,CAAC;gBACf,CAAC;gBACD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAoB,EAAE,EAAE;oBACrC,uFAAuF;oBACvF,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBACzF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,QAAQ,cAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACxE,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,QAA0B,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC3G,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;gBACnD,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;;;gBAzCkB,mDAAsB;;;;;sCAUxC,OAAO,CAAC,uBAAuB,EAAE;oBAChC,WAAW,EAAE,yCAAyC;oBACtD,QAAQ,EAAE,CAAC,wBAAwB,CAAC;oBACpC,KAAK,EAAE,UAAU;iBAClB,CAAC;YACF,+KAAM,UAAU,6DA0Bf;;;;;AAhDH;;;;;;GAMG;AACH,sCA0CC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"cronexporter.service.js","sourceRoot":"","sources":["../../src/services/cronexporter.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAkB,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuB1C,CAAC;;;sBASkD,OAAO;;;sBAAtC,sBAAuB,SAAQ,WAAO;YACzD;;;;;;;eAOG;YAMH,KAAK,CAAC,UAAU,CACd,QAAiB,EACjB,MAAM,GAAW,SAAS,EAC1B,gBAAgB,GAAW,uEAAuE,EAClG,KAAc;gBAEd,IAAI,GAAW,CAAC;gBAChB,IAAI,OAAe,CAAC;gBACpB,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACrC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,2BAA2B,CAAC;oBACtC,GAAG,GAAG,MAAM,CAAC;gBACf,CAAC;gBACD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAoB,EAAE,EAAE;oBACrC,uFAAuF;oBACvF,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBACzF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,QAAQ,cAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACxE,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,QAA0B,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC3G,CAAC,CAAC,CAAC;gBACH,uEAAuE;gBACvE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YACrD,CAAC;;;gBAxCkB,mDAAsB;;;;;sCASxC,OAAO,CAAC,uBAAuB,EAAE;oBAChC,WAAW,EAAE,yCAAyC;oBACtD,QAAQ,EAAE,CAAC,wBAAwB,CAAC;oBACpC,KAAK,EAAE,UAAU;iBAClB,CAAC;YACF,+KAAM,UAAU,6DA0Bf;;;;;AA/CH;;;;;;GAMG;AACH,sCAyCC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -7,6 +7,9 @@ import { K8sConfiguration, KubernetesParameters } from "../utils/client.js";
7
7
  export declare class KubeRunnerParameters extends RunnerParameters implements KubernetesParameters {
8
8
  /**
9
9
  * Kubernetes configuration
10
+ *
11
+ * Can be encrypted with `webda config encrypt`
12
+ * @secret users.token,users.password,users.keyData,users.authProvider
10
13
  */
11
14
  config?: string | K8sConfiguration;
12
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"kuberunner.service.d.ts","sourceRoot":"","sources":["../../src/services/kuberunner.service.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;AAG9E,OAAO,EAA0B,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAgBpG;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,gBAAiB,YAAW,oBAAoB;IACxF;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,GAAQ,GAAG,IAAI,CAW3B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;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;;;;;OAKG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsBjF;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI,CAId;CACF;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"kuberunner.service.d.ts","sourceRoot":"","sources":["../../src/services/kuberunner.service.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;AAG9E,OAAO,EAA0B,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAgBpG;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,gBAAiB,YAAW,oBAAoB;IACxF;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,GAAQ,GAAG,IAAI,CAW3B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;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;;;;;OAKG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsBjF;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI,CAId;CACF;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"kuberunner.service.js","sourceRoot":"","sources":["../../src/services/kuberunner.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAA0C,MAAM,oBAAoB,CAAC;AAEpG,MAAM,sBAAsB,GAAG;;;;;;;;;;;;CAY9B,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAkBxD;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAQ,EAAE;QACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,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,oFAAoF;YACpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAWD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAkE,SAAQ,MAAS;IAGtG;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB,EAAE,IAAa;QACpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;YAChE,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;QACH,8BAA8B;QAC9B,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC/C,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,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACzF,CAAC;IAED;;;OAGG;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.service.js","sourceRoot":"","sources":["../../src/services/kuberunner.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,MAAM,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAA0C,MAAM,oBAAoB,CAAC;AAEpG,MAAM,sBAAsB,GAAG;;;;;;;;;;;;CAY9B,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAqBxD;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAQ,EAAE;QACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,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,oFAAoF;YACpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAWD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAkE,SAAQ,MAAS;IAGtG;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB,EAAE,IAAa;QACpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;YAChE,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;QACH,8BAA8B;QAC9B,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC/C,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,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACzF,CAAC;IAED;;;OAGG;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"}
@@ -5,6 +5,9 @@ import * as k8s from "@kubernetes/client-node";
5
5
  export interface KubernetesParameters {
6
6
  /**
7
7
  * Kubernetes configuration
8
+ *
9
+ * Can be encrypted with `webda config encrypt`
10
+ * @secret users.token,users.password,users.keyData,users.authProvider
8
11
  */
9
12
  config?: string | K8sConfiguration;
10
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAG/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,GAAG,GAAG,CAAC,UAAU,CAgB1E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,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;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAOrH"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAI/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;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,GAAG,GAAG,CAAC,UAAU,CAkB1E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,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;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAOrH"}
@@ -1,4 +1,5 @@
1
1
  import * as k8s from "@kubernetes/client-node";
2
+ import { SecretString } from "@webda/core";
2
3
  import { FileUtils } from "@webda/utils";
3
4
  /**
4
5
  * Get a Kubernetes configuration initialized based on Kubernetes Parameters
@@ -8,12 +9,14 @@ import { FileUtils } from "@webda/utils";
8
9
  export function getKubeConfig(params) {
9
10
  const kc = new k8s.KubeConfig();
10
11
  // Load all type of configuration
11
- if (params.config) {
12
- if (typeof params.config === "string") {
13
- kc.loadFromOptions(FileUtils.load(params.config));
12
+ // Encrypted values (tokens, keys) are replaced by their plain value
13
+ const config = SecretString.unwrap(params.config);
14
+ if (config) {
15
+ if (typeof config === "string") {
16
+ kc.loadFromOptions(FileUtils.load(config));
14
17
  }
15
18
  else {
16
- kc.loadFromOptions(params.config);
19
+ kc.loadFromOptions(config);
17
20
  }
18
21
  }
19
22
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgBzC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAA4B;IACxD,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;IAChC,iCAAiC;IACjC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA4B,EAAE,GAAS;IAC5E,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAmBzC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAA4B;IACxD,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;IAChC,iCAAiC;IACjC,oEAAoE;IACpE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA4B,EAAE,GAAS;IAC5E,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webda/kubernetes",
3
- "version": "4.0.0-beta.6",
3
+ "version": "4.0.0-beta.7",
4
4
  "description": "Kubernetes Helpers",
5
5
  "main": "lib/index.js",
6
6
  "keywords": [
@@ -13,9 +13,9 @@
13
13
  ],
14
14
  "dependencies": {
15
15
  "@kubernetes/client-node": "^1.4.0",
16
- "@webda/utils": "4.0.0-beta.6",
17
- "@webda/core": "4.0.0-beta.6",
18
- "@webda/async": "4.0.0-beta.6"
16
+ "@webda/core": "4.0.0-beta.7",
17
+ "@webda/utils": "4.0.0-beta.7",
18
+ "@webda/async": "4.0.0-beta.7"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/node": "25.5.0",
@@ -25,7 +25,7 @@
25
25
  "typescript": "7.1.0-dev.20260929.1",
26
26
  "vite": "^6.0.0",
27
27
  "vitest": "^4.1.2",
28
- "@webda/compiler": "^4.0.0-beta.6",
28
+ "@webda/compiler": "^4.0.0-beta.7",
29
29
  "@webda/test": "4.0.0-beta.6"
30
30
  },
31
31
  "bugs": {
package/webda.module.json CHANGED
@@ -88,7 +88,13 @@
88
88
  "$ref": "#/definitions/K8sConfiguration"
89
89
  }
90
90
  ],
91
- "description": "Kubernetes configuration"
91
+ "description": "Kubernetes configuration\n\nCan be encrypted with `webda config encrypt`",
92
+ "x-webda-secret": [
93
+ "users.token",
94
+ "users.password",
95
+ "users.keyData",
96
+ "users.authProvider"
97
+ ]
92
98
  },
93
99
  "context": {
94
100
  "description": "Default context to use",