@intentius/chant-lexicon-helm 0.19.0 → 0.20.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/dist/codegen/docs.d.ts.map +1 -1
- package/dist/integrity.json +2 -2
- package/dist/manifest.json +95 -8
- package/package.json +2 -2
- package/src/codegen/docs.ts +3 -1
- package/src/codegen/package.ts +9 -9
- package/src/plugin.ts +23 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/codegen/docs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2FH,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/codegen/docs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2FH,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsY9E"}
|
package/dist/integrity.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"algorithm": "sha256",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"manifest.json": "
|
|
4
|
+
"manifest.json": "705b16ec6db30ca57dfcfa0ec3d8cdf7ef74b5f128816f3be20f153b41c34779",
|
|
5
5
|
"meta.json": "14243c5730a07c6a6edc35ddd351438547d58df5cf345f2233a355b0c7611ccc",
|
|
6
6
|
"types/index.d.ts": "5377696ca8698cd2999e4680feb8e8e4b54a7b49fb603a87b2f27356114d1794",
|
|
7
7
|
"rules/chart-metadata.ts": "8f3377e893d5e2828460b7fe5924fca098334245a9a2fdb90f6b67e490eaf091",
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"skills/chant-helm-patterns.md": "9e79e6a46391da46709d8aa57e2825a7cd9eb981cd923f02ad60836c49b2561e",
|
|
35
35
|
"skills/chant-helm-security.md": "bfc367eabceed2e84f1cf94501b407df78aeed963cec104f24a321d0962063c9"
|
|
36
36
|
},
|
|
37
|
-
"composite": "
|
|
37
|
+
"composite": "64618ab68239c3007173c1937bf9e8f66a2d262988222d01cd0a01f6bdda2a0a"
|
|
38
38
|
}
|
package/dist/manifest.json
CHANGED
|
@@ -1,36 +1,123 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"chantVersion": ">=0.1.0",
|
|
5
5
|
"namespace": "Helm",
|
|
6
6
|
"intrinsics": [
|
|
7
7
|
{
|
|
8
8
|
"name": "values",
|
|
9
|
-
"description": "Proxy accessor for {{ .Values.x }} references"
|
|
9
|
+
"description": "Proxy accessor for {{ .Values.x }} references",
|
|
10
|
+
"isTag": false
|
|
10
11
|
},
|
|
11
12
|
{
|
|
12
13
|
"name": "Release",
|
|
13
|
-
"description": "Built-in Release object"
|
|
14
|
+
"description": "Built-in Release object (Name, Namespace, etc.)",
|
|
15
|
+
"isTag": false
|
|
14
16
|
},
|
|
15
17
|
{
|
|
16
18
|
"name": "ChartRef",
|
|
17
|
-
"description": "Built-in Chart object"
|
|
19
|
+
"description": "Built-in Chart object (Name, Version, AppVersion)",
|
|
20
|
+
"isTag": false
|
|
18
21
|
},
|
|
19
22
|
{
|
|
20
23
|
"name": "include",
|
|
21
|
-
"description": "Include a named template"
|
|
24
|
+
"description": "Include a named template: {{ include \"name\" . }}",
|
|
25
|
+
"isTag": false
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "required",
|
|
29
|
+
"description": "Require a value: {{ required \"msg\" .Values.x }}",
|
|
30
|
+
"isTag": false
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "helmDefault",
|
|
34
|
+
"description": "Default value: {{ default \"def\" .Values.x }}",
|
|
35
|
+
"isTag": false
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "toYaml",
|
|
39
|
+
"description": "Convert to YAML: {{ toYaml .Values.x | nindent N }}",
|
|
40
|
+
"isTag": false
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "quote",
|
|
44
|
+
"description": "Quote a value: {{ .Values.x | quote }}",
|
|
45
|
+
"isTag": false
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "printf",
|
|
49
|
+
"description": "Format string: {{ printf \"%s\" .Values.x }}",
|
|
50
|
+
"isTag": false
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "tpl",
|
|
54
|
+
"description": "Evaluate template: {{ tpl .Values.x . }}",
|
|
55
|
+
"isTag": false
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "lookup",
|
|
59
|
+
"description": "Lookup resource: {{ lookup \"v1\" \"Secret\" \"ns\" \"name\" }}",
|
|
60
|
+
"isTag": false
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "Capabilities",
|
|
64
|
+
"description": "Built-in Capabilities object (KubeVersion, APIVersions, HelmVersion)",
|
|
65
|
+
"isTag": false
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "Template",
|
|
69
|
+
"description": "Built-in Template object (Name, BasePath)",
|
|
70
|
+
"isTag": false
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "filesGet",
|
|
74
|
+
"description": ".Files.Get: {{ .Files.Get \"path\" }}",
|
|
75
|
+
"isTag": false
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "filesGlob",
|
|
79
|
+
"description": ".Files.Glob: {{ .Files.Glob \"pattern\" }}",
|
|
80
|
+
"isTag": false
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "filesAsConfig",
|
|
84
|
+
"description": ".Files.Glob.AsConfig for ConfigMap data",
|
|
85
|
+
"isTag": false
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "filesAsSecrets",
|
|
89
|
+
"description": ".Files.Glob.AsSecrets for Secret data",
|
|
90
|
+
"isTag": false
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "ElseIf",
|
|
94
|
+
"description": "Else-if chaining: {{- else if .Values.x }}...{{- end }}",
|
|
95
|
+
"isTag": false
|
|
22
96
|
},
|
|
23
97
|
{
|
|
24
98
|
"name": "If",
|
|
25
|
-
"description": "Conditional
|
|
99
|
+
"description": "Conditional: {{- if .Values.x }}...{{- end }}",
|
|
100
|
+
"isTag": false
|
|
26
101
|
},
|
|
27
102
|
{
|
|
28
103
|
"name": "Range",
|
|
29
|
-
"description": "Range loop"
|
|
104
|
+
"description": "Range loop: {{- range .Values.x }}...{{- end }}",
|
|
105
|
+
"isTag": false
|
|
30
106
|
},
|
|
31
107
|
{
|
|
32
108
|
"name": "With",
|
|
33
|
-
"description": "With scope"
|
|
109
|
+
"description": "With scope: {{- with .Values.x }}...{{- end }}",
|
|
110
|
+
"isTag": false
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "withOrder",
|
|
114
|
+
"description": "Helm hook annotations for resource ordering (pre-install/pre-upgrade)",
|
|
115
|
+
"isTag": false
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "argoWave",
|
|
119
|
+
"description": "Argo CD sync wave annotation",
|
|
120
|
+
"isTag": false
|
|
34
121
|
}
|
|
35
122
|
],
|
|
36
123
|
"pseudoParameters": {}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentius/chant-lexicon-helm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Helm chart lexicon for chant — declarative IaC in TypeScript",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://intentius.io/chant",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@types/js-yaml": "^4.0.9"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|
|
79
|
-
"@intentius/chant": "^0.
|
|
79
|
+
"@intentius/chant": "^0.20.0",
|
|
80
80
|
"typescript": "^5.9.3"
|
|
81
81
|
}
|
|
82
82
|
}
|
package/src/codegen/docs.ts
CHANGED
|
@@ -224,7 +224,9 @@ const job = new Job({
|
|
|
224
224
|
slug: "composites",
|
|
225
225
|
title: "Composites",
|
|
226
226
|
description: "Pre-built Helm chart patterns",
|
|
227
|
-
content:
|
|
227
|
+
content: `When a composite call like these is assigned directly to a top-level \`export const\` — or destructured into a top-level export, e.g. \`export const { chart, values, deployment } = HelmWebApp({...})\` — it's one of the patterns [\`chant build --fold\`](/chant/concepts/typescript-as-data/#folded-vs-run) can reduce with no module execution (chant #1023). It still runs like any other call if it isn't a top-level export, or if its result is only reached through a nested value inside another resource's properties.
|
|
228
|
+
|
|
229
|
+
## Available composites
|
|
228
230
|
|
|
229
231
|
| Composite | Description | Resources |
|
|
230
232
|
|-----------|-------------|-----------|
|
package/src/codegen/package.ts
CHANGED
|
@@ -35,15 +35,15 @@ export async function packageLexicon(opts: PackageOptions = {}): Promise<Package
|
|
|
35
35
|
version: pkgJson.version ?? "0.0.0",
|
|
36
36
|
chantVersion: ">=0.1.0",
|
|
37
37
|
namespace: "Helm",
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
],
|
|
38
|
+
// Derived from the plugin's own registration (chant #1067) — this
|
|
39
|
+
// used to be a hand-maintained array of 7 entries, independent of
|
|
40
|
+
// ../plugin.ts's real registration (which has grown to 22) and
|
|
41
|
+
// never updated to match. That drift is exactly why an
|
|
42
|
+
// independent second source of truth for the same data is
|
|
43
|
+
// dangerous: the generated intrinsics doc page (chant #1062) was
|
|
44
|
+
// silently reporting "7 intrinsic functions" for a lexicon that
|
|
45
|
+
// ships 22.
|
|
46
|
+
intrinsics: helmPlugin.intrinsics?.() ?? [],
|
|
47
47
|
pseudoParameters: {},
|
|
48
48
|
};
|
|
49
49
|
},
|
package/src/plugin.ts
CHANGED
|
@@ -31,29 +31,29 @@ export const helmPlugin: LexiconPlugin = {
|
|
|
31
31
|
|
|
32
32
|
intrinsics(): IntrinsicDef[] {
|
|
33
33
|
return [
|
|
34
|
-
{ name: "values", description: "Proxy accessor for {{ .Values.x }} references" },
|
|
35
|
-
{ name: "Release", description: "Built-in Release object (Name, Namespace, etc.)" },
|
|
36
|
-
{ name: "ChartRef", description: "Built-in Chart object (Name, Version, AppVersion)" },
|
|
37
|
-
{ name: "include", description: 'Include a named template: {{ include "name" . }}' },
|
|
38
|
-
{ name: "required", description: 'Require a value: {{ required "msg" .Values.x }}' },
|
|
39
|
-
{ name: "helmDefault", description: 'Default value: {{ default "def" .Values.x }}' },
|
|
40
|
-
{ name: "toYaml", description: "Convert to YAML: {{ toYaml .Values.x | nindent N }}" },
|
|
41
|
-
{ name: "quote", description: "Quote a value: {{ .Values.x | quote }}" },
|
|
42
|
-
{ name: "printf", description: 'Format string: {{ printf "%s" .Values.x }}' },
|
|
43
|
-
{ name: "tpl", description: "Evaluate template: {{ tpl .Values.x . }}" },
|
|
44
|
-
{ name: "lookup", description: 'Lookup resource: {{ lookup "v1" "Secret" "ns" "name" }}' },
|
|
45
|
-
{ name: "Capabilities", description: "Built-in Capabilities object (KubeVersion, APIVersions, HelmVersion)" },
|
|
46
|
-
{ name: "Template", description: "Built-in Template object (Name, BasePath)" },
|
|
47
|
-
{ name: "filesGet", description: '.Files.Get: {{ .Files.Get "path" }}' },
|
|
48
|
-
{ name: "filesGlob", description: '.Files.Glob: {{ .Files.Glob "pattern" }}' },
|
|
49
|
-
{ name: "filesAsConfig", description: ".Files.Glob.AsConfig for ConfigMap data" },
|
|
50
|
-
{ name: "filesAsSecrets", description: ".Files.Glob.AsSecrets for Secret data" },
|
|
51
|
-
{ name: "ElseIf", description: "Else-if chaining: {{- else if .Values.x }}...{{- end }}" },
|
|
52
|
-
{ name: "If", description: "Conditional: {{- if .Values.x }}...{{- end }}" },
|
|
53
|
-
{ name: "Range", description: "Range loop: {{- range .Values.x }}...{{- end }}" },
|
|
54
|
-
{ name: "With", description: "With scope: {{- with .Values.x }}...{{- end }}" },
|
|
55
|
-
{ name: "withOrder", description: "Helm hook annotations for resource ordering (pre-install/pre-upgrade)" },
|
|
56
|
-
{ name: "argoWave", description: "Argo CD sync wave annotation" },
|
|
34
|
+
{ name: "values", description: "Proxy accessor for {{ .Values.x }} references", isTag: false },
|
|
35
|
+
{ name: "Release", description: "Built-in Release object (Name, Namespace, etc.)", isTag: false },
|
|
36
|
+
{ name: "ChartRef", description: "Built-in Chart object (Name, Version, AppVersion)", isTag: false },
|
|
37
|
+
{ name: "include", description: 'Include a named template: {{ include "name" . }}', isTag: false },
|
|
38
|
+
{ name: "required", description: 'Require a value: {{ required "msg" .Values.x }}', isTag: false },
|
|
39
|
+
{ name: "helmDefault", description: 'Default value: {{ default "def" .Values.x }}', isTag: false },
|
|
40
|
+
{ name: "toYaml", description: "Convert to YAML: {{ toYaml .Values.x | nindent N }}", isTag: false },
|
|
41
|
+
{ name: "quote", description: "Quote a value: {{ .Values.x | quote }}", isTag: false },
|
|
42
|
+
{ name: "printf", description: 'Format string: {{ printf "%s" .Values.x }}', isTag: false },
|
|
43
|
+
{ name: "tpl", description: "Evaluate template: {{ tpl .Values.x . }}", isTag: false },
|
|
44
|
+
{ name: "lookup", description: 'Lookup resource: {{ lookup "v1" "Secret" "ns" "name" }}', isTag: false },
|
|
45
|
+
{ name: "Capabilities", description: "Built-in Capabilities object (KubeVersion, APIVersions, HelmVersion)", isTag: false },
|
|
46
|
+
{ name: "Template", description: "Built-in Template object (Name, BasePath)", isTag: false },
|
|
47
|
+
{ name: "filesGet", description: '.Files.Get: {{ .Files.Get "path" }}', isTag: false },
|
|
48
|
+
{ name: "filesGlob", description: '.Files.Glob: {{ .Files.Glob "pattern" }}', isTag: false },
|
|
49
|
+
{ name: "filesAsConfig", description: ".Files.Glob.AsConfig for ConfigMap data", isTag: false },
|
|
50
|
+
{ name: "filesAsSecrets", description: ".Files.Glob.AsSecrets for Secret data", isTag: false },
|
|
51
|
+
{ name: "ElseIf", description: "Else-if chaining: {{- else if .Values.x }}...{{- end }}", isTag: false },
|
|
52
|
+
{ name: "If", description: "Conditional: {{- if .Values.x }}...{{- end }}", isTag: false },
|
|
53
|
+
{ name: "Range", description: "Range loop: {{- range .Values.x }}...{{- end }}", isTag: false },
|
|
54
|
+
{ name: "With", description: "With scope: {{- with .Values.x }}...{{- end }}", isTag: false },
|
|
55
|
+
{ name: "withOrder", description: "Helm hook annotations for resource ordering (pre-install/pre-upgrade)", isTag: false },
|
|
56
|
+
{ name: "argoWave", description: "Argo CD sync wave annotation", isTag: false },
|
|
57
57
|
];
|
|
58
58
|
},
|
|
59
59
|
|