timonel 2.1.1 → 2.3.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/SECURITY.md CHANGED
@@ -2,16 +2,36 @@
2
2
 
3
3
  ## Reporting Security Vulnerabilities
4
4
 
5
- - **DO NOT** create public GitHub issues for security vulnerabilities
6
- - Report vulnerabilities privately via project maintainers or GitHub Security Advisories
7
- - Include detailed information about the vulnerability and steps to reproduce
8
- - We aim to triage within 5 business days and provide updates within 10 business days
5
+ **Please report security vulnerabilities responsibly:**
6
+
7
+ 1. **Use GitHub Security Advisories** (preferred): [Report a vulnerability](https://github.com/KenkoGeek/timonel/security/advisories/new)
8
+ 2. **Email**: [security@kenkogeek.com](mailto:security@kenkogeek.com)
9
+ 3. **DO NOT** create public issues for security vulnerabilities
10
+
11
+ **Include in your report:**
12
+
13
+ - Detailed vulnerability description
14
+ - Steps to reproduce
15
+ - Potential impact assessment
16
+ - Suggested mitigation (if any)
17
+
18
+ **Response timeline:**
19
+
20
+ - Initial response: 48 hours
21
+ - Triage completion: 5 business days
22
+ - Status updates: Every 10 business days
9
23
 
10
24
  ## Supported Versions
11
25
 
12
- | Version | Supported |
13
- | ------- | ------------------ |
14
- | 0.1.x | :white_check_mark: |
26
+ We provide security updates for the following versions:
27
+
28
+ | Version | Supported | Notes |
29
+ | ------- | -------------- | ---------------------------- |
30
+ | 2.3.0+ | ✅ Current | Enhanced security features |
31
+ | 2.2.x | ✅ Supported | Enhanced security features |
32
+ | 2.0-2.1 | ⚠️ Limited | Critical security fixes only |
33
+ | 1.x.x | ❌ End of life | No security updates |
34
+ | < 1.0 | ❌ End of life | No security updates |
15
35
 
16
36
  ## Development Security
17
37
 
@@ -24,21 +44,36 @@
24
44
 
25
45
  ### Dependencies
26
46
 
27
- - Regular dependency updates via Dependabot
28
- - Security-focused dependency management
29
- - No runtime network calls in library APIs
30
- - Minimal dependency footprint
47
+ - **Automated updates**: Dependabot weekly scans
48
+ - **Vulnerability scanning**: `pnpm audit` in CI/CD
49
+ - **Zero runtime network calls**: Library operates offline
50
+ - **Minimal footprint**: Essential dependencies only
51
+ - **Pinned versions**: Exact dependency versions in lockfile
31
52
 
32
53
  ### CI/CD Security
33
54
 
34
- - GitHub Actions with minimal permissions
35
- - Dependency caching with integrity checks
36
- - Automated security audits on every build
37
- - CodeQL analysis for vulnerability detection
55
+ - **Least privilege**: GitHub Actions with minimal GITHUB_TOKEN permissions
56
+ - **Integrity checks**: Dependency caching with SHA verification
57
+ - **Multi-layer scanning**: ESLint security plugin + CodeQL + pnpm audit
58
+ - **Branch protection**: Required status checks and reviews
59
+ - **Secrets management**: No hardcoded credentials
60
+
61
+ ### Security Features
62
+
63
+ - **Input validation**: Comprehensive path traversal prevention and sanitization via SecurityUtils
64
+ - **Log injection protection**: All user inputs sanitized before logging
65
+ - **Code injection prevention**: Strict validation for dynamic module loading
66
+ - **TypeScript strict mode**: Compile-time safety checks
67
+ - **No eval()**: Static code generation only
68
+ - **File system isolation**: Controlled output directory access with path validation
69
+ - **Helm template validation**: Input validation for all template functions
70
+ - **Karpenter security**: Secure node pool and scheduling configurations
71
+ - **Performance optimization**: Efficient algorithms preventing DoS via resource exhaustion
72
+ - **OWASP compliance**: Following secure coding guidelines (CWE-22, CWE-94, CWE-117)
38
73
 
39
- ### Best Practices
74
+ ## Security Considerations for Users
40
75
 
41
- - Input validation and sanitization
42
- - Secure coding practices following OWASP guidelines
43
- - Regular security reviews of code changes
44
- - Principle of least privilege in all configurations
76
+ - **Generated charts**: Review templates before deployment
77
+ - **Values files**: Avoid hardcoded secrets in values
78
+ - **Network policies**: Use provided NetworkPolicy helpers
79
+ - **RBAC**: Apply principle of least privilege in Kubernetes
package/dist/cli.js CHANGED
@@ -3,11 +3,12 @@ import * as fs from 'fs';
3
3
  import * as path from 'path';
4
4
  import * as cp from 'child_process';
5
5
  import { createRequire } from 'module';
6
+ import { SecurityUtils } from './lib/security.js';
6
7
  const HELM_INSTALL_URL = 'https://helm.sh/docs/intro/install/';
7
8
  const HELM_ENV_VAR_MSG = 'Or set HELM_BIN environment variable to helm binary path.';
8
9
  function usageAndExit(msg) {
9
10
  if (msg)
10
- console.error(msg);
11
+ console.error(SecurityUtils.sanitizeLogMessage(msg));
11
12
  console.log([
12
13
  'timonel (tl) - programmatic Helm chart generator',
13
14
  '',
@@ -45,7 +46,12 @@ function usageAndExit(msg) {
45
46
  async function cmdInit(name, silent = false) {
46
47
  if (!name)
47
48
  usageAndExit('Missing <chart-name>');
48
- const base = path.join(process.cwd(), 'charts', name);
49
+ // Validate chart name for security using centralized validation
50
+ if (!SecurityUtils.isValidChartName(name)) {
51
+ usageAndExit('Invalid chart name: must be RFC 1123 compliant (lowercase alphanumeric with hyphens)');
52
+ }
53
+ const sanitizedName = name; // Already validated by SecurityUtils
54
+ const base = SecurityUtils.validatePath(path.join(process.cwd(), 'charts', sanitizedName), process.cwd());
49
55
  const file = path.join(base, 'chart.ts');
50
56
  // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
51
57
  fs.mkdirSync(base, { recursive: true });
@@ -56,18 +62,20 @@ async function cmdInit(name, silent = false) {
56
62
  }
57
63
  // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
58
64
  fs.writeFileSync(file, exampleChartTs(name));
59
- log(`Scaffold created at ${file}`, silent);
65
+ log(SecurityUtils.sanitizeLogMessage(`Scaffold created at ${file}`), silent);
60
66
  }
61
67
  async function cmdValidate(projectDir, silent = false) {
62
68
  if (!projectDir)
63
69
  usageAndExit('Missing <projectDir>');
64
70
  const proj = projectDir;
71
+ // Validate and secure the project directory path
72
+ const basePath = path.isAbsolute(proj) ? path.dirname(proj) : process.cwd();
65
73
  const chartTs = path.isAbsolute(proj)
66
- ? path.join(proj, 'chart.ts')
67
- : path.join(process.cwd(), proj, 'chart.ts');
74
+ ? SecurityUtils.validatePath(path.join(proj, 'chart.ts'), basePath)
75
+ : SecurityUtils.validatePath(path.join(process.cwd(), proj, 'chart.ts'), process.cwd());
68
76
  // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
69
77
  if (!fs.existsSync(chartTs)) {
70
- console.error(`chart.ts not found at ${chartTs}`);
78
+ console.error(SecurityUtils.sanitizeLogMessage(`chart.ts not found at ${chartTs}`));
71
79
  process.exit(1);
72
80
  }
73
81
  // Check if helm is available
@@ -92,7 +100,7 @@ async function cmdValidate(projectDir, silent = false) {
92
100
  });
93
101
  if (lintResult.status !== 0) {
94
102
  if (silent && lintResult.stderr) {
95
- console.error(lintResult.stderr);
103
+ console.error(SecurityUtils.sanitizeLogMessage(lintResult.stderr));
96
104
  }
97
105
  console.error('✗ Chart validation failed: Helm lint errors found');
98
106
  process.exit(1);
@@ -100,7 +108,8 @@ async function cmdValidate(projectDir, silent = false) {
100
108
  log('✓ Chart validation passed', silent);
101
109
  }
102
110
  catch (error) {
103
- console.error('✗ Chart validation failed:', error instanceof Error ? error.message : error);
111
+ const errorMsg = error instanceof Error ? error.message : String(error);
112
+ console.error('✗ Chart validation failed:', SecurityUtils.sanitizeLogMessage(errorMsg));
104
113
  process.exit(1);
105
114
  }
106
115
  finally {
@@ -114,12 +123,14 @@ async function cmdSynth(projectDir, out, flags) {
114
123
  if (!projectDir)
115
124
  usageAndExit('Missing <projectDir>');
116
125
  const proj = projectDir;
126
+ // Validate and secure the project directory path
127
+ const basePath = path.isAbsolute(proj) ? path.dirname(proj) : process.cwd();
117
128
  const chartTs = path.isAbsolute(proj)
118
- ? path.join(proj, 'chart.ts')
119
- : path.join(process.cwd(), proj, 'chart.ts');
129
+ ? SecurityUtils.validatePath(path.join(proj, 'chart.ts'), basePath)
130
+ : SecurityUtils.validatePath(path.join(process.cwd(), proj, 'chart.ts'), process.cwd());
120
131
  // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
121
132
  if (!fs.existsSync(chartTs)) {
122
- console.error(`chart.ts not found at ${chartTs}`);
133
+ console.error(SecurityUtils.sanitizeLogMessage(`chart.ts not found at ${chartTs}`));
123
134
  process.exit(1);
124
135
  }
125
136
  // Enable TS runtime with inline config
@@ -135,27 +146,13 @@ async function cmdSynth(projectDir, out, flags) {
135
146
  target: 'ES2020',
136
147
  },
137
148
  });
138
- // Comprehensive path validation to prevent path traversal and code injection
139
- const resolvedPath = path.resolve(chartTs);
140
- const cwd = path.resolve(process.cwd());
141
- // Ensure path is within current working directory (prevent path traversal)
142
- if (!resolvedPath.startsWith(cwd + path.sep) && resolvedPath !== cwd) {
143
- console.error('Security: Module path must be within current working directory');
144
- console.error(`Attempted: ${resolvedPath}`);
145
- console.error(`Allowed: ${cwd}`);
146
- process.exit(1);
147
- }
148
- // Validate file extension to prevent loading non-TypeScript files
149
- if (!chartTs.endsWith('.ts')) {
149
+ // Validate TypeScript file extension
150
+ if (!SecurityUtils.isValidTypeScriptFile(chartTs)) {
150
151
  console.error('Security: Only TypeScript files (.ts) are allowed');
151
152
  process.exit(1);
152
153
  }
153
- // Additional security: normalize path to prevent bypass attempts
154
- const normalizedPath = path.normalize(resolvedPath);
155
- if (normalizedPath !== resolvedPath) {
156
- console.error('Security: Path normalization mismatch detected');
157
- process.exit(1);
158
- }
154
+ // Additional path validation is already done by SecurityUtils.validatePath above
155
+ const resolvedPath = path.resolve(chartTs);
159
156
  try {
160
157
  // Use createRequire for CommonJS compatibility in ES modules
161
158
  const require = createRequire(import.meta.url);
@@ -181,10 +178,11 @@ async function cmdSynth(projectDir, out, flags) {
181
178
  // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
182
179
  fs.mkdirSync(outDir, { recursive: true });
183
180
  await Promise.resolve(runner(outDir));
184
- log(`Chart written to ${outDir}`, flags?.silent);
181
+ log(SecurityUtils.sanitizeLogMessage(`Chart written to ${outDir}`), flags?.silent);
185
182
  }
186
183
  catch (error) {
187
- console.error(`Failed to import module: ${error instanceof Error ? error.message : error}`);
184
+ const errorMsg = error instanceof Error ? error.message : String(error);
185
+ console.error(SecurityUtils.sanitizeLogMessage(`Failed to import module: ${errorMsg}`));
188
186
  process.exit(1);
189
187
  }
190
188
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from './lib/Rutter.js';
2
2
  export * from './lib/HelmChartWriter.js';
3
3
  export * from './lib/helm.js';
4
4
  export * from './lib/umbrella.js';
5
+ export * from './lib/security.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -2,4 +2,5 @@ export * from './lib/Rutter.js';
2
2
  export * from './lib/HelmChartWriter.js';
3
3
  export * from './lib/helm.js';
4
4
  export * from './lib/umbrella.js';
5
+ export * from './lib/security.js';
5
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,19 +1,44 @@
1
+ /**
2
+ * @fileoverview Helm chart writer for generating complete Helm chart structures
3
+ * @since 1.0.0
4
+ */
5
+ /**
6
+ * Metadata for a Helm chart
7
+ *
8
+ * Contains all the information needed for Chart.yaml file generation
9
+ * following Helm chart specification.
10
+ *
11
+ * @interface HelmChartMeta
12
+ * @since 1.0.0
13
+ */
1
14
  export interface HelmChartMeta {
15
+ /** Chart name */
2
16
  name: string;
17
+ /** SemVer chart version */
3
18
  version: string;
19
+ /** Chart description */
4
20
  description?: string;
21
+ /** Underlying application version */
5
22
  appVersion?: string;
23
+ /** Chart type */
6
24
  type?: 'application' | 'library';
25
+ /** Kubernetes version constraint */
7
26
  kubeVersion?: string;
27
+ /** Chart keywords for searchability */
8
28
  keywords?: string[];
29
+ /** Chart home page URL */
9
30
  home?: string;
31
+ /** Source code URLs */
10
32
  sources?: string[];
33
+ /** Chart maintainers */
11
34
  maintainers?: {
12
35
  name: string;
13
36
  email?: string;
14
37
  url?: string;
15
38
  }[];
39
+ /** Chart icon URL */
16
40
  icon?: string;
41
+ /** Chart dependencies */
17
42
  dependencies?: Array<{
18
43
  name: string;
19
44
  version: string;
@@ -24,46 +49,190 @@ export interface HelmChartMeta {
24
49
  importValues?: unknown;
25
50
  }>;
26
51
  }
52
+ /**
53
+ * Environment-specific values mapping
54
+ *
55
+ * @interface EnvValuesMap
56
+ * @since 1.0.0
57
+ */
27
58
  export interface EnvValuesMap {
28
59
  [env: string]: Record<string, unknown>;
29
60
  }
61
+ /**
62
+ * Synthesized Kubernetes asset for Helm chart
63
+ *
64
+ * Represents a Kubernetes manifest that will be written to the chart's
65
+ * templates or crds directory.
66
+ *
67
+ * @interface SynthAsset
68
+ * @since 1.0.0
69
+ */
30
70
  export interface SynthAsset {
31
- /** filename or logical id */
71
+ /** Filename or logical identifier */
32
72
  id: string;
33
- /** YAML string, may contain multiple docs separated by --- */
73
+ /** YAML content, may contain multiple documents separated by --- */
34
74
  yaml: string;
35
- /** target directory inside chart: templates (default) or crds */
75
+ /** Target directory inside chart */
36
76
  target?: 'templates' | 'crds';
37
- /** if true, don't split this asset into multiple files even if it contains multiple docs */
77
+ /** If true, don't split into multiple files even with multiple docs */
38
78
  singleFile?: boolean;
39
79
  }
80
+ /**
81
+ * Options for writing a complete Helm chart
82
+ *
83
+ * @interface HelmChartWriteOptions
84
+ * @since 1.0.0
85
+ */
40
86
  export interface HelmChartWriteOptions {
87
+ /** Output directory path (e.g., dist/charts/my-chart) */
41
88
  outDir: string;
89
+ /** Chart metadata */
42
90
  meta: HelmChartMeta;
91
+ /** Default values for values.yaml */
43
92
  defaultValues?: Record<string, unknown> | undefined;
93
+ /** Environment-specific values (e.g., { dev: {...}, prod: {...} }) */
44
94
  envValues?: EnvValuesMap | undefined;
45
- /**
46
- * Kubernetes manifests to place under templates/
47
- * Accepts one or multiple documents per SynthAsset.
48
- */
95
+ /** Kubernetes manifests to place under templates/ */
49
96
  assets: SynthAsset[];
50
- /**
51
- * Optional Helm helpers content for templates/_helpers.tpl.
52
- * If a string is provided, it's written verbatim.
53
- * If an array is provided, each item becomes a named Helm template
54
- * block as: {{- define "<name>" -}} ... {{- end }}
55
- */
97
+ /** Helm helpers content for templates/_helpers.tpl */
56
98
  helpersTpl?: string | HelperDefinition[];
57
- /** Optional NOTES.txt content under templates/ */
99
+ /** NOTES.txt content under templates/ */
58
100
  notesTpl?: string;
59
- /** Optional values.schema.json object */
101
+ /** JSON schema for values validation */
60
102
  valuesSchema?: Record<string, unknown>;
61
103
  }
104
+ /**
105
+ * Helm template helper definition
106
+ *
107
+ * @interface HelperDefinition
108
+ * @since 1.0.0
109
+ */
62
110
  export interface HelperDefinition {
111
+ /** Template name */
63
112
  name: string;
113
+ /** Template body content */
64
114
  body: string;
65
115
  }
116
+ /**
117
+ * Helm chart writer for generating complete chart structures
118
+ *
119
+ * This class provides static methods to generate a complete Helm chart
120
+ * including Chart.yaml, values.yaml, templates, and auxiliary files.
121
+ *
122
+ * @class HelmChartWriter
123
+ * @since 1.0.0
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * HelmChartWriter.write({
128
+ * outDir: './dist/my-chart',
129
+ * meta: { name: 'my-app', version: '1.0.0' },
130
+ * assets: []
131
+ * });
132
+ * ```
133
+ */
66
134
  export declare class HelmChartWriter {
135
+ /**
136
+ * Writes a complete Helm chart to the specified directory
137
+ *
138
+ * Creates the full directory structure and writes all necessary files
139
+ * for a valid Helm chart including Chart.yaml, values files, templates,
140
+ * and auxiliary files.
141
+ *
142
+ * @param {HelmChartWriteOptions} opts - Chart configuration options
143
+ * @throws {Error} If output directory path is invalid
144
+ * @throws {Error} If chart metadata is invalid
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * HelmChartWriter.write({
149
+ * outDir: './charts/my-app',
150
+ * meta: {
151
+ * name: 'my-app',
152
+ * version: '1.0.0',
153
+ * description: 'My application'
154
+ * },
155
+ * defaultValues: { replicas: 3 },
156
+ * assets: []
157
+ * });
158
+ * ```
159
+ *
160
+ * @since 1.0.0
161
+ */
67
162
  static write(opts: HelmChartWriteOptions): void;
163
+ /**
164
+ * Creates the necessary directory structure for the chart
165
+ *
166
+ * @private
167
+ * @param {string} outDir - Output directory path
168
+ * @throws {Error} If directories cannot be created
169
+ * @since 1.0.0
170
+ */
171
+ private static createDirectories;
172
+ /**
173
+ * Writes the Chart.yaml file with chart metadata
174
+ *
175
+ * @private
176
+ * @param {string} outDir - Output directory path
177
+ * @param {HelmChartMeta} meta - Chart metadata
178
+ * @throws {Error} If Chart.yaml cannot be written
179
+ * @since 1.0.0
180
+ */
181
+ private static writeChartYaml;
182
+ /**
183
+ * Writes values.yaml and environment-specific values files
184
+ *
185
+ * @private
186
+ * @param {string} outDir - Output directory path
187
+ * @param {Record<string, unknown>} defaultValues - Default values
188
+ * @param {EnvValuesMap} envValues - Environment-specific values
189
+ * @throws {Error} If values files cannot be written
190
+ * @since 1.0.0
191
+ */
192
+ private static writeValuesFiles;
193
+ /**
194
+ * Writes Kubernetes manifest assets to templates directory
195
+ *
196
+ * @private
197
+ * @param {string} outDir - Output directory path
198
+ * @param {SynthAsset[]} assets - Kubernetes manifests to write
199
+ * @since 1.0.0
200
+ */
201
+ private static writeAssets;
202
+ /**
203
+ * Writes Helm template helpers to _helpers.tpl file
204
+ *
205
+ * @private
206
+ * @param {string} outDir - Output directory path
207
+ * @param {string | HelperDefinition[]} [helpersTpl] - Helpers content
208
+ * @since 1.0.0
209
+ */
210
+ private static writeHelpers;
211
+ /**
212
+ * Writes NOTES.txt file for post-install instructions
213
+ *
214
+ * @private
215
+ * @param {string} outDir - Output directory path
216
+ * @param {string} [notesTpl] - Notes content
217
+ * @since 1.0.0
218
+ */
219
+ private static writeNotes;
220
+ /**
221
+ * Writes values.schema.json for values validation
222
+ *
223
+ * @private
224
+ * @param {string} outDir - Output directory path
225
+ * @param {Record<string, unknown>} [valuesSchema] - JSON schema
226
+ * @since 1.0.0
227
+ */
228
+ private static writeSchema;
229
+ /**
230
+ * Writes .helmignore file with common ignore patterns
231
+ *
232
+ * @private
233
+ * @param {string} outDir - Output directory path
234
+ * @since 1.0.0
235
+ */
236
+ private static writeHelmIgnore;
68
237
  }
69
238
  //# sourceMappingURL=HelmChartWriter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HelmChartWriter.d.ts","sourceRoot":"","sources":["../../src/lib/HelmChartWriter.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC9B,4FAA4F;IAC5F,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACrC;;;OAGG;IACH,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAC;IACzC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,eAAe;IAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB;CA4GzC"}
1
+ {"version":3,"file":"HelmChartWriter.d.ts","sourceRoot":"","sources":["../../src/lib/HelmChartWriter.ts"],"names":[],"mappings":"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"}