@intentius/chant-lexicon-helm 0.83.0 → 0.85.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/composites/catalog.d.ts +3 -0
- package/dist/composites/catalog.d.ts.map +1 -0
- package/dist/integrity.json +2 -2
- package/dist/manifest.json +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/composites/catalog.test.ts +39 -0
- package/src/composites/catalog.ts +1124 -0
- package/src/plugin.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/composites/catalog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,cAAc,EA8lC5C,CAAC"}
|
package/dist/integrity.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"algorithm": "sha256",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"manifest.json": "
|
|
4
|
+
"manifest.json": "940d8e51e7afca09f0db4344e4c03a086a2aa38bfdb5552d8f1c5cf83ae8176d",
|
|
5
5
|
"meta.json": "14243c5730a07c6a6edc35ddd351438547d58df5cf345f2233a355b0c7611ccc",
|
|
6
6
|
"types/index.d.ts": "5377696ca8698cd2999e4680feb8e8e4b54a7b49fb603a87b2f27356114d1794",
|
|
7
7
|
"rules/chart-metadata.ts": "8f3377e893d5e2828460b7fe5924fca098334245a9a2fdb90f6b67e490eaf091",
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"skills/chant-helm-patterns.md": "9e79e6a46391da46709d8aa57e2825a7cd9eb981cd923f02ad60836c49b2561e",
|
|
37
37
|
"skills/chant-helm-security.md": "bfc367eabceed2e84f1cf94501b407df78aeed963cec104f24a321d0962063c9"
|
|
38
38
|
},
|
|
39
|
-
"composite": "
|
|
39
|
+
"composite": "86b292403a3cd368aced898864ba66e21a534dfc458c2f4e1d7099dff9d8f1e0"
|
|
40
40
|
}
|
package/dist/manifest.json
CHANGED
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,0BAA0B,CAAC;AAiB7F,eAAO,MAAM,UAAU,EAAE,aAycxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentius/chant-lexicon-helm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.85.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",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"@types/js-yaml": "^4.0.9"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"@intentius/chant": "^0.
|
|
89
|
+
"@intentius/chant": "^0.85.0",
|
|
90
90
|
"typescript": "^5.9.3",
|
|
91
91
|
"zod": "^4.3.6"
|
|
92
92
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The composite catalog matches what this lexicon exports (#2662).
|
|
3
|
+
*
|
|
4
|
+
* `catalog.ts` is generated by `npm run generate:composite-catalogs` and is
|
|
5
|
+
* what `chant serve mcp` lists. A composite added without regenerating it would
|
|
6
|
+
* be invisible to an agent asking what helm offers; one renamed or removed
|
|
7
|
+
* would be offered and fail to import.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { describe, expect, test } from "vitest";
|
|
11
|
+
import { isCompositeDefinition } from "@intentius/chant";
|
|
12
|
+
import * as composites from "./index";
|
|
13
|
+
import { compositeCatalog } from "./catalog";
|
|
14
|
+
import { helmPlugin } from "../plugin";
|
|
15
|
+
|
|
16
|
+
const exported = Object.entries(composites)
|
|
17
|
+
.filter(([, value]) => isCompositeDefinition(value))
|
|
18
|
+
.map(([name]) => name)
|
|
19
|
+
.sort();
|
|
20
|
+
const catalogued = compositeCatalog.map((entry) => entry.name).sort();
|
|
21
|
+
|
|
22
|
+
describe("the helm composite catalog", () => {
|
|
23
|
+
test("every exported composite has an entry, and every entry names an exported composite", () => {
|
|
24
|
+
expect(exported.length).toBeGreaterThan(0);
|
|
25
|
+
expect(catalogued, "regenerate with `npm run generate:composite-catalogs -- helm`").toEqual(exported);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
test("every entry says what it is and what it bundles", () => {
|
|
29
|
+
for (const entry of compositeCatalog) {
|
|
30
|
+
expect(entry.lexicon, entry.name).toBe("helm");
|
|
31
|
+
expect(entry.description.length, entry.name).toBeGreaterThan(0);
|
|
32
|
+
expect(entry.bundles.length, entry.name).toBeGreaterThan(0);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test("the plugin contributes it", () => {
|
|
37
|
+
expect(helmPlugin.composites?.()).toBe(compositeCatalog);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -0,0 +1,1124 @@
|
|
|
1
|
+
// Generated by scripts/generate-composite-catalogs.ts (#2662) from this
|
|
2
|
+
// lexicon's composite exports. Do not edit by hand: run
|
|
3
|
+
// `npm run generate:composite-catalogs`. catalog.test.ts holds it to the exports.
|
|
4
|
+
import type { CompositeEntry } from "@intentius/chant/lexicon";
|
|
5
|
+
|
|
6
|
+
export const compositeCatalog: CompositeEntry[] = [
|
|
7
|
+
{
|
|
8
|
+
"name": "HelmBatchJob",
|
|
9
|
+
"lexicon": "helm",
|
|
10
|
+
"description": "HelmBatchJob composite — Job + optional ServiceAccount + RBAC.",
|
|
11
|
+
"bundles": [
|
|
12
|
+
"Chart",
|
|
13
|
+
"Job",
|
|
14
|
+
"Role",
|
|
15
|
+
"RoleBinding",
|
|
16
|
+
"ServiceAccount",
|
|
17
|
+
"Values"
|
|
18
|
+
],
|
|
19
|
+
"params": [
|
|
20
|
+
{
|
|
21
|
+
"name": "name",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"required": true,
|
|
24
|
+
"description": "Chart and release name."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "imageRepository",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"required": false,
|
|
30
|
+
"description": "Default container image repository."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "imageTag",
|
|
34
|
+
"type": "string",
|
|
35
|
+
"required": false,
|
|
36
|
+
"description": "Default container image tag."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "backoffLimit",
|
|
40
|
+
"type": "number",
|
|
41
|
+
"required": false,
|
|
42
|
+
"description": "Backoff limit for retries."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "completions",
|
|
46
|
+
"type": "number",
|
|
47
|
+
"required": false,
|
|
48
|
+
"description": "Number of completions required."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "parallelism",
|
|
52
|
+
"type": "number",
|
|
53
|
+
"required": false,
|
|
54
|
+
"description": "Parallelism level."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "restartPolicy",
|
|
58
|
+
"type": "string",
|
|
59
|
+
"required": false,
|
|
60
|
+
"description": "Default restart policy."
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "ttlSecondsAfterFinished",
|
|
64
|
+
"type": "number",
|
|
65
|
+
"required": false,
|
|
66
|
+
"description": "TTL seconds after job finishes."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "serviceAccount",
|
|
70
|
+
"type": "boolean",
|
|
71
|
+
"required": false,
|
|
72
|
+
"description": "Include ServiceAccount."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "rbac",
|
|
76
|
+
"type": "boolean",
|
|
77
|
+
"required": false,
|
|
78
|
+
"description": "Include RBAC (Role + RoleBinding)."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "podSecurityContext",
|
|
82
|
+
"type": "Record<string, unknown>",
|
|
83
|
+
"required": false,
|
|
84
|
+
"description": "Pod-level security context defaults."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "securityContext",
|
|
88
|
+
"type": "Record<string, unknown>",
|
|
89
|
+
"required": false,
|
|
90
|
+
"description": "Container-level security context defaults."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "nodeSelector",
|
|
94
|
+
"type": "Record<string, string>",
|
|
95
|
+
"required": false,
|
|
96
|
+
"description": "Node selector defaults."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "tolerations",
|
|
100
|
+
"type": "Array<Record<string, unknown>>",
|
|
101
|
+
"required": false,
|
|
102
|
+
"description": "Tolerations defaults."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "appVersion",
|
|
106
|
+
"type": "string",
|
|
107
|
+
"required": false,
|
|
108
|
+
"description": "Chart appVersion."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "defaults",
|
|
112
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; job?: Partial<Record<string, u...",
|
|
113
|
+
"required": false,
|
|
114
|
+
"description": "Per-member defaults."
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "HelmCRDLifecycle",
|
|
120
|
+
"lexicon": "helm",
|
|
121
|
+
"description": "HelmCRDLifecycle composite — managed CRD lifecycle via Helm hooks.",
|
|
122
|
+
"bundles": [
|
|
123
|
+
"Chart",
|
|
124
|
+
"ClusterRole",
|
|
125
|
+
"ClusterRoleBinding",
|
|
126
|
+
"ConfigMap",
|
|
127
|
+
"Job",
|
|
128
|
+
"ServiceAccount",
|
|
129
|
+
"Values"
|
|
130
|
+
],
|
|
131
|
+
"params": [
|
|
132
|
+
{
|
|
133
|
+
"name": "name",
|
|
134
|
+
"type": "string",
|
|
135
|
+
"required": true,
|
|
136
|
+
"description": "Chart and release name."
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "crdContent",
|
|
140
|
+
"type": "string",
|
|
141
|
+
"required": true,
|
|
142
|
+
"description": "Raw CRD YAML content."
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "kubectlImage",
|
|
146
|
+
"type": "string",
|
|
147
|
+
"required": false,
|
|
148
|
+
"description": "kubectl image."
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"name": "kubectlTag",
|
|
152
|
+
"type": "string",
|
|
153
|
+
"required": false,
|
|
154
|
+
"description": "kubectl image tag."
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "serviceAccountName",
|
|
158
|
+
"type": "string",
|
|
159
|
+
"required": false,
|
|
160
|
+
"description": "ServiceAccount name for RBAC."
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "defaults",
|
|
164
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; crdInstallJob?: Partial<Record...",
|
|
165
|
+
"required": false,
|
|
166
|
+
"description": "Per-member defaults."
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "HelmCronJob",
|
|
172
|
+
"lexicon": "helm",
|
|
173
|
+
"description": "HelmCronJob composite — CronJob chart.",
|
|
174
|
+
"bundles": [
|
|
175
|
+
"Chart",
|
|
176
|
+
"CronJob",
|
|
177
|
+
"ServiceAccount",
|
|
178
|
+
"Values"
|
|
179
|
+
],
|
|
180
|
+
"params": [
|
|
181
|
+
{
|
|
182
|
+
"name": "name",
|
|
183
|
+
"type": "string",
|
|
184
|
+
"required": true,
|
|
185
|
+
"description": "Chart and release name."
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "imageRepository",
|
|
189
|
+
"type": "string",
|
|
190
|
+
"required": false,
|
|
191
|
+
"description": "Default container image repository."
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "imageTag",
|
|
195
|
+
"type": "string",
|
|
196
|
+
"required": false,
|
|
197
|
+
"description": "Default container image tag."
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "schedule",
|
|
201
|
+
"type": "string",
|
|
202
|
+
"required": false,
|
|
203
|
+
"description": "Default cron schedule."
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "restartPolicy",
|
|
207
|
+
"type": "string",
|
|
208
|
+
"required": false,
|
|
209
|
+
"description": "Default restart policy."
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "appVersion",
|
|
213
|
+
"type": "string",
|
|
214
|
+
"required": false,
|
|
215
|
+
"description": "Chart appVersion."
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "podSecurityContext",
|
|
219
|
+
"type": "Record<string, unknown>",
|
|
220
|
+
"required": false,
|
|
221
|
+
"description": "Pod-level security context defaults."
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"name": "securityContext",
|
|
225
|
+
"type": "Record<string, unknown>",
|
|
226
|
+
"required": false,
|
|
227
|
+
"description": "Container-level security context defaults."
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "nodeSelector",
|
|
231
|
+
"type": "Record<string, string>",
|
|
232
|
+
"required": false,
|
|
233
|
+
"description": "Node selector defaults."
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "tolerations",
|
|
237
|
+
"type": "Array<Record<string, unknown>>",
|
|
238
|
+
"required": false,
|
|
239
|
+
"description": "Tolerations defaults."
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "affinity",
|
|
243
|
+
"type": "Record<string, unknown>",
|
|
244
|
+
"required": false,
|
|
245
|
+
"description": "Affinity defaults."
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"name": "podAnnotations",
|
|
249
|
+
"type": "Record<string, string>",
|
|
250
|
+
"required": false,
|
|
251
|
+
"description": "Pod annotations defaults."
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"name": "concurrencyPolicy",
|
|
255
|
+
"type": "string",
|
|
256
|
+
"required": false,
|
|
257
|
+
"description": "Concurrency policy."
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "successfulJobsHistoryLimit",
|
|
261
|
+
"type": "number",
|
|
262
|
+
"required": false,
|
|
263
|
+
"description": "Number of successful job completions to retain."
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"name": "failedJobsHistoryLimit",
|
|
267
|
+
"type": "number",
|
|
268
|
+
"required": false,
|
|
269
|
+
"description": "Number of failed job completions to retain."
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"name": "backoffLimit",
|
|
273
|
+
"type": "number",
|
|
274
|
+
"required": false,
|
|
275
|
+
"description": "Backoff limit for job retries."
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "serviceAccount",
|
|
279
|
+
"type": "boolean",
|
|
280
|
+
"required": false,
|
|
281
|
+
"description": "Include ServiceAccount."
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"name": "defaults",
|
|
285
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; cronJob?: Partial<Record<strin...",
|
|
286
|
+
"required": false,
|
|
287
|
+
"description": "Per-member defaults."
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"name": "HelmDaemonSet",
|
|
293
|
+
"lexicon": "helm",
|
|
294
|
+
"description": "HelmDaemonSet composite — DaemonSet + optional ServiceAccount.",
|
|
295
|
+
"bundles": [
|
|
296
|
+
"Chart",
|
|
297
|
+
"DaemonSet",
|
|
298
|
+
"ServiceAccount",
|
|
299
|
+
"Values"
|
|
300
|
+
],
|
|
301
|
+
"params": [
|
|
302
|
+
{
|
|
303
|
+
"name": "name",
|
|
304
|
+
"type": "string",
|
|
305
|
+
"required": true,
|
|
306
|
+
"description": "Chart and release name."
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"name": "imageRepository",
|
|
310
|
+
"type": "string",
|
|
311
|
+
"required": false,
|
|
312
|
+
"description": "Default container image repository."
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"name": "imageTag",
|
|
316
|
+
"type": "string",
|
|
317
|
+
"required": false,
|
|
318
|
+
"description": "Default container image tag."
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "port",
|
|
322
|
+
"type": "number",
|
|
323
|
+
"required": false,
|
|
324
|
+
"description": "Container port (omitted if undefined)."
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"name": "hostPaths",
|
|
328
|
+
"type": "Array<{ name: string; hostPath: string; mountPath: string; readOnly?: boolean }>",
|
|
329
|
+
"required": false,
|
|
330
|
+
"description": "`readOnly` defaults to true — a host mount is read-only unless a caller says otherwise."
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "serviceAccount",
|
|
334
|
+
"type": "boolean",
|
|
335
|
+
"required": false,
|
|
336
|
+
"description": "Include ServiceAccount."
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"name": "appVersion",
|
|
340
|
+
"type": "string",
|
|
341
|
+
"required": false,
|
|
342
|
+
"description": "Chart appVersion."
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"name": "defaults",
|
|
346
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; daemonSet?: Partial<Record<str...",
|
|
347
|
+
"required": false,
|
|
348
|
+
"description": "Per-member defaults."
|
|
349
|
+
}
|
|
350
|
+
]
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"name": "HelmExternalSecret",
|
|
354
|
+
"lexicon": "helm",
|
|
355
|
+
"description": "HelmExternalSecret composite — ExternalSecret CR for secret management.",
|
|
356
|
+
"bundles": [
|
|
357
|
+
"Chart",
|
|
358
|
+
"ExternalSecret",
|
|
359
|
+
"Values"
|
|
360
|
+
],
|
|
361
|
+
"params": [
|
|
362
|
+
{
|
|
363
|
+
"name": "name",
|
|
364
|
+
"type": "string",
|
|
365
|
+
"required": true,
|
|
366
|
+
"description": "Chart and release name."
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"name": "secretStoreName",
|
|
370
|
+
"type": "string",
|
|
371
|
+
"required": true,
|
|
372
|
+
"description": "Name of the SecretStore or ClusterSecretStore to reference."
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "secretStoreKind",
|
|
376
|
+
"type": "\"SecretStore\" | \"ClusterSecretStore\"",
|
|
377
|
+
"required": false,
|
|
378
|
+
"description": "Kind of secret store."
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"name": "data",
|
|
382
|
+
"type": "Record<string, string>",
|
|
383
|
+
"required": true,
|
|
384
|
+
"description": "Map of { envVarName: \"remote/path\" } for secret data."
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "refreshInterval",
|
|
388
|
+
"type": "string",
|
|
389
|
+
"required": false,
|
|
390
|
+
"description": "Refresh interval."
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"name": "defaults",
|
|
394
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; externalSecret?: Partial<Recor...",
|
|
395
|
+
"required": false,
|
|
396
|
+
"description": "Per-member defaults."
|
|
397
|
+
}
|
|
398
|
+
]
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"name": "HelmLibrary",
|
|
402
|
+
"lexicon": "helm",
|
|
403
|
+
"description": "HelmLibrary composite — Library chart (type: library, no templates).",
|
|
404
|
+
"bundles": [
|
|
405
|
+
"Chart",
|
|
406
|
+
"Values"
|
|
407
|
+
],
|
|
408
|
+
"params": [
|
|
409
|
+
{
|
|
410
|
+
"name": "name",
|
|
411
|
+
"type": "string",
|
|
412
|
+
"required": true,
|
|
413
|
+
"description": "Chart name."
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "version",
|
|
417
|
+
"type": "string",
|
|
418
|
+
"required": false,
|
|
419
|
+
"description": "Chart version."
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"name": "description",
|
|
423
|
+
"type": "string",
|
|
424
|
+
"required": false,
|
|
425
|
+
"description": "Chart description."
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"name": "dependencies",
|
|
429
|
+
"type": "Array<{ name: string; version: string; repository: string; }>",
|
|
430
|
+
"required": false,
|
|
431
|
+
"description": "Chart dependencies."
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"name": "helpers",
|
|
435
|
+
"type": "string[]",
|
|
436
|
+
"required": false,
|
|
437
|
+
"description": "Helper template names to generate."
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"name": "defaults",
|
|
441
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; helpers?: Partial<Record<string, unknown>>; }",
|
|
442
|
+
"required": false,
|
|
443
|
+
"description": "Per-member defaults."
|
|
444
|
+
}
|
|
445
|
+
]
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"name": "HelmMicroservice",
|
|
449
|
+
"lexicon": "helm",
|
|
450
|
+
"description": "HelmMicroservice composite — Deployment + Service + Ingress + HPA + PDB + ServiceAccount + ConfigMap.",
|
|
451
|
+
"bundles": [
|
|
452
|
+
"Chart",
|
|
453
|
+
"ConfigMap",
|
|
454
|
+
"Deployment",
|
|
455
|
+
"HPA",
|
|
456
|
+
"Ingress",
|
|
457
|
+
"PDB",
|
|
458
|
+
"Service",
|
|
459
|
+
"ServiceAccount",
|
|
460
|
+
"Values"
|
|
461
|
+
],
|
|
462
|
+
"params": [
|
|
463
|
+
{
|
|
464
|
+
"name": "name",
|
|
465
|
+
"type": "string",
|
|
466
|
+
"required": true,
|
|
467
|
+
"description": "Chart and release name."
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"name": "imageRepository",
|
|
471
|
+
"type": "string",
|
|
472
|
+
"required": false,
|
|
473
|
+
"description": "Default container image repository."
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"name": "imageTag",
|
|
477
|
+
"type": "string",
|
|
478
|
+
"required": false,
|
|
479
|
+
"description": "Default container image tag."
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"name": "port",
|
|
483
|
+
"type": "number",
|
|
484
|
+
"required": false,
|
|
485
|
+
"description": "Default service port."
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"name": "replicas",
|
|
489
|
+
"type": "number",
|
|
490
|
+
"required": false,
|
|
491
|
+
"description": "Default replica count."
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"name": "serviceType",
|
|
495
|
+
"type": "string",
|
|
496
|
+
"required": false,
|
|
497
|
+
"description": "Default service type."
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"name": "ingress",
|
|
501
|
+
"type": "boolean",
|
|
502
|
+
"required": false,
|
|
503
|
+
"description": "Include Ingress (conditional)."
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"name": "autoscaling",
|
|
507
|
+
"type": "boolean",
|
|
508
|
+
"required": false,
|
|
509
|
+
"description": "Include HPA (conditional)."
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"name": "pdb",
|
|
513
|
+
"type": "boolean",
|
|
514
|
+
"required": false,
|
|
515
|
+
"description": "Include PDB."
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "configMap",
|
|
519
|
+
"type": "boolean",
|
|
520
|
+
"required": false,
|
|
521
|
+
"description": "Include ConfigMap."
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"name": "appVersion",
|
|
525
|
+
"type": "string",
|
|
526
|
+
"required": false,
|
|
527
|
+
"description": "Chart appVersion."
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"name": "podSecurityContext",
|
|
531
|
+
"type": "Record<string, unknown>",
|
|
532
|
+
"required": false,
|
|
533
|
+
"description": "Pod-level security context defaults."
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"name": "securityContext",
|
|
537
|
+
"type": "Record<string, unknown>",
|
|
538
|
+
"required": false,
|
|
539
|
+
"description": "Container-level security context defaults."
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"name": "nodeSelector",
|
|
543
|
+
"type": "Record<string, string>",
|
|
544
|
+
"required": false,
|
|
545
|
+
"description": "Node selector defaults."
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"name": "tolerations",
|
|
549
|
+
"type": "Array<Record<string, unknown>>",
|
|
550
|
+
"required": false,
|
|
551
|
+
"description": "Tolerations defaults."
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"name": "affinity",
|
|
555
|
+
"type": "Record<string, unknown>",
|
|
556
|
+
"required": false,
|
|
557
|
+
"description": "Affinity defaults."
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "podAnnotations",
|
|
561
|
+
"type": "Record<string, string>",
|
|
562
|
+
"required": false,
|
|
563
|
+
"description": "Pod annotations defaults."
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"name": "strategy",
|
|
567
|
+
"type": "Record<string, unknown>",
|
|
568
|
+
"required": false,
|
|
569
|
+
"description": "Deployment strategy defaults."
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"name": "defaults",
|
|
573
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; deployment?: Partial<Record<st...",
|
|
574
|
+
"required": false,
|
|
575
|
+
"description": "Per-member defaults."
|
|
576
|
+
}
|
|
577
|
+
]
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"name": "HelmMonitoredService",
|
|
581
|
+
"lexicon": "helm",
|
|
582
|
+
"description": "HelmMonitoredService composite — Deployment + Service + ServiceMonitor + optional PrometheusRule.",
|
|
583
|
+
"bundles": [
|
|
584
|
+
"Chart",
|
|
585
|
+
"Deployment",
|
|
586
|
+
"PrometheusRule",
|
|
587
|
+
"Service",
|
|
588
|
+
"ServiceAccount",
|
|
589
|
+
"ServiceMonitor",
|
|
590
|
+
"Values"
|
|
591
|
+
],
|
|
592
|
+
"params": [
|
|
593
|
+
{
|
|
594
|
+
"name": "name",
|
|
595
|
+
"type": "string",
|
|
596
|
+
"required": true,
|
|
597
|
+
"description": "Chart and release name."
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"name": "imageRepository",
|
|
601
|
+
"type": "string",
|
|
602
|
+
"required": false,
|
|
603
|
+
"description": "Default container image repository."
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"name": "imageTag",
|
|
607
|
+
"type": "string",
|
|
608
|
+
"required": false,
|
|
609
|
+
"description": "Default container image tag."
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
"name": "port",
|
|
613
|
+
"type": "number",
|
|
614
|
+
"required": false,
|
|
615
|
+
"description": "Application port."
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"name": "metricsPort",
|
|
619
|
+
"type": "number",
|
|
620
|
+
"required": false,
|
|
621
|
+
"description": "Metrics port."
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"name": "metricsPath",
|
|
625
|
+
"type": "string",
|
|
626
|
+
"required": false,
|
|
627
|
+
"description": "Metrics path."
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"name": "scrapeInterval",
|
|
631
|
+
"type": "string",
|
|
632
|
+
"required": false,
|
|
633
|
+
"description": "Scrape interval."
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"name": "replicas",
|
|
637
|
+
"type": "number",
|
|
638
|
+
"required": false,
|
|
639
|
+
"description": "Default replica count."
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
"name": "serviceType",
|
|
643
|
+
"type": "string",
|
|
644
|
+
"required": false,
|
|
645
|
+
"description": "Default service type."
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"name": "serviceAccount",
|
|
649
|
+
"type": "boolean",
|
|
650
|
+
"required": false,
|
|
651
|
+
"description": "Include ServiceAccount."
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"name": "alertRules",
|
|
655
|
+
"type": "boolean",
|
|
656
|
+
"required": false,
|
|
657
|
+
"description": "Include PrometheusRule for alerting."
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"name": "podSecurityContext",
|
|
661
|
+
"type": "Record<string, unknown>",
|
|
662
|
+
"required": false,
|
|
663
|
+
"description": "Pod-level security context defaults."
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"name": "securityContext",
|
|
667
|
+
"type": "Record<string, unknown>",
|
|
668
|
+
"required": false,
|
|
669
|
+
"description": "Container-level security context defaults."
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
"name": "nodeSelector",
|
|
673
|
+
"type": "Record<string, string>",
|
|
674
|
+
"required": false,
|
|
675
|
+
"description": "Node selector defaults."
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"name": "tolerations",
|
|
679
|
+
"type": "Array<Record<string, unknown>>",
|
|
680
|
+
"required": false,
|
|
681
|
+
"description": "Tolerations defaults."
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"name": "affinity",
|
|
685
|
+
"type": "Record<string, unknown>",
|
|
686
|
+
"required": false,
|
|
687
|
+
"description": "Affinity defaults."
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"name": "appVersion",
|
|
691
|
+
"type": "string",
|
|
692
|
+
"required": false,
|
|
693
|
+
"description": "Chart appVersion."
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"name": "defaults",
|
|
697
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; deployment?: Partial<Record<st...",
|
|
698
|
+
"required": false,
|
|
699
|
+
"description": "Per-member defaults."
|
|
700
|
+
}
|
|
701
|
+
]
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"name": "HelmNamespaceEnv",
|
|
705
|
+
"lexicon": "helm",
|
|
706
|
+
"description": "HelmNamespaceEnv composite — Namespace + ResourceQuota + LimitRange + NetworkPolicy.",
|
|
707
|
+
"bundles": [
|
|
708
|
+
"Chart",
|
|
709
|
+
"LimitRange",
|
|
710
|
+
"Namespace",
|
|
711
|
+
"NetworkPolicy",
|
|
712
|
+
"ResourceQuota",
|
|
713
|
+
"Values"
|
|
714
|
+
],
|
|
715
|
+
"params": [
|
|
716
|
+
{
|
|
717
|
+
"name": "name",
|
|
718
|
+
"type": "string",
|
|
719
|
+
"required": true,
|
|
720
|
+
"description": "Chart and release name."
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"name": "resourceQuota",
|
|
724
|
+
"type": "boolean",
|
|
725
|
+
"required": false,
|
|
726
|
+
"description": "Include ResourceQuota."
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"name": "limitRange",
|
|
730
|
+
"type": "boolean",
|
|
731
|
+
"required": false,
|
|
732
|
+
"description": "Include LimitRange."
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
"name": "networkPolicy",
|
|
736
|
+
"type": "boolean",
|
|
737
|
+
"required": false,
|
|
738
|
+
"description": "Include NetworkPolicy."
|
|
739
|
+
},
|
|
740
|
+
{
|
|
741
|
+
"name": "appVersion",
|
|
742
|
+
"type": "string",
|
|
743
|
+
"required": false,
|
|
744
|
+
"description": "Chart appVersion."
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"name": "defaults",
|
|
748
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; namespace?: Partial<Record<str...",
|
|
749
|
+
"required": false,
|
|
750
|
+
"description": "Per-member defaults."
|
|
751
|
+
}
|
|
752
|
+
]
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"name": "HelmSecureIngress",
|
|
756
|
+
"lexicon": "helm",
|
|
757
|
+
"description": "HelmSecureIngress composite — Ingress + optional cert-manager Certificate.",
|
|
758
|
+
"bundles": [
|
|
759
|
+
"Certificate",
|
|
760
|
+
"Chart",
|
|
761
|
+
"Ingress",
|
|
762
|
+
"Values"
|
|
763
|
+
],
|
|
764
|
+
"params": [
|
|
765
|
+
{
|
|
766
|
+
"name": "name",
|
|
767
|
+
"type": "string",
|
|
768
|
+
"required": true,
|
|
769
|
+
"description": "Chart and release name."
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"name": "ingressClassName",
|
|
773
|
+
"type": "string",
|
|
774
|
+
"required": false,
|
|
775
|
+
"description": "Default ingress class name."
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
"name": "clusterIssuer",
|
|
779
|
+
"type": "string",
|
|
780
|
+
"required": false,
|
|
781
|
+
"description": "cert-manager ClusterIssuer name."
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"name": "appVersion",
|
|
785
|
+
"type": "string",
|
|
786
|
+
"required": false,
|
|
787
|
+
"description": "Chart appVersion."
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"name": "defaults",
|
|
791
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; ingress?: Partial<Record<strin...",
|
|
792
|
+
"required": false,
|
|
793
|
+
"description": "Per-member defaults."
|
|
794
|
+
}
|
|
795
|
+
]
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"name": "HelmStatefulService",
|
|
799
|
+
"lexicon": "helm",
|
|
800
|
+
"description": "HelmStatefulService composite — StatefulSet + headless Service + PVC templates.",
|
|
801
|
+
"bundles": [
|
|
802
|
+
"Chart",
|
|
803
|
+
"Service",
|
|
804
|
+
"ServiceAccount",
|
|
805
|
+
"StatefulSet",
|
|
806
|
+
"Values"
|
|
807
|
+
],
|
|
808
|
+
"params": [
|
|
809
|
+
{
|
|
810
|
+
"name": "name",
|
|
811
|
+
"type": "string",
|
|
812
|
+
"required": true,
|
|
813
|
+
"description": "Chart and release name."
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"name": "imageRepository",
|
|
817
|
+
"type": "string",
|
|
818
|
+
"required": false,
|
|
819
|
+
"description": "Default container image repository."
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
"name": "imageTag",
|
|
823
|
+
"type": "string",
|
|
824
|
+
"required": false,
|
|
825
|
+
"description": "Default container image tag."
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"name": "replicas",
|
|
829
|
+
"type": "number",
|
|
830
|
+
"required": false,
|
|
831
|
+
"description": "Default replica count."
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
"name": "port",
|
|
835
|
+
"type": "number",
|
|
836
|
+
"required": false,
|
|
837
|
+
"description": "Default service port."
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
"name": "storageSize",
|
|
841
|
+
"type": "string",
|
|
842
|
+
"required": false,
|
|
843
|
+
"description": "Default storage size."
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
"name": "storageClass",
|
|
847
|
+
"type": "string",
|
|
848
|
+
"required": false,
|
|
849
|
+
"description": "Default storage class (empty = cluster default)."
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"name": "appVersion",
|
|
853
|
+
"type": "string",
|
|
854
|
+
"required": false,
|
|
855
|
+
"description": "Chart appVersion."
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"name": "podSecurityContext",
|
|
859
|
+
"type": "Record<string, unknown>",
|
|
860
|
+
"required": false,
|
|
861
|
+
"description": "Pod-level security context defaults."
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
"name": "securityContext",
|
|
865
|
+
"type": "Record<string, unknown>",
|
|
866
|
+
"required": false,
|
|
867
|
+
"description": "Container-level security context defaults."
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
"name": "nodeSelector",
|
|
871
|
+
"type": "Record<string, string>",
|
|
872
|
+
"required": false,
|
|
873
|
+
"description": "Node selector defaults."
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"name": "tolerations",
|
|
877
|
+
"type": "Array<Record<string, unknown>>",
|
|
878
|
+
"required": false,
|
|
879
|
+
"description": "Tolerations defaults."
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
"name": "affinity",
|
|
883
|
+
"type": "Record<string, unknown>",
|
|
884
|
+
"required": false,
|
|
885
|
+
"description": "Affinity defaults."
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
"name": "podAnnotations",
|
|
889
|
+
"type": "Record<string, string>",
|
|
890
|
+
"required": false,
|
|
891
|
+
"description": "Pod annotations defaults."
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"name": "livenessProbe",
|
|
895
|
+
"type": "Record<string, unknown>",
|
|
896
|
+
"required": false,
|
|
897
|
+
"description": "Liveness probe defaults."
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"name": "readinessProbe",
|
|
901
|
+
"type": "Record<string, unknown>",
|
|
902
|
+
"required": false,
|
|
903
|
+
"description": "Readiness probe defaults."
|
|
904
|
+
},
|
|
905
|
+
{
|
|
906
|
+
"name": "serviceAccount",
|
|
907
|
+
"type": "boolean",
|
|
908
|
+
"required": false,
|
|
909
|
+
"description": "Include ServiceAccount."
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"name": "updateStrategy",
|
|
913
|
+
"type": "Record<string, unknown>",
|
|
914
|
+
"required": false,
|
|
915
|
+
"description": "StatefulSet update strategy defaults."
|
|
916
|
+
},
|
|
917
|
+
{
|
|
918
|
+
"name": "defaults",
|
|
919
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; statefulSet?: Partial<Record<s...",
|
|
920
|
+
"required": false,
|
|
921
|
+
"description": "Per-member defaults."
|
|
922
|
+
}
|
|
923
|
+
]
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
"name": "HelmWebApp",
|
|
927
|
+
"lexicon": "helm",
|
|
928
|
+
"description": "HelmWebApp composite — Deployment + Service + Ingress (conditional) + HPA (conditional) + ServiceAccount.",
|
|
929
|
+
"bundles": [
|
|
930
|
+
"Chart",
|
|
931
|
+
"Deployment",
|
|
932
|
+
"HPA",
|
|
933
|
+
"Ingress",
|
|
934
|
+
"Service",
|
|
935
|
+
"ServiceAccount",
|
|
936
|
+
"Values"
|
|
937
|
+
],
|
|
938
|
+
"params": [
|
|
939
|
+
{
|
|
940
|
+
"name": "name",
|
|
941
|
+
"type": "string",
|
|
942
|
+
"required": true,
|
|
943
|
+
"description": "Chart and release name."
|
|
944
|
+
},
|
|
945
|
+
{
|
|
946
|
+
"name": "imageRepository",
|
|
947
|
+
"type": "string",
|
|
948
|
+
"required": false,
|
|
949
|
+
"description": "Default container image repository."
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"name": "imageTag",
|
|
953
|
+
"type": "string",
|
|
954
|
+
"required": false,
|
|
955
|
+
"description": "Default container image tag (empty = appVersion)."
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"name": "port",
|
|
959
|
+
"type": "number",
|
|
960
|
+
"required": false,
|
|
961
|
+
"description": "Default service port."
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"name": "replicas",
|
|
965
|
+
"type": "number",
|
|
966
|
+
"required": false,
|
|
967
|
+
"description": "Default replica count."
|
|
968
|
+
},
|
|
969
|
+
{
|
|
970
|
+
"name": "serviceType",
|
|
971
|
+
"type": "string",
|
|
972
|
+
"required": false,
|
|
973
|
+
"description": "Default service type."
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
"name": "ingress",
|
|
977
|
+
"type": "boolean",
|
|
978
|
+
"required": false,
|
|
979
|
+
"description": "Include Ingress resource (conditional on values.ingress.enabled)."
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"name": "autoscaling",
|
|
983
|
+
"type": "boolean",
|
|
984
|
+
"required": false,
|
|
985
|
+
"description": "Include HPA resource (conditional on values.autoscaling.enabled)."
|
|
986
|
+
},
|
|
987
|
+
{
|
|
988
|
+
"name": "serviceAccount",
|
|
989
|
+
"type": "boolean",
|
|
990
|
+
"required": false,
|
|
991
|
+
"description": "Include ServiceAccount (conditional on values.serviceAccount.create)."
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"name": "appVersion",
|
|
995
|
+
"type": "string",
|
|
996
|
+
"required": false,
|
|
997
|
+
"description": "Chart appVersion."
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"name": "podSecurityContext",
|
|
1001
|
+
"type": "Record<string, unknown>",
|
|
1002
|
+
"required": false,
|
|
1003
|
+
"description": "Pod-level security context defaults."
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"name": "securityContext",
|
|
1007
|
+
"type": "Record<string, unknown>",
|
|
1008
|
+
"required": false,
|
|
1009
|
+
"description": "Container-level security context defaults."
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"name": "nodeSelector",
|
|
1013
|
+
"type": "Record<string, string>",
|
|
1014
|
+
"required": false,
|
|
1015
|
+
"description": "Node selector defaults."
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
"name": "tolerations",
|
|
1019
|
+
"type": "Array<Record<string, unknown>>",
|
|
1020
|
+
"required": false,
|
|
1021
|
+
"description": "Tolerations defaults."
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"name": "affinity",
|
|
1025
|
+
"type": "Record<string, unknown>",
|
|
1026
|
+
"required": false,
|
|
1027
|
+
"description": "Affinity defaults."
|
|
1028
|
+
},
|
|
1029
|
+
{
|
|
1030
|
+
"name": "podAnnotations",
|
|
1031
|
+
"type": "Record<string, string>",
|
|
1032
|
+
"required": false,
|
|
1033
|
+
"description": "Pod annotations defaults."
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
"name": "livenessProbe",
|
|
1037
|
+
"type": "Record<string, unknown>",
|
|
1038
|
+
"required": false,
|
|
1039
|
+
"description": "Liveness probe defaults."
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
"name": "readinessProbe",
|
|
1043
|
+
"type": "Record<string, unknown>",
|
|
1044
|
+
"required": false,
|
|
1045
|
+
"description": "Readiness probe defaults."
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"name": "strategy",
|
|
1049
|
+
"type": "Record<string, unknown>",
|
|
1050
|
+
"required": false,
|
|
1051
|
+
"description": "Deployment strategy defaults."
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
"name": "defaults",
|
|
1055
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; deployment?: Partial<Record<st...",
|
|
1056
|
+
"required": false,
|
|
1057
|
+
"description": "Per-member defaults."
|
|
1058
|
+
}
|
|
1059
|
+
]
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
"name": "HelmWorker",
|
|
1063
|
+
"lexicon": "helm",
|
|
1064
|
+
"description": "HelmWorker composite — Deployment (no Service) + ServiceAccount + optional HPA + PDB.",
|
|
1065
|
+
"bundles": [
|
|
1066
|
+
"Chart",
|
|
1067
|
+
"Deployment",
|
|
1068
|
+
"HPA",
|
|
1069
|
+
"PDB",
|
|
1070
|
+
"ServiceAccount",
|
|
1071
|
+
"Values"
|
|
1072
|
+
],
|
|
1073
|
+
"params": [
|
|
1074
|
+
{
|
|
1075
|
+
"name": "name",
|
|
1076
|
+
"type": "string",
|
|
1077
|
+
"required": true,
|
|
1078
|
+
"description": "Chart and release name."
|
|
1079
|
+
},
|
|
1080
|
+
{
|
|
1081
|
+
"name": "imageRepository",
|
|
1082
|
+
"type": "string",
|
|
1083
|
+
"required": false,
|
|
1084
|
+
"description": "Default container image repository."
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"name": "imageTag",
|
|
1088
|
+
"type": "string",
|
|
1089
|
+
"required": false,
|
|
1090
|
+
"description": "Default container image tag."
|
|
1091
|
+
},
|
|
1092
|
+
{
|
|
1093
|
+
"name": "replicas",
|
|
1094
|
+
"type": "number",
|
|
1095
|
+
"required": false,
|
|
1096
|
+
"description": "Default replica count."
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
"name": "autoscaling",
|
|
1100
|
+
"type": "boolean",
|
|
1101
|
+
"required": false,
|
|
1102
|
+
"description": "Include HPA (conditional)."
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"name": "pdb",
|
|
1106
|
+
"type": "boolean",
|
|
1107
|
+
"required": false,
|
|
1108
|
+
"description": "Include PDB."
|
|
1109
|
+
},
|
|
1110
|
+
{
|
|
1111
|
+
"name": "appVersion",
|
|
1112
|
+
"type": "string",
|
|
1113
|
+
"required": false,
|
|
1114
|
+
"description": "Chart appVersion."
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"name": "defaults",
|
|
1118
|
+
"type": "{ chart?: Partial<Record<string, unknown>>; values?: Partial<Record<string, unknown>>; deployment?: Partial<Record<st...",
|
|
1119
|
+
"required": false,
|
|
1120
|
+
"description": "Per-member defaults."
|
|
1121
|
+
}
|
|
1122
|
+
]
|
|
1123
|
+
}
|
|
1124
|
+
];
|
package/src/plugin.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Helm-specific intrinsics, lint rules, and post-synth checks.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import { compositeCatalog } from "./composites/catalog";
|
|
8
9
|
import type { LexiconPlugin, IntrinsicDef, InitTemplateSet } from "@intentius/chant/lexicon";
|
|
9
10
|
import type { CommandGroup } from "@intentius/chant/cli/command-group";
|
|
10
11
|
import { helmCommandGroup } from "./commands";
|
|
@@ -130,6 +131,10 @@ export const helmPlugin: LexiconPlugin = {
|
|
|
130
131
|
|
|
131
132
|
detectTemplate,
|
|
132
133
|
|
|
134
|
+
composites() {
|
|
135
|
+
return compositeCatalog;
|
|
136
|
+
},
|
|
137
|
+
|
|
133
138
|
mcpTools() {
|
|
134
139
|
return [createDiffTool(helmSerializer, "Compare current Helm chart build output against previous output", "helm")];
|
|
135
140
|
},
|