timonel 2.2.0 → 2.4.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/CHANGELOG.md +16 -0
- package/README.md +5 -1
- package/SECURITY.md +15 -8
- package/dist/cli.js +29 -31
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/helm.d.ts +200 -12
- package/dist/lib/helm.d.ts.map +1 -1
- package/dist/lib/helm.js +234 -13
- package/dist/lib/helm.js.map +1 -1
- package/dist/lib/helmChartWriter.d.ts +238 -0
- package/dist/lib/helmChartWriter.d.ts.map +1 -0
- package/dist/lib/helmChartWriter.js +318 -0
- package/dist/lib/helmChartWriter.js.map +1 -0
- package/dist/lib/resources/autoscaling/autoscalingResources.d.ts +26 -0
- package/dist/lib/resources/autoscaling/autoscalingResources.d.ts.map +1 -0
- package/dist/lib/resources/autoscaling/autoscalingResources.js +35 -0
- package/dist/lib/resources/autoscaling/autoscalingResources.js.map +1 -0
- package/dist/lib/resources/baseResourceProvider.d.ts +47 -0
- package/dist/lib/resources/baseResourceProvider.d.ts.map +1 -0
- package/dist/lib/resources/baseResourceProvider.js +83 -0
- package/dist/lib/resources/baseResourceProvider.js.map +1 -0
- package/dist/lib/resources/cloud/aws/awsResources.d.ts +165 -0
- package/dist/lib/resources/cloud/aws/awsResources.d.ts.map +1 -0
- package/dist/lib/resources/cloud/aws/awsResources.js +187 -0
- package/dist/lib/resources/cloud/aws/awsResources.js.map +1 -0
- package/dist/lib/resources/cloud/azure/azureResources.d.ts +169 -0
- package/dist/lib/resources/cloud/azure/azureResources.d.ts.map +1 -0
- package/dist/lib/resources/cloud/azure/azureResources.js +218 -0
- package/dist/lib/resources/cloud/azure/azureResources.js.map +1 -0
- package/dist/lib/resources/cloud/gcp/gcpResources.d.ts +133 -0
- package/dist/lib/resources/cloud/gcp/gcpResources.d.ts.map +1 -0
- package/dist/lib/resources/cloud/gcp/gcpResources.js +162 -0
- package/dist/lib/resources/cloud/gcp/gcpResources.js.map +1 -0
- package/dist/lib/resources/core/coreResources.d.ts +584 -0
- package/dist/lib/resources/core/coreResources.d.ts.map +1 -0
- package/dist/lib/resources/core/coreResources.js +796 -0
- package/dist/lib/resources/core/coreResources.js.map +1 -0
- package/dist/lib/resources/core/storageResources.d.ts +133 -0
- package/dist/lib/resources/core/storageResources.d.ts.map +1 -0
- package/dist/lib/resources/core/storageResources.js +120 -0
- package/dist/lib/resources/core/storageResources.js.map +1 -0
- package/dist/lib/resources/validation/validationResources.d.ts +26 -0
- package/dist/lib/resources/validation/validationResources.d.ts.map +1 -0
- package/dist/lib/resources/validation/validationResources.js +33 -0
- package/dist/lib/resources/validation/validationResources.js.map +1 -0
- package/dist/lib/rutter.d.ts +554 -0
- package/dist/lib/rutter.d.ts.map +1 -0
- package/dist/lib/rutter.js +665 -0
- package/dist/lib/rutter.js.map +1 -0
- package/dist/lib/security.d.ts +73 -0
- package/dist/lib/security.d.ts.map +1 -0
- package/dist/lib/security.js +138 -0
- package/dist/lib/security.js.map +1 -0
- package/dist/lib/umbrella.d.ts +22 -2
- package/dist/lib/umbrella.d.ts.map +1 -1
- package/dist/lib/umbrella.js +21 -1
- package/dist/lib/umbrella.js.map +1 -1
- package/dist/lib/umbrellaRutter.d.ts +97 -0
- package/dist/lib/umbrellaRutter.d.ts.map +1 -0
- package/dist/lib/{UmbrellaRutter.js → umbrellaRutter.js} +72 -23
- package/dist/lib/umbrellaRutter.js.map +1 -0
- package/package.json +2 -1
- package/dist/lib/HelmChartWriter.d.ts +0 -69
- package/dist/lib/HelmChartWriter.d.ts.map +0 -1
- package/dist/lib/HelmChartWriter.js +0 -124
- package/dist/lib/HelmChartWriter.js.map +0 -1
- package/dist/lib/Rutter.d.ts +0 -1334
- package/dist/lib/Rutter.d.ts.map +0 -1
- package/dist/lib/Rutter.js +0 -2138
- package/dist/lib/Rutter.js.map +0 -1
- package/dist/lib/UmbrellaRutter.d.ts +0 -34
- package/dist/lib/UmbrellaRutter.d.ts.map +0 -1
- package/dist/lib/UmbrellaRutter.js.map +0 -1
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import YAML from 'yaml';
|
|
4
|
-
export class HelmChartWriter {
|
|
5
|
-
static write(opts) {
|
|
6
|
-
const { outDir, meta, defaultValues = {}, envValues = {}, assets, helpersTpl, notesTpl, valuesSchema, } = opts;
|
|
7
|
-
// Prepare structure
|
|
8
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
9
|
-
fs.mkdirSync(path.join(outDir, 'templates'), { recursive: true });
|
|
10
|
-
// Create crds directory only if needed later
|
|
11
|
-
// Chart.yaml
|
|
12
|
-
const chartYaml = YAML.stringify({
|
|
13
|
-
apiVersion: 'v2',
|
|
14
|
-
name: meta.name,
|
|
15
|
-
version: meta.version,
|
|
16
|
-
description: meta.description,
|
|
17
|
-
type: meta.type ?? 'application',
|
|
18
|
-
appVersion: meta.appVersion,
|
|
19
|
-
kubeVersion: meta.kubeVersion,
|
|
20
|
-
keywords: meta.keywords,
|
|
21
|
-
home: meta.home,
|
|
22
|
-
sources: meta.sources,
|
|
23
|
-
maintainers: meta.maintainers,
|
|
24
|
-
icon: meta.icon,
|
|
25
|
-
dependencies: meta.dependencies,
|
|
26
|
-
});
|
|
27
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
28
|
-
fs.writeFileSync(path.join(outDir, 'Chart.yaml'), chartYaml);
|
|
29
|
-
// values.yaml and env values files
|
|
30
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
31
|
-
fs.writeFileSync(path.join(outDir, 'values.yaml'), YAML.stringify(defaultValues));
|
|
32
|
-
for (const [env, values] of Object.entries(envValues)) {
|
|
33
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
34
|
-
fs.writeFileSync(path.join(outDir, `values-${env}.yaml`), YAML.stringify(values));
|
|
35
|
-
}
|
|
36
|
-
// templates/ and crds/
|
|
37
|
-
writeAssets(outDir, assets);
|
|
38
|
-
// Optional helpers
|
|
39
|
-
if (helpersTpl) {
|
|
40
|
-
let content = '';
|
|
41
|
-
if (typeof helpersTpl === 'string') {
|
|
42
|
-
content = helpersTpl.endsWith('\n') ? helpersTpl : helpersTpl + '\n';
|
|
43
|
-
}
|
|
44
|
-
else if (Array.isArray(helpersTpl)) {
|
|
45
|
-
content = helpersTpl
|
|
46
|
-
.map((h) => [`{{- define "${h.name}" -}}`, h.body.trimEnd(), '{{- end }}', ''].join('\n'))
|
|
47
|
-
.join('\n');
|
|
48
|
-
}
|
|
49
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
50
|
-
fs.writeFileSync(path.join(outDir, 'templates', '_helpers.tpl'), content);
|
|
51
|
-
}
|
|
52
|
-
// Optional NOTES.txt
|
|
53
|
-
if (notesTpl) {
|
|
54
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
55
|
-
fs.writeFileSync(path.join(outDir, 'templates', 'NOTES.txt'), notesTpl.endsWith('\n') ? notesTpl : notesTpl + '\n');
|
|
56
|
-
}
|
|
57
|
-
// Optional values.schema.json
|
|
58
|
-
if (valuesSchema) {
|
|
59
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
60
|
-
fs.writeFileSync(path.join(outDir, 'values.schema.json'), JSON.stringify(valuesSchema, null, 2) + '\n');
|
|
61
|
-
}
|
|
62
|
-
// Emit a default .helmignore if missing
|
|
63
|
-
const helmIgnorePath = path.join(outDir, '.helmignore');
|
|
64
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
65
|
-
if (!fs.existsSync(helmIgnorePath)) {
|
|
66
|
-
const helmIgnore = [
|
|
67
|
-
'# VCS',
|
|
68
|
-
'.git/',
|
|
69
|
-
'.hg/',
|
|
70
|
-
'.svn/',
|
|
71
|
-
'',
|
|
72
|
-
'# OS/editor',
|
|
73
|
-
'.DS_Store',
|
|
74
|
-
'.idea/',
|
|
75
|
-
'.vscode/',
|
|
76
|
-
'',
|
|
77
|
-
'# Backups',
|
|
78
|
-
'*.swp',
|
|
79
|
-
'*.bak',
|
|
80
|
-
'*.tmp',
|
|
81
|
-
'*.orig',
|
|
82
|
-
'',
|
|
83
|
-
'# Chart dependencies and packages',
|
|
84
|
-
'charts/',
|
|
85
|
-
'*.tgz',
|
|
86
|
-
'',
|
|
87
|
-
].join('\n');
|
|
88
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
89
|
-
fs.writeFileSync(helmIgnorePath, helmIgnore);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
function splitDocs(yamlStr) {
|
|
94
|
-
return yamlStr
|
|
95
|
-
.split(/^---\s*$/m)
|
|
96
|
-
.map((p) => p.trim())
|
|
97
|
-
.filter((p) => p.length);
|
|
98
|
-
}
|
|
99
|
-
function writeAssets(outDir, assets) {
|
|
100
|
-
for (const asset of assets) {
|
|
101
|
-
if (asset.singleFile) {
|
|
102
|
-
// Write as a single file without splitting documents
|
|
103
|
-
const filename = `${asset.id}.yaml`;
|
|
104
|
-
const dir = asset.target === 'crds' ? 'crds' : 'templates';
|
|
105
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
106
|
-
fs.mkdirSync(path.join(outDir, dir), { recursive: true });
|
|
107
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
108
|
-
fs.writeFileSync(path.join(outDir, dir, filename), asset.yaml + '\n');
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// Split documents and create descriptive files following Helm best practices
|
|
112
|
-
const parts = splitDocs(asset.yaml);
|
|
113
|
-
parts.forEach((doc, index) => {
|
|
114
|
-
const filename = `${asset.id}${parts.length > 1 ? `-${index + 1}` : ''}.yaml`;
|
|
115
|
-
const dir = asset.target === 'crds' ? 'crds' : 'templates';
|
|
116
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
117
|
-
fs.mkdirSync(path.join(outDir, dir), { recursive: true });
|
|
118
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
119
|
-
fs.writeFileSync(path.join(outDir, dir, filename), doc + '\n');
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=HelmChartWriter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HelmChartWriter.js","sourceRoot":"","sources":["../../src/lib/HelmChartWriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAoExB,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAC,KAAK,CAAC,IAA2B;QACtC,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,aAAa,GAAG,EAAE,EAClB,SAAS,GAAG,EAAE,EACd,MAAM,EACN,UAAU,EACV,QAAQ,EACR,YAAY,GACb,GAAG,IAAI,CAAC;QACT,oBAAoB;QACpB,uGAAuG;QACvG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,6CAA6C;QAE7C,aAAa;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QACH,uGAAuG;QACvG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;QAE7D,mCAAmC;QACnC,uGAAuG;QACvG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAClF,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACtD,uGAAuG;YACvG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,uBAAuB;QACvB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE5B,mBAAmB;QACnB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;YACvE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,OAAO,GAAG,UAAU;qBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzF,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,uGAAuG;YACvG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5E,CAAC;QAED,qBAAqB;QACrB,IAAI,QAAQ,EAAE,CAAC;YACb,uGAAuG;YACvG,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAC3C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CACrD,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,IAAI,YAAY,EAAE,CAAC;YACjB,uGAAuG;YACvG,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAC7C,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACxD,uGAAuG;QACvG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG;gBACjB,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,EAAE;gBACF,aAAa;gBACb,WAAW;gBACX,QAAQ;gBACR,UAAU;gBACV,EAAE;gBACF,WAAW;gBACX,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,EAAE;gBACF,mCAAmC;gBACnC,SAAS;gBACT,OAAO;gBACP,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,uGAAuG;YACvG,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,OAAO;SACX,KAAK,CAAC,WAAW,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,MAAoB;IACvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,qDAAqD;YACrD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3D,uGAAuG;YACvG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,uGAAuG;YACvG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC3B,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC3D,uGAAuG;gBACvG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,uGAAuG;gBACvG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
|