timonel 2.8.0-beta.5 → 2.8.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 (128) hide show
  1. package/CHANGELOG.md +11 -21
  2. package/README.md +12 -55
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/{src/cli.js → cli.js} +115 -82
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +14 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +13 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/{src/lib → lib}/helm.d.ts +234 -4
  11. package/dist/lib/helm.d.ts.map +1 -0
  12. package/dist/{src/lib → lib}/helm.js +309 -20
  13. package/dist/lib/helm.js.map +1 -0
  14. package/dist/lib/helmChartWriter.d.ts.map +1 -0
  15. package/dist/{src/lib → lib}/helmChartWriter.js +5 -19
  16. package/dist/lib/helmChartWriter.js.map +1 -0
  17. package/dist/{src/lib → lib}/resources/baseResourceProvider.d.ts +1 -1
  18. package/dist/lib/resources/baseResourceProvider.d.ts.map +1 -0
  19. package/dist/lib/resources/baseResourceProvider.js.map +1 -0
  20. package/dist/{src/lib → lib}/resources/cloud/aws/awsResources.d.ts +5 -14
  21. package/dist/lib/resources/cloud/aws/awsResources.d.ts.map +1 -0
  22. package/dist/{src/lib → lib}/resources/cloud/aws/awsResources.js +63 -78
  23. package/dist/lib/resources/cloud/aws/awsResources.js.map +1 -0
  24. package/dist/lib/resources/cloud/aws/karpenterResources.d.ts.map +1 -0
  25. package/dist/lib/resources/cloud/aws/karpenterResources.js.map +1 -0
  26. package/dist/lib/rutter.d.ts +445 -0
  27. package/dist/lib/rutter.d.ts.map +1 -0
  28. package/dist/lib/rutter.js +585 -0
  29. package/dist/lib/rutter.js.map +1 -0
  30. package/dist/{src/lib → lib}/security.d.ts +2 -72
  31. package/dist/lib/security.d.ts.map +1 -0
  32. package/dist/lib/security.js +390 -0
  33. package/dist/lib/security.js.map +1 -0
  34. package/dist/lib/umbrella.d.ts.map +1 -0
  35. package/dist/lib/umbrella.js.map +1 -0
  36. package/dist/{src/lib → lib}/umbrellaRutter.d.ts +1 -1
  37. package/dist/lib/umbrellaRutter.d.ts.map +1 -0
  38. package/dist/lib/umbrellaRutter.js.map +1 -0
  39. package/dist/{src/lib → lib}/utils/helmHelpers.d.ts +2 -12
  40. package/dist/lib/utils/helmHelpers.d.ts.map +1 -0
  41. package/dist/{src/lib → lib}/utils/helmHelpers.js +2 -46
  42. package/dist/lib/utils/helmHelpers.js.map +1 -0
  43. package/package.json +3 -4
  44. package/dist/src/cli.d.ts.map +0 -1
  45. package/dist/src/cli.js.map +0 -1
  46. package/dist/src/index.d.ts +0 -23
  47. package/dist/src/index.d.ts.map +0 -1
  48. package/dist/src/index.js +0 -15
  49. package/dist/src/index.js.map +0 -1
  50. package/dist/src/lib/constants.d.ts +0 -142
  51. package/dist/src/lib/constants.d.ts.map +0 -1
  52. package/dist/src/lib/constants.js +0 -167
  53. package/dist/src/lib/constants.js.map +0 -1
  54. package/dist/src/lib/helm.d.ts.map +0 -1
  55. package/dist/src/lib/helm.js.map +0 -1
  56. package/dist/src/lib/helmChartWriter.d.ts.map +0 -1
  57. package/dist/src/lib/helmChartWriter.js.map +0 -1
  58. package/dist/src/lib/resources/autoscaling/autoscalingResources.d.ts +0 -248
  59. package/dist/src/lib/resources/autoscaling/autoscalingResources.d.ts.map +0 -1
  60. package/dist/src/lib/resources/autoscaling/autoscalingResources.js +0 -81
  61. package/dist/src/lib/resources/autoscaling/autoscalingResources.js.map +0 -1
  62. package/dist/src/lib/resources/baseResourceProvider.d.ts.map +0 -1
  63. package/dist/src/lib/resources/baseResourceProvider.js.map +0 -1
  64. package/dist/src/lib/resources/cloud/aws/awsResources.d.ts.map +0 -1
  65. package/dist/src/lib/resources/cloud/aws/awsResources.js.map +0 -1
  66. package/dist/src/lib/resources/cloud/aws/karpenterResources.d.ts.map +0 -1
  67. package/dist/src/lib/resources/cloud/aws/karpenterResources.js.map +0 -1
  68. package/dist/src/lib/resources/cloud/azure/azureResources.d.ts +0 -169
  69. package/dist/src/lib/resources/cloud/azure/azureResources.d.ts.map +0 -1
  70. package/dist/src/lib/resources/cloud/azure/azureResources.js +0 -218
  71. package/dist/src/lib/resources/cloud/azure/azureResources.js.map +0 -1
  72. package/dist/src/lib/resources/cloud/gcp/gcpResources.d.ts +0 -164
  73. package/dist/src/lib/resources/cloud/gcp/gcpResources.d.ts.map +0 -1
  74. package/dist/src/lib/resources/cloud/gcp/gcpResources.js +0 -192
  75. package/dist/src/lib/resources/cloud/gcp/gcpResources.js.map +0 -1
  76. package/dist/src/lib/resources/core/coreResources.d.ts +0 -790
  77. package/dist/src/lib/resources/core/coreResources.d.ts.map +0 -1
  78. package/dist/src/lib/resources/core/coreResources.js +0 -1115
  79. package/dist/src/lib/resources/core/coreResources.js.map +0 -1
  80. package/dist/src/lib/resources/core/storageResources.d.ts +0 -133
  81. package/dist/src/lib/resources/core/storageResources.d.ts.map +0 -1
  82. package/dist/src/lib/resources/core/storageResources.js +0 -120
  83. package/dist/src/lib/resources/core/storageResources.js.map +0 -1
  84. package/dist/src/lib/resources/network/networkResources.d.ts +0 -515
  85. package/dist/src/lib/resources/network/networkResources.d.ts.map +0 -1
  86. package/dist/src/lib/resources/network/networkResources.js +0 -784
  87. package/dist/src/lib/resources/network/networkResources.js.map +0 -1
  88. package/dist/src/lib/resources/security/encryption.d.ts +0 -290
  89. package/dist/src/lib/resources/security/encryption.d.ts.map +0 -1
  90. package/dist/src/lib/resources/security/encryption.js +0 -295
  91. package/dist/src/lib/resources/security/encryption.js.map +0 -1
  92. package/dist/src/lib/resources/security/index.d.ts +0 -6
  93. package/dist/src/lib/resources/security/index.d.ts.map +0 -1
  94. package/dist/src/lib/resources/security/index.js +0 -6
  95. package/dist/src/lib/resources/security/index.js.map +0 -1
  96. package/dist/src/lib/resources/validation/validationResources.d.ts +0 -26
  97. package/dist/src/lib/resources/validation/validationResources.d.ts.map +0 -1
  98. package/dist/src/lib/resources/validation/validationResources.js +0 -33
  99. package/dist/src/lib/resources/validation/validationResources.js.map +0 -1
  100. package/dist/src/lib/rutter.d.ts +0 -1106
  101. package/dist/src/lib/rutter.d.ts.map +0 -1
  102. package/dist/src/lib/rutter.js +0 -1295
  103. package/dist/src/lib/rutter.js.map +0 -1
  104. package/dist/src/lib/security.d.ts.map +0 -1
  105. package/dist/src/lib/security.js +0 -569
  106. package/dist/src/lib/security.js.map +0 -1
  107. package/dist/src/lib/umbrella.d.ts.map +0 -1
  108. package/dist/src/lib/umbrella.js.map +0 -1
  109. package/dist/src/lib/umbrellaRutter.d.ts.map +0 -1
  110. package/dist/src/lib/umbrellaRutter.js.map +0 -1
  111. package/dist/src/lib/utils/helmHelpers.d.ts.map +0 -1
  112. package/dist/src/lib/utils/helmHelpers.js.map +0 -1
  113. package/dist/src/lib/utils/podTemplates.d.ts +0 -192
  114. package/dist/src/lib/utils/podTemplates.d.ts.map +0 -1
  115. package/dist/src/lib/utils/podTemplates.js +0 -331
  116. package/dist/src/lib/utils/podTemplates.js.map +0 -1
  117. package/dist/src/lib/utils/resourceNaming.d.ts +0 -57
  118. package/dist/src/lib/utils/resourceNaming.d.ts.map +0 -1
  119. package/dist/src/lib/utils/resourceNaming.js +0 -82
  120. package/dist/src/lib/utils/resourceNaming.js.map +0 -1
  121. /package/dist/{src/cli.d.ts → cli.d.ts} +0 -0
  122. /package/dist/{src/lib → lib}/helmChartWriter.d.ts +0 -0
  123. /package/dist/{src/lib → lib}/resources/baseResourceProvider.js +0 -0
  124. /package/dist/{src/lib → lib}/resources/cloud/aws/karpenterResources.d.ts +0 -0
  125. /package/dist/{src/lib → lib}/resources/cloud/aws/karpenterResources.js +0 -0
  126. /package/dist/{src/lib → lib}/umbrella.d.ts +0 -0
  127. /package/dist/{src/lib → lib}/umbrella.js +0 -0
  128. /package/dist/{src/lib → lib}/umbrellaRutter.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,37 +1,24 @@
1
- # [2.8.0-beta.5](https://github.com/KenkoGeek/timonel/compare/v2.8.0-beta.4...v2.8.0-beta.5) (2025-09-14)
2
-
3
- ### Features
4
-
5
- - **network:** enhance NGINX Ingress support with cert-manager integration and security enhanced ([#91](https://github.com/KenkoGeek/timonel/issues/91)) ([be223dd](https://github.com/KenkoGeek/timonel/commit/be223ddfd2a387c2ff60cb7c8411ef893c45b7d3))
6
-
7
- # [2.8.0-beta.4](https://github.com/KenkoGeek/timonel/compare/v2.8.0-beta.3...v2.8.0-beta.4) (2025-09-13)
8
-
9
- ### Bug Fixes
10
-
11
- - **core:** resolve splitDocs removing Timonel headers from YAML ([951db75](https://github.com/KenkoGeek/timonel/commit/951db7553da57b48880b964551975411517e4218))
12
-
13
- # [2.8.0-beta.3](https://github.com/KenkoGeek/timonel/compare/v2.8.0-beta.2...v2.8.0-beta.3) (2025-09-13)
1
+ ## [2.8.1](https://github.com/KenkoGeek/timonel/compare/v2.8.0...v2.8.1) (2025-09-15)
14
2
 
15
3
  ### Bug Fixes
16
4
 
17
- - **core:** ensure Timonel header appears in all YAML files ([ebee72e](https://github.com/KenkoGeek/timonel/commit/ebee72e9bc5b54eb56f871786e08bef36caad45a))
18
-
19
- # [2.8.0-beta.2](https://github.com/KenkoGeek/timonel/compare/v2.8.0-beta.1...v2.8.0-beta.2) (2025-09-13)
20
-
21
- ### Bug Fixes
22
-
23
- - **core:** addIngress already normalized with NGINX best practices ([33fd0ae](https://github.com/KenkoGeek/timonel/commit/33fd0aee20db1c65a92bf36cbdc683b7028c80f8))
5
+ - **cli:** resolve timonel module not found error in umbrella.ts ([2dfb19c](https://github.com/KenkoGeek/timonel/commit/2dfb19c7dd4fcc2de9a342c6953133e6601cf74e))
24
6
 
25
- # [2.8.0-beta.1](https://github.com/KenkoGeek/timonel/compare/v2.7.3...v2.8.0-beta.1) (2025-09-13)
7
+ # [2.8.0](https://github.com/KenkoGeek/timonel/compare/v2.7.3...v2.8.0) (2025-09-14)
26
8
 
27
9
  ### Bug Fixes
28
10
 
29
11
  - **ci:** add mandatory CI status verification to beta release ([02af416](https://github.com/KenkoGeek/timonel/commit/02af41689a4efbee2f215bcce1c9c6a5e59878cd))
12
+ - **ci:** Q gate not needed ([9fcb210](https://github.com/KenkoGeek/timonel/commit/9fcb210c056d68af549e0f763331dffd094e2fa4))
13
+ - **ci:** Q gate not needed ([162b53f](https://github.com/KenkoGeek/timonel/commit/162b53f2310361c596d1369edb77044c757581df))
30
14
  - **ci:** remove npm-prd environment from beta release ([50076de](https://github.com/KenkoGeek/timonel/commit/50076de8734066b181c5fc5f28b03fcde0959efc))
31
15
  - **ci:** restore release.yml workflow from v2.7.3 ([cabb8bf](https://github.com/KenkoGeek/timonel/commit/cabb8bff765cad790b1c27a2d6749c0ddac6e24d))
32
16
  - **ci:** restore working release workflow from v2.7.3 ([bed9146](https://github.com/KenkoGeek/timonel/commit/bed9146fd772a3d1f45e9cef5a316375351b1912))
33
17
  - **ci:** specify explicit semantic-release config file ([ac95d51](https://github.com/KenkoGeek/timonel/commit/ac95d51469a20df289e63665e5e8572fbcf86e35))
34
18
  - **ci:** use working semantic-release config from v2.7.3 ([5261eda](https://github.com/KenkoGeek/timonel/commit/5261edab43d05670f3803fca222d1e01f29d2f57))
19
+ - **core:** addIngress already normalized with NGINX best practices ([33fd0ae](https://github.com/KenkoGeek/timonel/commit/33fd0aee20db1c65a92bf36cbdc683b7028c80f8))
20
+ - **core:** ensure Timonel header appears in all YAML files ([ebee72e](https://github.com/KenkoGeek/timonel/commit/ebee72e9bc5b54eb56f871786e08bef36caad45a))
21
+ - **core:** resolve splitDocs removing Timonel headers from YAML ([951db75](https://github.com/KenkoGeek/timonel/commit/951db7553da57b48880b964551975411517e4218))
35
22
  - **network:** Ingress API with TLS validation and security defaults ([#88](https://github.com/KenkoGeek/timonel/issues/88)) ([b1397b1](https://github.com/KenkoGeek/timonel/commit/b1397b1fa51a01f84f8cf4bbe41efa27f5636ac7))
36
23
 
37
24
  ### Features
@@ -40,6 +27,9 @@
40
27
  - **ci:** add beta releases on main with quality gates [skip ci] ([81c4dd0](https://github.com/KenkoGeek/timonel/commit/81c4dd062015a1bc2e62730c7f94f23fcfdfe2ed))
41
28
  - **ci:** configure dual release strategy ([b11aeae](https://github.com/KenkoGeek/timonel/commit/b11aeaef175603787cd27a0af83d6ab6f8acb8f7))
42
29
  - **ci:** simplify to beta releases only ([4f9704d](https://github.com/KenkoGeek/timonel/commit/4f9704dfe9fa63b7bd3cc2bb458256f47514d1ed))
30
+ - **core:** add Whatever tomorrow brings Ill be there ([fcbeb06](https://github.com/KenkoGeek/timonel/commit/fcbeb067a9835bca5315569bb7fab1d992a15d3d))
31
+ - **core:** Add with open arms and open eyes, yeah ([5be5d32](https://github.com/KenkoGeek/timonel/commit/5be5d32fcc2287ac562b4422212a1e37775ebcda))
32
+ - **network:** enhance NGINX Ingress support with cert-manager integration and security enhanced ([#91](https://github.com/KenkoGeek/timonel/issues/91)) ([be223dd](https://github.com/KenkoGeek/timonel/commit/be223ddfd2a387c2ff60cb7c8411ef893c45b7d3))
43
33
 
44
34
  ## [2.7.3](https://github.com/KenkoGeek/timonel/compare/v2.7.2...v2.7.3) (2025-09-13)
45
35
 
package/README.md CHANGED
@@ -16,16 +16,14 @@ using cdk8s. Define Kubernetes resources with classes and synthesize a full Helm
16
16
 
17
17
  ## ✨ Key Features
18
18
 
19
- - **Type-safe API** with strict TypeScript and cdk8s constructs
20
- - **Multi-environment support** with automatic values files generation
21
- - **Umbrella Charts** for managing multiple subcharts as a single unit
22
- - **Complete multi-cloud integrations** for AWS, Azure, and GCP
23
- - **Azure**: Disk/Files StorageClass, AGIC Ingress, Key Vault, ACR ServiceAccount
24
- - **GCP**: Filestore StorageClass, GCE Ingress, Artifact Registry ServiceAccount
25
- - **AWS**: EBS/EFS StorageClass, ALB Ingress, IRSA ServiceAccount
26
- - **Security-first approach** with NetworkPolicies and best practices
27
- - **Minimal CLI** (`tl`) for scaffolding and chart generation
28
- - **100% backward compatibility** with all existing methods
19
+ - **Type-safe API** with strict TypeScript and cdk8s constructs.
20
+ - **Flexible resource creation** with built-in methods and `addManifest()` for custom resources.
21
+ - **Multi-environment support** with automatic values files generation.
22
+ - **Umbrella Charts** for managing multiple subcharts as a single unit.
23
+ - **AWS integrations**:
24
+ - **AWS**: EBS/EFS StorageClass, ALB Ingress, IRSA ServiceAccount.
25
+ - **Security-first approach** with NetworkPolicies and best practices.
26
+ - **Minimal CLI** (`tl`) for scaffolding and chart generation.
29
27
 
30
28
  ## 🚀 Quick Start
31
29
 
@@ -45,47 +43,6 @@ helm install my-app charts/my-app-dist
45
43
 
46
44
  ## 📚 Documentation
47
45
 
48
- For comprehensive documentation, examples, and guides, visit our **[Wiki](https://github.com/KenkoGeek/timonel/wiki)**:
49
-
50
- - **[Installation](https://github.com/KenkoGeek/timonel/wiki/Installation)** - Setup and requirements
51
- - **[Quick Start](https://github.com/KenkoGeek/timonel/wiki/Quick-Start)** - Your first chart in 5 minutes
52
- - **[Examples](https://github.com/KenkoGeek/timonel/wiki/Examples)** - Real-world deployment patterns
53
- - **[Multi-Cloud Support](https://github.com/KenkoGeek/timonel/wiki/Multi-Cloud-Support)** - AWS,
54
- Azure, GCP integrations
55
- - **[CLI Reference](https://github.com/KenkoGeek/timonel/wiki/CLI-Commands)** - Complete command guide
56
-
57
- ## 💡 Basic Example
58
-
59
- ```typescript
60
- import { Rutter } from 'timonel';
61
- import { valuesRef } from 'timonel';
62
-
63
- const rutter = new Rutter({
64
- meta: { name: 'my-app', version: '0.1.0' },
65
- defaultValues: {
66
- image: { repository: 'nginx', tag: '1.27' },
67
- replicas: 2,
68
- },
69
- envValues: {
70
- dev: { replicas: 1 },
71
- prod: { replicas: 5 },
72
- },
73
- });
74
-
75
- rutter.addDeployment({
76
- name: 'my-app',
77
- image: `${valuesRef('image.repository')}:${valuesRef('image.tag')}`,
78
- replicas: Number(valuesRef('replicas')),
79
- containerPort: 80,
80
- });
81
-
82
- rutter.addService({ name: 'my-app', port: 80 });
83
-
84
- export default function run(outDir: string) {
85
- rutter.write(outDir);
86
- }
87
- ```
88
-
89
46
  ## 🤝 Contributing
90
47
 
91
48
  See our [Contributing Guide](https://github.com/KenkoGeek/timonel/wiki/Contributing) for development
@@ -111,7 +68,7 @@ MIT
111
68
  [ts-url]: https://www.typescriptlang.org/
112
69
  [maintained-badge]: https://img.shields.io/badge/maintained%20by-KenkoGeek-6C78AF?style=flat
113
70
  [maintained-url]: https://github.com/kenkogeek/
114
- [ci-badge]: https://github.com/KenkoGeek/timonel/actions/workflows/ci.yml/badge.svg?branch=main
115
- [ci-url]: https://github.com/KenkoGeek/timonel/actions/workflows/ci.yml
116
- [codeql-badge]: https://github.com/KenkoGeek/timonel/actions/workflows/codeql.yml/badge.svg
117
- [codeql-url]: https://github.com/KenkoGeek/timonel/actions/workflows/codeql.yml
71
+ [ci-badge]: https://github.com/KenkoGeek/timonel/actions/workflows/test.yaml/badge.svg?branch=main
72
+ [ci-url]: https://github.com/KenkoGeek/timonel/actions/workflows/teast.yaml
73
+ [codeql-badge]: https://github.com/KenkoGeek/timonel/actions/workflows/codeql.yaml/badge.svg
74
+ [codeql-url]: https://github.com/KenkoGeek/timonel/actions/workflows/codeql.yaml
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
@@ -1,14 +1,12 @@
1
1
  #!/usr/bin/env node
2
+ import * as cp from 'child_process';
2
3
  import * as fs from 'fs';
3
4
  import * as path from 'path';
4
- import * as os from 'os';
5
- import * as cp from 'child_process';
6
- import * as crypto from 'crypto'; // Importar el módulo crypto
7
5
  import { fileURLToPath } from 'url';
6
+ import { SecurityUtils } from './lib/security.js';
8
7
  // ES modules equivalent of __dirname
9
8
  const __filename = fileURLToPath(import.meta.url);
10
9
  const __dirname = path.dirname(__filename);
11
- import { SecurityUtils } from './lib/security.js';
12
10
  const HELM_INSTALL_URL = 'https://helm.sh/docs/intro/install/';
13
11
  const HELM_ENV_VAR_MSG = 'Or set HELM_BIN environment variable to helm binary path.';
14
12
  function usageAndExit(msg) {
@@ -125,35 +123,6 @@ async function cmdValidate(projectDir, silent = false) {
125
123
  }
126
124
  }
127
125
  }
128
- /**
129
- * Creates a secure temporary file in the system's temporary directory
130
- * @param prefix - File prefix
131
- * @param suffix - File suffix
132
- * @returns Path to the created temporary file
133
- * @since 2.9.0
134
- */
135
- function createSecureTempFile(prefix, suffix) {
136
- const tempDir = os.tmpdir();
137
- const randomId = crypto.randomBytes(8).toString('hex'); // Usar crypto.randomBytes para mayor seguridad
138
- const timestamp = Date.now().toString(36);
139
- const tempFile = path.join(tempDir, `${prefix}-${timestamp}-${randomId}${suffix}`);
140
- // Ensure the temp directory exists and is secure
141
- if (!fs.existsSync(tempDir)) {
142
- throw new Error(`System temporary directory does not exist: ${tempDir}`);
143
- }
144
- // Check temp directory permissions (Unix-like systems)
145
- try {
146
- const stats = fs.statSync(tempDir);
147
- if (process.platform !== 'win32' && stats.mode & 0o002) {
148
- console.warn(`⚠️ WARNING: Temporary directory ${tempDir} is world-writable. ` +
149
- `This may pose a security risk.`);
150
- }
151
- }
152
- catch (error) {
153
- console.warn(`⚠️ WARNING: Could not check temporary directory permissions: ${error}`);
154
- }
155
- return tempFile;
156
- }
157
126
  /**
158
127
  * Execute TypeScript chart using tsx with proper error handling.
159
128
  * @param resolvedPath - Resolved path to the TypeScript file
@@ -187,7 +156,7 @@ fs.mkdirSync(outDir, { recursive: true });
187
156
  await Promise.resolve(runner(outDir));
188
157
  console.log('Chart written to ' + outDir);
189
158
  `;
190
- const wrapperFile = createSecureTempFile('timonel-wrapper', '.mjs');
159
+ const wrapperFile = path.join(process.cwd(), '.timonel-wrapper.mjs');
191
160
  try {
192
161
  fs.writeFileSync(wrapperFile, wrapperScript);
193
162
  const result = cp.spawnSync('npx', ['tsx', wrapperFile], {
@@ -414,7 +383,7 @@ fs.mkdirSync(output, { recursive: true });
414
383
  await Promise.resolve(runner(output));
415
384
  console.log('Umbrella chart written to ' + output);
416
385
  `;
417
- const wrapperFile = createSecureTempFile('timonel-umbrella-wrapper', '.mjs');
386
+ const wrapperFile = path.join(process.cwd(), '.timonel-umbrella-wrapper.mjs');
418
387
  try {
419
388
  fs.writeFileSync(wrapperFile, wrapperScript);
420
389
  const result = cp.spawnSync('npx', ['tsx', wrapperFile], {
@@ -545,7 +514,7 @@ export default function run(outDir: string) {
545
514
  */
546
515
  function exampleSubchartTs(name) {
547
516
  return `import { Rutter } from 'timonel';
548
- import { valuesRef } from 'timonel/lib/helm';
517
+ import { valuesRef } from './lib/helm.js';
549
518
 
550
519
  // Define subchart
551
520
  const rutter = new Rutter({
@@ -562,19 +531,48 @@ const rutter = new Rutter({
562
531
  },
563
532
  });
564
533
 
565
- // Add resources
566
- rutter.addDeployment({
567
- name: '${name}-deployment',
568
- image: String(valuesRef('image.repository')) + ':' + String(valuesRef('image.tag')),
569
- replicas: 1,
570
- containerPort: 80,
571
- });
534
+ // Add Deployment manifest
535
+ rutter.addManifest({
536
+ apiVersion: 'apps/v1',
537
+ kind: 'Deployment',
538
+ metadata: {
539
+ name: '${name}-deployment',
540
+ labels: { app: '${name}' },
541
+ },
542
+ spec: {
543
+ replicas: valuesRef('replicas'),
544
+ selector: {
545
+ matchLabels: { app: '${name}' },
546
+ },
547
+ template: {
548
+ metadata: {
549
+ labels: { app: '${name}' },
550
+ },
551
+ spec: {
552
+ containers: [{
553
+ name: '${name}',
554
+ image: String(valuesRef('image.repository')) + ':' + String(valuesRef('image.tag')),
555
+ ports: [{ containerPort: 80 }],
556
+ }],
557
+ },
558
+ },
559
+ },
560
+ }, 'deployment');
572
561
 
573
- rutter.addService({
574
- name: '${name}-service',
575
- ports: [{ port: 80, targetPort: 80 }],
576
- selector: { app: '${name}' },
577
- });
562
+ // Add Service manifest
563
+ rutter.addManifest({
564
+ apiVersion: 'v1',
565
+ kind: 'Service',
566
+ metadata: {
567
+ name: '${name}-service',
568
+ labels: { app: '${name}' },
569
+ },
570
+ spec: {
571
+ type: 'ClusterIP',
572
+ ports: [{ port: valuesRef('service.port'), targetPort: 80 }],
573
+ selector: { app: '${name}' },
574
+ },
575
+ }, 'service');
578
576
 
579
577
  export default function run(outDir: string) {
580
578
  rutter.write(outDir);
@@ -615,45 +613,80 @@ const rutter = new Rutter({
615
613
  },
616
614
  });
617
615
 
618
- // Use Helm placeholders in strings passed to cdk8s constructs
619
- rutter.addDeployment({
620
- name: '${name}-deployment',
621
- image: String(valuesRef('image.repository')) + ':' + String(valuesRef('image.tag')),
622
- replicas: valuesRef('replicas'),
623
- containerPort: 80,
624
- env: {
625
- APP_NAME: '${name}',
626
- RELEASE: helm.releaseName,
616
+ // Add Deployment manifest
617
+ rutter.addManifest({
618
+ apiVersion: 'apps/v1',
619
+ kind: 'Deployment',
620
+ metadata: {
621
+ name: '${name}-deployment',
622
+ labels: { app: '${name}' },
627
623
  },
628
- });
624
+ spec: {
625
+ replicas: valuesRef('replicas'),
626
+ selector: {
627
+ matchLabels: { app: '${name}' },
628
+ },
629
+ template: {
630
+ metadata: {
631
+ labels: { app: '${name}' },
632
+ },
633
+ spec: {
634
+ containers: [{
635
+ name: '${name}',
636
+ image: String(valuesRef('image.repository')) + ':' + String(valuesRef('image.tag')),
637
+ ports: [{ containerPort: 80 }],
638
+ env: [
639
+ { name: 'APP_NAME', value: '${name}' },
640
+ { name: 'RELEASE', value: helm.releaseName },
641
+ ],
642
+ }],
643
+ },
644
+ },
645
+ },
646
+ }, 'deployment');
629
647
 
630
- rutter.addService({
631
- name: '${name}-service',
632
- ports: [{ port: valuesRef('service.port'), targetPort: 80 }],
633
- type: 'ClusterIP',
634
- selector: { app: '${name}' },
635
- });
648
+ // Add Service manifest
649
+ rutter.addManifest({
650
+ apiVersion: 'v1',
651
+ kind: 'Service',
652
+ metadata: {
653
+ name: '${name}-service',
654
+ labels: { app: '${name}' },
655
+ },
656
+ spec: {
657
+ type: 'ClusterIP',
658
+ ports: [{ port: valuesRef('service.port'), targetPort: 80 }],
659
+ selector: { app: '${name}' },
660
+ },
661
+ }, 'service');
636
662
 
637
- // Optional ingress with advanced path routing and TLS support
638
- // Helm conditionals can be embedded as comments; template users can wrap templates with if blocks
639
- // Here we just generate an ingress; for real conditional generation you could split assets yourself.
640
- rutter.addIngress({
641
- name: '${name}-ingress',
642
- ingressClassName: String(valuesRef('ingress.className')),
643
- rules: [{
644
- host: String(valuesRef('ingress.host')),
645
- paths: [{
646
- path: '/',
647
- pathType: 'Prefix',
648
- backend: {
649
- service: {
650
- name: '${name}',
651
- port: { number: valuesRef('service.port') },
652
- },
663
+ // Add Ingress manifest
664
+ rutter.addManifest({
665
+ apiVersion: 'networking.k8s.io/v1',
666
+ kind: 'Ingress',
667
+ metadata: {
668
+ name: '${name}-ingress',
669
+ labels: { app: '${name}' },
670
+ },
671
+ spec: {
672
+ ingressClassName: String(valuesRef('ingress.className')),
673
+ rules: [{
674
+ host: String(valuesRef('ingress.host')),
675
+ http: {
676
+ paths: [{
677
+ path: '/',
678
+ pathType: 'Prefix',
679
+ backend: {
680
+ service: {
681
+ name: '${name}-service',
682
+ port: { number: valuesRef('service.port') },
683
+ },
684
+ },
685
+ }],
653
686
  },
654
687
  }],
655
- }],
656
- });
688
+ },
689
+ }, 'ingress');
657
690
 
658
691
  export default function run(outDir: string) {
659
692
  rutter.write(outDir);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @fileoverview Main entry point for Timonel - TypeScript library for programmatic Helm chart generation
3
+ * @since 1.0.0
4
+ */
5
+ export * from './lib/helm.js';
6
+ export * from './lib/helmChartWriter.js';
7
+ export * from './lib/rutter.js';
8
+ export * from './lib/security.js';
9
+ export * from './lib/umbrella.js';
10
+ export type { AWSALBIngressSpec, AWSEBSStorageClassSpec, AWSEFSStorageClassSpec, AWSIRSAServiceAccountSpec, } from './lib/resources/cloud/aws/awsResources.js';
11
+ export type { KarpenterDisruption, KarpenterDisruptionBudget, KarpenterEC2NodeClassSpec, KarpenterNodeClaimSpec, KarpenterNodePoolSpec, } from './lib/resources/cloud/aws/karpenterResources.js';
12
+ export { DEFAULT_TERMINATION_GRACE_PERIOD, isValidDisruptionBudget, isValidKubernetesDuration, KarpenterVersionUtils, } from './lib/resources/cloud/aws/karpenterResources.js';
13
+ export { AWS_HELPERS, formatHelpers, generateHelpersTemplate, getDefaultHelpers, STANDARD_HELPERS, type HelperDefinition, } from './lib/utils/helmHelpers.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAElC,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,2CAA2C,CAAC;AAEnD,YAAY,EACV,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,gCAAgC,EAChC,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,iDAAiD,CAAC;AAGzD,OAAO,EACL,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,gBAAgB,GACtB,MAAM,4BAA4B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @fileoverview Main entry point for Timonel - TypeScript library for programmatic Helm chart generation
3
+ * @since 1.0.0
4
+ */
5
+ export * from './lib/helm.js';
6
+ export * from './lib/helmChartWriter.js';
7
+ export * from './lib/rutter.js';
8
+ export * from './lib/security.js';
9
+ export * from './lib/umbrella.js';
10
+ export { DEFAULT_TERMINATION_GRACE_PERIOD, isValidDisruptionBudget, isValidKubernetesDuration, KarpenterVersionUtils, } from './lib/resources/cloud/aws/karpenterResources.js';
11
+ // Re-export specific items from new modules to avoid conflicts
12
+ export { AWS_HELPERS, formatHelpers, generateHelpersTemplate, getDefaultHelpers, STANDARD_HELPERS, } from './lib/utils/helmHelpers.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAiBlC,OAAO,EACL,gCAAgC,EAChC,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,iDAAiD,CAAC;AAEzD,+DAA+D;AAC/D,OAAO,EACL,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC"}