@intentius/chant-lexicon-helm 0.7.0 → 0.8.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.
Files changed (138) hide show
  1. package/dist/codegen/docs-cli.d.ts +3 -0
  2. package/dist/codegen/docs-cli.d.ts.map +1 -0
  3. package/dist/codegen/docs.d.ts +9 -0
  4. package/dist/codegen/docs.d.ts.map +1 -0
  5. package/dist/codegen/generate-cli.d.ts +6 -0
  6. package/dist/codegen/generate-cli.d.ts.map +1 -0
  7. package/dist/codegen/generate.d.ts +22 -0
  8. package/dist/codegen/generate.d.ts.map +1 -0
  9. package/dist/codegen/naming.d.ts +13 -0
  10. package/dist/codegen/naming.d.ts.map +1 -0
  11. package/dist/codegen/package.d.ts +11 -0
  12. package/dist/codegen/package.d.ts.map +1 -0
  13. package/dist/composites/helm-batch-job.d.ts +58 -0
  14. package/dist/composites/helm-batch-job.d.ts.map +1 -0
  15. package/dist/composites/helm-crd-lifecycle.d.ts +41 -0
  16. package/dist/composites/helm-crd-lifecycle.d.ts.map +1 -0
  17. package/dist/composites/helm-cron-job.d.ts +57 -0
  18. package/dist/composites/helm-cron-job.d.ts.map +1 -0
  19. package/dist/composites/helm-daemon-set.d.ts +42 -0
  20. package/dist/composites/helm-daemon-set.d.ts.map +1 -0
  21. package/dist/composites/helm-external-secret.d.ts +36 -0
  22. package/dist/composites/helm-external-secret.d.ts.map +1 -0
  23. package/dist/composites/helm-library.d.ts +33 -0
  24. package/dist/composites/helm-library.d.ts.map +1 -0
  25. package/dist/composites/helm-microservice.d.ts +69 -0
  26. package/dist/composites/helm-microservice.d.ts.map +1 -0
  27. package/dist/composites/helm-monitored-service.d.ts +64 -0
  28. package/dist/composites/helm-monitored-service.d.ts.map +1 -0
  29. package/dist/composites/helm-namespace-env.d.ts +38 -0
  30. package/dist/composites/helm-namespace-env.d.ts.map +1 -0
  31. package/dist/composites/helm-secure-ingress.d.ts +32 -0
  32. package/dist/composites/helm-secure-ingress.d.ts.map +1 -0
  33. package/dist/composites/helm-stateful-service.d.ts +61 -0
  34. package/dist/composites/helm-stateful-service.d.ts.map +1 -0
  35. package/dist/composites/helm-web-app.d.ts +67 -0
  36. package/dist/composites/helm-web-app.d.ts.map +1 -0
  37. package/dist/composites/helm-worker.d.ts +42 -0
  38. package/dist/composites/helm-worker.d.ts.map +1 -0
  39. package/dist/composites/index.d.ts +27 -0
  40. package/dist/composites/index.d.ts.map +1 -0
  41. package/dist/coverage.d.ts +14 -0
  42. package/dist/coverage.d.ts.map +1 -0
  43. package/dist/detect.d.ts +3 -0
  44. package/dist/detect.d.ts.map +1 -0
  45. package/dist/generated/index.d.ts +9 -0
  46. package/dist/generated/index.d.ts.map +1 -0
  47. package/dist/helpers.d.ts +17 -0
  48. package/dist/helpers.d.ts.map +1 -0
  49. package/dist/import/generator.d.ts +30 -0
  50. package/dist/import/generator.d.ts.map +1 -0
  51. package/dist/import/parser.d.ts +21 -0
  52. package/dist/import/parser.d.ts.map +1 -0
  53. package/dist/import/template-stripper.d.ts +40 -0
  54. package/dist/import/template-stripper.d.ts.map +1 -0
  55. package/dist/index.d.ts +22 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/integrity.json +2 -2
  58. package/dist/intrinsics.d.ts +260 -0
  59. package/dist/intrinsics.d.ts.map +1 -0
  60. package/dist/lint/post-synth/helm-helpers.d.ts +26 -0
  61. package/dist/lint/post-synth/helm-helpers.d.ts.map +1 -0
  62. package/dist/lint/post-synth/index.d.ts +3 -0
  63. package/dist/lint/post-synth/index.d.ts.map +1 -0
  64. package/dist/lint/post-synth/whm005-no-empty-wrapper.d.ts +14 -0
  65. package/dist/lint/post-synth/whm005-no-empty-wrapper.d.ts.map +1 -0
  66. package/dist/lint/post-synth/whm101.d.ts +6 -0
  67. package/dist/lint/post-synth/whm101.d.ts.map +1 -0
  68. package/dist/lint/post-synth/whm102.d.ts +6 -0
  69. package/dist/lint/post-synth/whm102.d.ts.map +1 -0
  70. package/dist/lint/post-synth/whm103.d.ts +6 -0
  71. package/dist/lint/post-synth/whm103.d.ts.map +1 -0
  72. package/dist/lint/post-synth/whm104.d.ts +6 -0
  73. package/dist/lint/post-synth/whm104.d.ts.map +1 -0
  74. package/dist/lint/post-synth/whm105.d.ts +6 -0
  75. package/dist/lint/post-synth/whm105.d.ts.map +1 -0
  76. package/dist/lint/post-synth/whm201.d.ts +6 -0
  77. package/dist/lint/post-synth/whm201.d.ts.map +1 -0
  78. package/dist/lint/post-synth/whm202.d.ts +6 -0
  79. package/dist/lint/post-synth/whm202.d.ts.map +1 -0
  80. package/dist/lint/post-synth/whm203.d.ts +10 -0
  81. package/dist/lint/post-synth/whm203.d.ts.map +1 -0
  82. package/dist/lint/post-synth/whm204.d.ts +6 -0
  83. package/dist/lint/post-synth/whm204.d.ts.map +1 -0
  84. package/dist/lint/post-synth/whm301.d.ts +6 -0
  85. package/dist/lint/post-synth/whm301.d.ts.map +1 -0
  86. package/dist/lint/post-synth/whm302.d.ts +6 -0
  87. package/dist/lint/post-synth/whm302.d.ts.map +1 -0
  88. package/dist/lint/post-synth/whm401.d.ts +9 -0
  89. package/dist/lint/post-synth/whm401.d.ts.map +1 -0
  90. package/dist/lint/post-synth/whm402.d.ts +9 -0
  91. package/dist/lint/post-synth/whm402.d.ts.map +1 -0
  92. package/dist/lint/post-synth/whm403.d.ts +9 -0
  93. package/dist/lint/post-synth/whm403.d.ts.map +1 -0
  94. package/dist/lint/post-synth/whm404.d.ts +6 -0
  95. package/dist/lint/post-synth/whm404.d.ts.map +1 -0
  96. package/dist/lint/post-synth/whm405.d.ts +9 -0
  97. package/dist/lint/post-synth/whm405.d.ts.map +1 -0
  98. package/dist/lint/post-synth/whm406.d.ts +8 -0
  99. package/dist/lint/post-synth/whm406.d.ts.map +1 -0
  100. package/dist/lint/post-synth/whm407.d.ts +9 -0
  101. package/dist/lint/post-synth/whm407.d.ts.map +1 -0
  102. package/dist/lint/post-synth/whm501.d.ts +10 -0
  103. package/dist/lint/post-synth/whm501.d.ts.map +1 -0
  104. package/dist/lint/post-synth/whm502.d.ts +9 -0
  105. package/dist/lint/post-synth/whm502.d.ts.map +1 -0
  106. package/dist/lint/rules/chart-metadata.d.ts +11 -0
  107. package/dist/lint/rules/chart-metadata.d.ts.map +1 -0
  108. package/dist/lint/rules/no-hardcoded-image.d.ts +14 -0
  109. package/dist/lint/rules/no-hardcoded-image.d.ts.map +1 -0
  110. package/dist/lint/rules/values-no-helm-tpl.d.ts +13 -0
  111. package/dist/lint/rules/values-no-helm-tpl.d.ts.map +1 -0
  112. package/dist/lint/rules/values-no-secrets.d.ts +13 -0
  113. package/dist/lint/rules/values-no-secrets.d.ts.map +1 -0
  114. package/dist/list-artifacts.d.ts +22 -0
  115. package/dist/list-artifacts.d.ts.map +1 -0
  116. package/dist/lsp/completions.d.ts +6 -0
  117. package/dist/lsp/completions.d.ts.map +1 -0
  118. package/dist/lsp/hover.d.ts +6 -0
  119. package/dist/lsp/hover.d.ts.map +1 -0
  120. package/dist/manifest.json +1 -1
  121. package/dist/package-cli.d.ts +6 -0
  122. package/dist/package-cli.d.ts.map +1 -0
  123. package/dist/plugin.d.ts +9 -0
  124. package/dist/plugin.d.ts.map +1 -0
  125. package/dist/render.d.ts +55 -0
  126. package/dist/render.d.ts.map +1 -0
  127. package/dist/resources.d.ts +102 -0
  128. package/dist/resources.d.ts.map +1 -0
  129. package/dist/serializer.d.ts +20 -0
  130. package/dist/serializer.d.ts.map +1 -0
  131. package/dist/validate-cli.d.ts +6 -0
  132. package/dist/validate-cli.d.ts.map +1 -0
  133. package/dist/validate.d.ts +15 -0
  134. package/dist/validate.d.ts.map +1 -0
  135. package/package.json +24 -5
  136. package/src/detect.ts +10 -0
  137. package/src/lint/post-synth/index.ts +47 -0
  138. package/src/plugin.ts +5 -12
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Helm template intrinsics.
3
+ *
4
+ * All intrinsics implement INTRINSIC_MARKER and produce `toJSON()` output
5
+ * containing `__helm_tpl` markers that the serializer detects and emits
6
+ * as raw Go template expressions instead of YAML-quoting them.
7
+ */
8
+ import { INTRINSIC_MARKER, type Intrinsic } from "@intentius/chant/intrinsic";
9
+ /** JSON marker key used by the serializer to detect Helm template expressions. */
10
+ export declare const HELM_TPL_KEY = "__helm_tpl";
11
+ /** JSON marker key for conditional resource wrappers. */
12
+ export declare const HELM_IF_KEY = "__helm_if";
13
+ /** JSON marker key for range loops. */
14
+ export declare const HELM_RANGE_KEY = "__helm_range";
15
+ /** JSON marker key for with scopes. */
16
+ export declare const HELM_WITH_KEY = "__helm_with";
17
+ /**
18
+ * Base class for all Helm template expressions.
19
+ *
20
+ * `toJSON()` returns `{ __helm_tpl: "{{ expr }}" }` which the serializer
21
+ * detects and emits as a raw Go template directive.
22
+ */
23
+ export declare class HelmTpl implements Intrinsic {
24
+ readonly [INTRINSIC_MARKER]: true;
25
+ readonly expr: string;
26
+ constructor(expr: string);
27
+ toJSON(): {
28
+ __helm_tpl: string;
29
+ };
30
+ /**
31
+ * Pipe this expression through a Go template function.
32
+ * `values.x.pipe("upper").pipe("quote")` → `{{ .Values.x | upper | quote }}`
33
+ */
34
+ pipe(fn: string): HelmTpl;
35
+ toString(): string;
36
+ }
37
+ /**
38
+ * Values proxy — the primary way to reference Helm values in templates.
39
+ *
40
+ * ```ts
41
+ * values.replicas // → {{ .Values.replicas }}
42
+ * values.image.tag // → {{ .Values.image.tag }}
43
+ * values.x.pipe("quote") // → {{ .Values.x | quote }}
44
+ * ```
45
+ */
46
+ export declare const values: Record<string, any>;
47
+ /**
48
+ * Release built-in object.
49
+ *
50
+ * `Release.Name` → `{{ .Release.Name }}`
51
+ */
52
+ export declare const Release: Record<string, HelmTpl>;
53
+ /**
54
+ * ChartRef built-in object (named ChartRef to avoid conflict with Chart resource).
55
+ *
56
+ * `ChartRef.Name` → `{{ .Chart.Name }}`
57
+ */
58
+ export declare const ChartRef: Record<string, HelmTpl>;
59
+ /**
60
+ * Capabilities built-in object — supports arbitrarily nested property access.
61
+ *
62
+ * `Capabilities.KubeVersion.Version` → `{{ .Capabilities.KubeVersion.Version }}`
63
+ * `Capabilities.APIVersions` → `{{ .Capabilities.APIVersions }}`
64
+ * `Capabilities.HelmVersion.Version` → `{{ .Capabilities.HelmVersion.Version }}`
65
+ */
66
+ export declare const Capabilities: Record<string, any>;
67
+ /**
68
+ * Template built-in object.
69
+ *
70
+ * `Template.Name` → `{{ .Template.Name }}`
71
+ * `Template.BasePath` → `{{ .Template.BasePath }}`
72
+ */
73
+ export declare const Template: Record<string, HelmTpl>;
74
+ /**
75
+ * `.Files.Get` — Read a file from the chart directory.
76
+ *
77
+ * `filesGet("config.ini")` → `{{ .Files.Get "config.ini" }}`
78
+ */
79
+ export declare function filesGet(path: string): HelmTpl;
80
+ /**
81
+ * `.Files.Glob` — Match files by glob pattern.
82
+ *
83
+ * `filesGlob("conf/*")` → `{{ .Files.Glob "conf/*" }}`
84
+ */
85
+ export declare function filesGlob(pattern: string): HelmTpl;
86
+ /**
87
+ * `.Files.Glob.AsConfig` — Render matched files as ConfigMap data.
88
+ *
89
+ * `filesAsConfig("conf/*")` → `{{ (.Files.Glob "conf/*").AsConfig }}`
90
+ */
91
+ export declare function filesAsConfig(pattern: string): HelmTpl;
92
+ /**
93
+ * `.Files.Glob.AsSecrets` — Render matched files as Secret data.
94
+ *
95
+ * `filesAsSecrets("conf/*")` → `{{ (.Files.Glob "conf/*").AsSecrets }}`
96
+ */
97
+ export declare function filesAsSecrets(pattern: string): HelmTpl;
98
+ /**
99
+ * `include` — Include a named template.
100
+ *
101
+ * `include("my-app.fullname")` → `{{ include "my-app.fullname" . }}`
102
+ */
103
+ export declare function include(name: string, ctx?: string): HelmTpl;
104
+ /**
105
+ * `required` — Require a value to be set.
106
+ *
107
+ * `required("msg", values.x)` → `{{ required "msg" .Values.x }}`
108
+ */
109
+ export declare function required(msg: string, val: HelmTpl): HelmTpl;
110
+ /**
111
+ * `helmDefault` — Provide a default value.
112
+ *
113
+ * `helmDefault("nginx", values.image.repository)` → `{{ default "nginx" .Values.image.repository }}`
114
+ */
115
+ export declare function helmDefault(def: string | number | boolean, val: HelmTpl): HelmTpl;
116
+ /**
117
+ * `toYaml` — Convert a value to YAML.
118
+ *
119
+ * `toYaml(values.resources)` → `{{ toYaml .Values.resources | nindent 12 }}`
120
+ */
121
+ export declare function toYaml(val: HelmTpl, indent?: number): HelmTpl;
122
+ /**
123
+ * `quote` — Quote a value.
124
+ *
125
+ * `quote(values.x)` → `{{ quote .Values.x }}`
126
+ */
127
+ export declare function quote(val: HelmTpl): HelmTpl;
128
+ /**
129
+ * `printf` — Format a string.
130
+ *
131
+ * `printf("%s:%s", values.image.repository, values.image.tag)`
132
+ * → `{{ printf "%s:%s" .Values.image.repository .Values.image.tag }}`
133
+ */
134
+ export declare function printf(fmt: string, ...args: (HelmTpl | string)[]): HelmTpl;
135
+ /**
136
+ * `tpl` — Evaluate a string as a template.
137
+ *
138
+ * `tpl(values.someTemplate)` → `{{ tpl .Values.someTemplate . }}`
139
+ */
140
+ export declare function tpl(template: HelmTpl, ctx?: string): HelmTpl;
141
+ /**
142
+ * `lookup` — Look up a resource at deploy time.
143
+ *
144
+ * `lookup("v1", "Secret", "ns", "name")` → `{{ lookup "v1" "Secret" "ns" "name" }}`
145
+ */
146
+ export declare function lookup(apiVersion: string, kind: string, namespace: string, name: string): HelmTpl;
147
+ /**
148
+ * Marker interface for conditional resource wrappers.
149
+ */
150
+ export interface HelmConditional extends Intrinsic {
151
+ readonly condition: string;
152
+ readonly body: unknown;
153
+ readonly elseBody?: unknown;
154
+ }
155
+ /**
156
+ * `If` — Conditional resource or value.
157
+ *
158
+ * When used at the resource level (wrapping a Declarable), the serializer
159
+ * wraps the entire YAML document in `{{- if }}` / `{{- end }}`.
160
+ *
161
+ * When used at the value level, it emits inline conditionals.
162
+ *
163
+ * ```ts
164
+ * If(values.ingress.enabled, new Ingress({ ... }))
165
+ * ```
166
+ */
167
+ export declare function If(condition: HelmTpl | string, then: unknown, elseBody?: unknown): HelmConditional & {
168
+ toJSON(): unknown;
169
+ };
170
+ /**
171
+ * `ElseIf` — Chained else-if condition for use inside an `If` else body.
172
+ *
173
+ * The serializer detects when an else body contains a `__helm_if` marker
174
+ * and emits `{{- else if <cond> }}` instead of a nested `{{- else }}\n{{- if }}`.
175
+ *
176
+ * ```ts
177
+ * If(values.tier, "gold",
178
+ * ElseIf(values.backup, "silver", "bronze"))
179
+ * ```
180
+ * → `{{- if .Values.tier }}gold{{- else if .Values.backup }}silver{{- else }}bronze{{- end }}`
181
+ */
182
+ export declare function ElseIf(condition: HelmTpl | string, then: unknown, elseBody?: unknown): {
183
+ toJSON(): unknown;
184
+ };
185
+ /**
186
+ * `Range` — Iterate over a list at deploy time.
187
+ *
188
+ * ```ts
189
+ * Range(values.hosts, (item) => ({ host: item }))
190
+ * ```
191
+ */
192
+ export declare function Range(list: HelmTpl, body: unknown): Intrinsic;
193
+ /**
194
+ * `With` — Scope into a value at deploy time.
195
+ *
196
+ * ```ts
197
+ * With(values.nodeSelector, (ctx) => ctx)
198
+ * ```
199
+ */
200
+ export declare function With(scope: HelmTpl, body: unknown): Intrinsic;
201
+ /**
202
+ * Helm hook annotations for resource ordering.
203
+ *
204
+ * Returns an annotation map for pre-install/pre-upgrade hooks
205
+ * with a numeric weight for ordering.
206
+ *
207
+ * Usage: `metadata: { annotations: { ...withOrder(1) } }`
208
+ */
209
+ export declare function withOrder(weight: number): Record<string, string>;
210
+ /**
211
+ * Argo CD sync wave annotation.
212
+ *
213
+ * Returns an annotation map with the Argo CD sync wave number.
214
+ *
215
+ * Usage: `metadata: { annotations: { ...argoWave(2) } }`
216
+ */
217
+ export declare function argoWave(wave: number): Record<string, string>;
218
+ /**
219
+ * JSON marker key used by the serializer to detect runtime slot placeholders.
220
+ * Distinguished from HelmTpl: RuntimeSlot appears in values.yaml as '' AND
221
+ * is collected into values-runtime-slots.yaml with its description as a comment.
222
+ */
223
+ export declare const RUNTIME_SLOT_KEY: "__runtime_slot";
224
+ /**
225
+ * A deploy-time value placeholder in a Values object.
226
+ *
227
+ * Marks fields that cannot be known at build time (DB IP, bucket name, etc.)
228
+ * and must be supplied via a `-f` override file when running `helm upgrade`.
229
+ *
230
+ * Two outputs are generated:
231
+ * - `values.yaml` — the field emits `''` (empty placeholder)
232
+ * - `values-runtime-slots.yaml` — lists only the RuntimeSlot fields with
233
+ * their descriptions as YAML comments, for use as a deploy-time checklist
234
+ *
235
+ * ```ts
236
+ * new Values({
237
+ * global: {
238
+ * psql: { host: runtimeSlot("Cloud SQL private IP") },
239
+ * }
240
+ * })
241
+ * ```
242
+ */
243
+ export declare class RuntimeSlot implements Intrinsic {
244
+ readonly [INTRINSIC_MARKER]: true;
245
+ readonly description: string;
246
+ constructor(description?: string);
247
+ toJSON(): {
248
+ [RUNTIME_SLOT_KEY]: string;
249
+ };
250
+ }
251
+ /**
252
+ * Mark a Values field as a deploy-time runtime slot.
253
+ *
254
+ * Emits `''` in values.yaml and generates an entry in values-runtime-slots.yaml.
255
+ *
256
+ * @param description Human-readable description of what to provide.
257
+ * Emitted as a YAML comment in values-runtime-slots.yaml.
258
+ */
259
+ export declare function runtimeSlot(description?: string): RuntimeSlot;
260
+ //# sourceMappingURL=intrinsics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../src/intrinsics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Shared helpers for Helm post-synth checks.
3
+ *
4
+ * Provides utilities to extract and parse the Helm chart files
5
+ * from the serializer's SerializerResult output.
6
+ */
7
+ import type { SerializerResult } from "@intentius/chant/serializer";
8
+ /**
9
+ * Extract the files map from a serializer output.
10
+ * Returns empty object if output is a plain string.
11
+ */
12
+ export declare function getChartFiles(output: string | SerializerResult): Record<string, string>;
13
+ /**
14
+ * Parse Chart.yaml content into key-value pairs.
15
+ * Lightweight parser — not a full YAML parser.
16
+ */
17
+ export declare function parseChartYaml(content: string): Record<string, string>;
18
+ /**
19
+ * Check if a string contains balanced Go template braces.
20
+ */
21
+ export declare function hasBalancedBraces(content: string): boolean;
22
+ /**
23
+ * Extract all Go template expressions from content.
24
+ */
25
+ export declare function extractTemplateExpressions(content: string): string[];
26
+ //# sourceMappingURL=helm-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm-helpers.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/helm-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGvF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAStE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAa1D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQpE"}
@@ -0,0 +1,3 @@
1
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
2
+ export declare const postSynthChecks: PostSynthCheck[];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAuBvE,eAAO,MAAM,eAAe,EAAE,cAAc,EAsB3C,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WHM005: Chart Has Sub-chart Dependencies But Generates No Templates
3
+ *
4
+ * A chart with HelmDependency entries but no templates/*.yaml files generates
5
+ * an empty templates/ directory. Deploying it requires `helm dependency build`
6
+ * as a non-obvious prerequisite.
7
+ *
8
+ * If you only need value overrides for an upstream chart, deploy it directly:
9
+ * helm upgrade upstream-chart -f values-override.yaml
10
+ * and use ValuesOverride to generate the override file.
11
+ */
12
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
13
+ export declare const whm005: PostSynthCheck;
14
+ //# sourceMappingURL=whm005-no-empty-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm005-no-empty-wrapper.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm005-no-empty-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAsCpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM101: Chart.yaml has required fields and valid apiVersion (v2).
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm101: PostSynthCheck;
6
+ //# sourceMappingURL=whm101.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm101.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm101.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAsCpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM102: values.schema.json present when Values type is used.
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm102: PostSynthCheck;
6
+ //# sourceMappingURL=whm102.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm102.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm102.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAyBpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM103: Go template syntax valid (balanced braces, valid function names).
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm103: PostSynthCheck;
6
+ //# sourceMappingURL=whm103.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm103.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm103.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AA2B9G,eAAO,MAAM,MAAM,EAAE,cA2BpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM104: NOTES.txt exists for application charts.
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm104: PostSynthCheck;
6
+ //# sourceMappingURL=whm104.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm104.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm104.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cA2BpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM105: _helpers.tpl exists.
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm105: PostSynthCheck;
6
+ //# sourceMappingURL=whm105.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm105.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm105.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAsBpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM201: Resources should have standard Helm labels.
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm201: PostSynthCheck;
6
+ //# sourceMappingURL=whm201.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm201.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm201.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cA4BpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM202: Hook weights should be defined for multi-hook charts.
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm202: PostSynthCheck;
6
+ //# sourceMappingURL=whm202.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm202.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm202.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cA0CpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WHM203: Values entries should be documented.
3
+ *
4
+ * Checks that values.yaml has YAML comments or that values.schema.json
5
+ * provides descriptions. Since Chant generates values.yaml from code,
6
+ * this check looks for values.schema.json as the documentation source.
7
+ */
8
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
9
+ export declare const whm203: PostSynthCheck;
10
+ //# sourceMappingURL=whm203.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm203.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm203.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cA2BpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM204: Dependencies should use semver ranges.
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm204: PostSynthCheck;
6
+ //# sourceMappingURL=whm204.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm204.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm204.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAK9G,eAAO,MAAM,MAAM,EAAE,cAkDpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM301: At least one test should be defined for application charts.
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm301: PostSynthCheck;
6
+ //# sourceMappingURL=whm301.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm301.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm301.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAiCpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM302: Resource limits should be set (via values or defaults).
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm302: PostSynthCheck;
6
+ //# sourceMappingURL=whm302.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm302.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm302.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAgCpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WHM401: Image uses `:latest` tag or no tag.
3
+ *
4
+ * Scans template `image:` lines for literal values (not `.Values` refs)
5
+ * ending in `:latest` or missing `:`.
6
+ */
7
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
+ export declare const whm401: PostSynthCheck;
9
+ //# sourceMappingURL=whm401.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm401.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm401.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cA8CpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WHM402: No `runAsNonRoot` security context.
3
+ *
4
+ * For files with `containers:`, checks for `runAsNonRoot: true` or
5
+ * a `.Values.securityContext` reference.
6
+ */
7
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
+ export declare const whm402: PostSynthCheck;
9
+ //# sourceMappingURL=whm402.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm402.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm402.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAkCpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WHM403: No `readOnlyRootFilesystem` security context.
3
+ *
4
+ * For files with `containers:`, checks for `readOnlyRootFilesystem: true`
5
+ * or a `.Values.securityContext` reference.
6
+ */
7
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
+ export declare const whm403: PostSynthCheck;
9
+ //# sourceMappingURL=whm403.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm403.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm403.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAkCpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WHM404: `privileged: true` found — security risk.
3
+ */
4
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
5
+ export declare const whm404: PostSynthCheck;
6
+ //# sourceMappingURL=whm404.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm404.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm404.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cA4BpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WHM405: Resource spec missing `cpu`/`memory` in `limits`/`requests`.
3
+ *
4
+ * When `resources:` is present (not via `.Values`), validates that
5
+ * sub-keys `limits` and `requests` with `cpu`/`memory` exist.
6
+ */
7
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
+ export declare const whm405: PostSynthCheck;
9
+ //# sourceMappingURL=whm405.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm405.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm405.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cA0CpB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * WHM406: Chart uses `crds/` directory — warn that Helm never upgrades/deletes CRDs.
3
+ *
4
+ * Suggests using `HelmCRDLifecycle` composite for managed CRD lifecycle.
5
+ */
6
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
7
+ export declare const whm406: PostSynthCheck;
8
+ //# sourceMappingURL=whm406.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm406.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm406.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAwBpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WHM407: `kind: Secret` with inline `data:` values and no ExternalSecret/SealedSecret.
3
+ *
4
+ * Warns when secrets contain inline data values (not `.Values` refs) and the chart
5
+ * does not use ExternalSecret or SealedSecret resources.
6
+ */
7
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
+ export declare const whm407: PostSynthCheck;
9
+ //# sourceMappingURL=whm407.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm407.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm407.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,MAAM,EAAE,cAwEpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WHM501: Unused values keys.
3
+ *
4
+ * Parses values.yaml key paths and scans all template files for
5
+ * `.Values.` references. Keys defined but never referenced produce
6
+ * an info diagnostic.
7
+ */
8
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
9
+ export declare const whm501: PostSynthCheck;
10
+ //# sourceMappingURL=whm501.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm501.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm501.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAuC9G,eAAO,MAAM,MAAM,EAAE,cAuDpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WHM502: K8s API version/kind validation.
3
+ *
4
+ * Checks for deprecated or invalid Kubernetes API versions in templates
5
+ * and suggests replacements.
6
+ */
7
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
8
+ export declare const whm502: PostSynthCheck;
9
+ //# sourceMappingURL=whm502.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whm502.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/whm502.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAiD9G,eAAO,MAAM,MAAM,EAAE,cAqCpB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WHM001: Chart Metadata Required
3
+ *
4
+ * Detects Chart constructors missing required fields: name, version, apiVersion.
5
+ *
6
+ * Bad: new Chart({})
7
+ * Good: new Chart({ apiVersion: "v2", name: "my-app", version: "0.1.0" })
8
+ */
9
+ import type { LintRule } from "@intentius/chant/lint/rule";
10
+ export declare const chartMetadataRule: LintRule;
11
+ //# sourceMappingURL=chart-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-metadata.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/chart-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,4BAA4B,CAAC;AAKxF,eAAO,MAAM,iBAAiB,EAAE,QAiD/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WHM003: Container Images Should Use Values References
3
+ *
4
+ * Detects container image strings that are hardcoded in K8s resource
5
+ * constructors instead of using values references. In Helm charts, images
6
+ * should be parameterized via values.yaml so they can be overridden at
7
+ * install time.
8
+ *
9
+ * Bad: image: "nginx:1.19"
10
+ * Good: image: printf("%s:%s", values.image.repository, values.image.tag)
11
+ */
12
+ import type { LintRule } from "@intentius/chant/lint/rule";
13
+ export declare const noHardcodedImageRule: LintRule;
14
+ //# sourceMappingURL=no-hardcoded-image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-hardcoded-image.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/no-hardcoded-image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,4BAA4B,CAAC;AASxF,eAAO,MAAM,oBAAoB,EAAE,QAwClC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * WHM004: HelmTpl Expression Has No Effect in Values Constructor
3
+ *
4
+ * Detects Values constructor props that use `v.xxx` (the `values` proxy)
5
+ * or any HelmTpl-like expression. values.yaml is static YAML — it is NOT
6
+ * processed as a Go template by Helm. These expressions silently become ''.
7
+ *
8
+ * Bad: new Values({ host: v.pgHost })
9
+ * Good: new Values({ host: runtimeSlot("Cloud SQL private IP") })
10
+ */
11
+ import type { LintRule } from "@intentius/chant/lint/rule";
12
+ export declare const valuesNoHelmTplRule: LintRule;
13
+ //# sourceMappingURL=values-no-helm-tpl.d.ts.map