kustodian 1.0.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 (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +346 -0
  3. package/dist/cli/bin.d.ts +3 -0
  4. package/dist/cli/bin.d.ts.map +1 -0
  5. package/dist/cli/bin.js +67 -0
  6. package/dist/cli/bin.js.map +1 -0
  7. package/dist/cli/command.d.ts +57 -0
  8. package/dist/cli/command.d.ts.map +1 -0
  9. package/dist/cli/command.js +26 -0
  10. package/dist/cli/command.js.map +1 -0
  11. package/dist/cli/commands/apply.d.ts +8 -0
  12. package/dist/cli/commands/apply.d.ts.map +1 -0
  13. package/dist/cli/commands/apply.js +802 -0
  14. package/dist/cli/commands/apply.js.map +1 -0
  15. package/dist/cli/commands/init.d.ts +5 -0
  16. package/dist/cli/commands/init.d.ts.map +1 -0
  17. package/dist/cli/commands/init.js +403 -0
  18. package/dist/cli/commands/init.js.map +1 -0
  19. package/dist/cli/commands/sources.d.ts +5 -0
  20. package/dist/cli/commands/sources.d.ts.map +1 -0
  21. package/dist/cli/commands/sources.js +377 -0
  22. package/dist/cli/commands/sources.js.map +1 -0
  23. package/dist/cli/commands/update.d.ts +5 -0
  24. package/dist/cli/commands/update.d.ts.map +1 -0
  25. package/dist/cli/commands/update.js +314 -0
  26. package/dist/cli/commands/update.js.map +1 -0
  27. package/dist/cli/commands/validate.d.ts +5 -0
  28. package/dist/cli/commands/validate.d.ts.map +1 -0
  29. package/dist/cli/commands/validate.js +126 -0
  30. package/dist/cli/commands/validate.js.map +1 -0
  31. package/dist/cli/container.d.ts +48 -0
  32. package/dist/cli/container.d.ts.map +1 -0
  33. package/dist/cli/container.js +49 -0
  34. package/dist/cli/container.js.map +1 -0
  35. package/dist/cli/index.d.ts +8 -0
  36. package/dist/cli/index.d.ts.map +1 -0
  37. package/dist/cli/index.js +9 -0
  38. package/dist/cli/index.js.map +1 -0
  39. package/dist/cli/middleware.d.ts +118 -0
  40. package/dist/cli/middleware.d.ts.map +1 -0
  41. package/dist/cli/middleware.js +280 -0
  42. package/dist/cli/middleware.js.map +1 -0
  43. package/dist/cli/runner.d.ts +34 -0
  44. package/dist/cli/runner.d.ts.map +1 -0
  45. package/dist/cli/runner.js +156 -0
  46. package/dist/cli/runner.js.map +1 -0
  47. package/dist/cli/utils/defaults.d.ts +23 -0
  48. package/dist/cli/utils/defaults.d.ts.map +1 -0
  49. package/dist/cli/utils/defaults.js +43 -0
  50. package/dist/cli/utils/defaults.js.map +1 -0
  51. package/dist/core/error.d.ts +117 -0
  52. package/dist/core/error.d.ts.map +1 -0
  53. package/dist/core/error.js +210 -0
  54. package/dist/core/error.js.map +1 -0
  55. package/dist/core/index.d.ts +6 -0
  56. package/dist/core/index.d.ts.map +1 -0
  57. package/dist/core/index.js +6 -0
  58. package/dist/core/index.js.map +1 -0
  59. package/dist/core/logger.d.ts +31 -0
  60. package/dist/core/logger.d.ts.map +1 -0
  61. package/dist/core/logger.js +78 -0
  62. package/dist/core/logger.js.map +1 -0
  63. package/dist/core/path.d.ts +57 -0
  64. package/dist/core/path.d.ts.map +1 -0
  65. package/dist/core/path.js +154 -0
  66. package/dist/core/path.js.map +1 -0
  67. package/dist/core/result.d.ts +80 -0
  68. package/dist/core/result.d.ts.map +1 -0
  69. package/dist/core/result.js +150 -0
  70. package/dist/core/result.js.map +1 -0
  71. package/dist/core/types.d.ts +80 -0
  72. package/dist/core/types.d.ts.map +1 -0
  73. package/dist/core/types.js +5 -0
  74. package/dist/core/types.js.map +1 -0
  75. package/dist/generator/external-substitutions.d.ts +21 -0
  76. package/dist/generator/external-substitutions.d.ts.map +1 -0
  77. package/dist/generator/external-substitutions.js +49 -0
  78. package/dist/generator/external-substitutions.js.map +1 -0
  79. package/dist/generator/flux.d.ts +61 -0
  80. package/dist/generator/flux.d.ts.map +1 -0
  81. package/dist/generator/flux.js +294 -0
  82. package/dist/generator/flux.js.map +1 -0
  83. package/dist/generator/generator.d.ts +77 -0
  84. package/dist/generator/generator.d.ts.map +1 -0
  85. package/dist/generator/generator.js +183 -0
  86. package/dist/generator/generator.js.map +1 -0
  87. package/dist/generator/index.d.ts +9 -0
  88. package/dist/generator/index.d.ts.map +1 -0
  89. package/dist/generator/index.js +9 -0
  90. package/dist/generator/index.js.map +1 -0
  91. package/dist/generator/kustomization-resolution.d.ts +40 -0
  92. package/dist/generator/kustomization-resolution.d.ts.map +1 -0
  93. package/dist/generator/kustomization-resolution.js +59 -0
  94. package/dist/generator/kustomization-resolution.js.map +1 -0
  95. package/dist/generator/namespace.d.ts +74 -0
  96. package/dist/generator/namespace.d.ts.map +1 -0
  97. package/dist/generator/namespace.js +109 -0
  98. package/dist/generator/namespace.js.map +1 -0
  99. package/dist/generator/output.d.ts +56 -0
  100. package/dist/generator/output.d.ts.map +1 -0
  101. package/dist/generator/output.js +171 -0
  102. package/dist/generator/output.js.map +1 -0
  103. package/dist/generator/preservation.d.ts +45 -0
  104. package/dist/generator/preservation.d.ts.map +1 -0
  105. package/dist/generator/preservation.js +71 -0
  106. package/dist/generator/preservation.js.map +1 -0
  107. package/dist/generator/substitution.d.ts +79 -0
  108. package/dist/generator/substitution.d.ts.map +1 -0
  109. package/dist/generator/substitution.js +210 -0
  110. package/dist/generator/substitution.js.map +1 -0
  111. package/dist/generator/types.d.ts +162 -0
  112. package/dist/generator/types.d.ts.map +1 -0
  113. package/dist/generator/types.js +2 -0
  114. package/dist/generator/types.js.map +1 -0
  115. package/dist/generator/validation/cycle-detection.d.ts +25 -0
  116. package/dist/generator/validation/cycle-detection.d.ts.map +1 -0
  117. package/dist/generator/validation/cycle-detection.js +101 -0
  118. package/dist/generator/validation/cycle-detection.js.map +1 -0
  119. package/dist/generator/validation/enablement.d.ts +24 -0
  120. package/dist/generator/validation/enablement.d.ts.map +1 -0
  121. package/dist/generator/validation/enablement.js +69 -0
  122. package/dist/generator/validation/enablement.js.map +1 -0
  123. package/dist/generator/validation/graph.d.ts +29 -0
  124. package/dist/generator/validation/graph.d.ts.map +1 -0
  125. package/dist/generator/validation/graph.js +106 -0
  126. package/dist/generator/validation/graph.js.map +1 -0
  127. package/dist/generator/validation/index.d.ts +38 -0
  128. package/dist/generator/validation/index.d.ts.map +1 -0
  129. package/dist/generator/validation/index.js +64 -0
  130. package/dist/generator/validation/index.js.map +1 -0
  131. package/dist/generator/validation/reference.d.ts +45 -0
  132. package/dist/generator/validation/reference.d.ts.map +1 -0
  133. package/dist/generator/validation/reference.js +143 -0
  134. package/dist/generator/validation/reference.js.map +1 -0
  135. package/dist/generator/validation/requirements.d.ts +25 -0
  136. package/dist/generator/validation/requirements.d.ts.map +1 -0
  137. package/dist/generator/validation/requirements.js +64 -0
  138. package/dist/generator/validation/requirements.js.map +1 -0
  139. package/dist/generator/validation/types.d.ts +116 -0
  140. package/dist/generator/validation/types.d.ts.map +1 -0
  141. package/dist/generator/validation/types.js +13 -0
  142. package/dist/generator/validation/types.js.map +1 -0
  143. package/dist/k8s/exec.d.ts +20 -0
  144. package/dist/k8s/exec.d.ts.map +1 -0
  145. package/dist/k8s/exec.js +47 -0
  146. package/dist/k8s/exec.js.map +1 -0
  147. package/dist/k8s/flux.d.ts +57 -0
  148. package/dist/k8s/flux.d.ts.map +1 -0
  149. package/dist/k8s/flux.js +202 -0
  150. package/dist/k8s/flux.js.map +1 -0
  151. package/dist/k8s/index.d.ts +6 -0
  152. package/dist/k8s/index.d.ts.map +1 -0
  153. package/dist/k8s/index.js +6 -0
  154. package/dist/k8s/index.js.map +1 -0
  155. package/dist/k8s/kubeconfig.d.ts +45 -0
  156. package/dist/k8s/kubeconfig.d.ts.map +1 -0
  157. package/dist/k8s/kubeconfig.js +152 -0
  158. package/dist/k8s/kubeconfig.js.map +1 -0
  159. package/dist/k8s/kubectl.d.ts +68 -0
  160. package/dist/k8s/kubectl.d.ts.map +1 -0
  161. package/dist/k8s/kubectl.js +187 -0
  162. package/dist/k8s/kubectl.js.map +1 -0
  163. package/dist/k8s/types.d.ts +65 -0
  164. package/dist/k8s/types.d.ts.map +1 -0
  165. package/dist/k8s/types.js +2 -0
  166. package/dist/k8s/types.js.map +1 -0
  167. package/dist/loader/file.d.ts +39 -0
  168. package/dist/loader/file.d.ts.map +1 -0
  169. package/dist/loader/file.js +121 -0
  170. package/dist/loader/file.js.map +1 -0
  171. package/dist/loader/index.d.ts +5 -0
  172. package/dist/loader/index.d.ts.map +1 -0
  173. package/dist/loader/index.js +5 -0
  174. package/dist/loader/index.js.map +1 -0
  175. package/dist/loader/profile.d.ts +23 -0
  176. package/dist/loader/profile.d.ts.map +1 -0
  177. package/dist/loader/profile.js +84 -0
  178. package/dist/loader/profile.js.map +1 -0
  179. package/dist/loader/project.d.ts +76 -0
  180. package/dist/loader/project.d.ts.map +1 -0
  181. package/dist/loader/project.js +279 -0
  182. package/dist/loader/project.js.map +1 -0
  183. package/dist/loader/yaml.d.ts +15 -0
  184. package/dist/loader/yaml.d.ts.map +1 -0
  185. package/dist/loader/yaml.js +44 -0
  186. package/dist/loader/yaml.js.map +1 -0
  187. package/dist/nodes/index.d.ts +5 -0
  188. package/dist/nodes/index.d.ts.map +1 -0
  189. package/dist/nodes/index.js +5 -0
  190. package/dist/nodes/index.js.map +1 -0
  191. package/dist/nodes/kubectl-labeler.d.ts +7 -0
  192. package/dist/nodes/kubectl-labeler.d.ts.map +1 -0
  193. package/dist/nodes/kubectl-labeler.js +89 -0
  194. package/dist/nodes/kubectl-labeler.js.map +1 -0
  195. package/dist/nodes/labeler.d.ts +74 -0
  196. package/dist/nodes/labeler.d.ts.map +1 -0
  197. package/dist/nodes/labeler.js +118 -0
  198. package/dist/nodes/labeler.js.map +1 -0
  199. package/dist/nodes/profile.d.ts +58 -0
  200. package/dist/nodes/profile.d.ts.map +1 -0
  201. package/dist/nodes/profile.js +128 -0
  202. package/dist/nodes/profile.js.map +1 -0
  203. package/dist/nodes/types.d.ts +84 -0
  204. package/dist/nodes/types.d.ts.map +1 -0
  205. package/dist/nodes/types.js +77 -0
  206. package/dist/nodes/types.js.map +1 -0
  207. package/dist/plugins/generators.d.ts +49 -0
  208. package/dist/plugins/generators.d.ts.map +1 -0
  209. package/dist/plugins/generators.js +7 -0
  210. package/dist/plugins/generators.js.map +1 -0
  211. package/dist/plugins/hooks.d.ts +120 -0
  212. package/dist/plugins/hooks.d.ts.map +1 -0
  213. package/dist/plugins/hooks.js +41 -0
  214. package/dist/plugins/hooks.js.map +1 -0
  215. package/dist/plugins/index.d.ts +8 -0
  216. package/dist/plugins/index.d.ts.map +1 -0
  217. package/dist/plugins/index.js +15 -0
  218. package/dist/plugins/index.js.map +1 -0
  219. package/dist/plugins/loader.d.ts +40 -0
  220. package/dist/plugins/loader.d.ts.map +1 -0
  221. package/dist/plugins/loader.js +236 -0
  222. package/dist/plugins/loader.js.map +1 -0
  223. package/dist/plugins/object-types.d.ts +71 -0
  224. package/dist/plugins/object-types.d.ts.map +1 -0
  225. package/dist/plugins/object-types.js +65 -0
  226. package/dist/plugins/object-types.js.map +1 -0
  227. package/dist/plugins/registry.d.ts +87 -0
  228. package/dist/plugins/registry.d.ts.map +1 -0
  229. package/dist/plugins/registry.js +158 -0
  230. package/dist/plugins/registry.js.map +1 -0
  231. package/dist/plugins/substitution-providers.d.ts +48 -0
  232. package/dist/plugins/substitution-providers.d.ts.map +1 -0
  233. package/dist/plugins/substitution-providers.js +2 -0
  234. package/dist/plugins/substitution-providers.js.map +1 -0
  235. package/dist/plugins/types.d.ts +288 -0
  236. package/dist/plugins/types.d.ts.map +1 -0
  237. package/dist/plugins/types.js +25 -0
  238. package/dist/plugins/types.js.map +1 -0
  239. package/dist/registry/auth.d.ts +14 -0
  240. package/dist/registry/auth.d.ts.map +1 -0
  241. package/dist/registry/auth.js +40 -0
  242. package/dist/registry/auth.js.map +1 -0
  243. package/dist/registry/client.d.ts +24 -0
  244. package/dist/registry/client.d.ts.map +1 -0
  245. package/dist/registry/client.js +85 -0
  246. package/dist/registry/client.js.map +1 -0
  247. package/dist/registry/dockerhub.d.ts +6 -0
  248. package/dist/registry/dockerhub.d.ts.map +1 -0
  249. package/dist/registry/dockerhub.js +91 -0
  250. package/dist/registry/dockerhub.js.map +1 -0
  251. package/dist/registry/ghcr.d.ts +6 -0
  252. package/dist/registry/ghcr.d.ts.map +1 -0
  253. package/dist/registry/ghcr.js +95 -0
  254. package/dist/registry/ghcr.js.map +1 -0
  255. package/dist/registry/helm.d.ts +11 -0
  256. package/dist/registry/helm.d.ts.map +1 -0
  257. package/dist/registry/helm.js +124 -0
  258. package/dist/registry/helm.js.map +1 -0
  259. package/dist/registry/index.d.ts +8 -0
  260. package/dist/registry/index.d.ts.map +1 -0
  261. package/dist/registry/index.js +12 -0
  262. package/dist/registry/index.js.map +1 -0
  263. package/dist/registry/types.d.ts +55 -0
  264. package/dist/registry/types.d.ts.map +1 -0
  265. package/dist/registry/types.js +2 -0
  266. package/dist/registry/types.js.map +1 -0
  267. package/dist/registry/version.d.ts +22 -0
  268. package/dist/registry/version.d.ts.map +1 -0
  269. package/dist/registry/version.js +62 -0
  270. package/dist/registry/version.js.map +1 -0
  271. package/dist/schema/cluster.d.ts +2890 -0
  272. package/dist/schema/cluster.d.ts.map +1 -0
  273. package/dist/schema/cluster.js +231 -0
  274. package/dist/schema/cluster.js.map +1 -0
  275. package/dist/schema/common.d.ts +1059 -0
  276. package/dist/schema/common.d.ts.map +1 -0
  277. package/dist/schema/common.js +340 -0
  278. package/dist/schema/common.js.map +1 -0
  279. package/dist/schema/index.d.ts +8 -0
  280. package/dist/schema/index.d.ts.map +1 -0
  281. package/dist/schema/index.js +8 -0
  282. package/dist/schema/index.js.map +1 -0
  283. package/dist/schema/node-list.d.ts +361 -0
  284. package/dist/schema/node-list.d.ts.map +1 -0
  285. package/dist/schema/node-list.js +104 -0
  286. package/dist/schema/node-list.js.map +1 -0
  287. package/dist/schema/profile.d.ts +166 -0
  288. package/dist/schema/profile.d.ts.map +1 -0
  289. package/dist/schema/profile.js +61 -0
  290. package/dist/schema/profile.js.map +1 -0
  291. package/dist/schema/project.d.ts +168 -0
  292. package/dist/schema/project.d.ts.map +1 -0
  293. package/dist/schema/project.js +40 -0
  294. package/dist/schema/project.js.map +1 -0
  295. package/dist/schema/sources.d.ts +338 -0
  296. package/dist/schema/sources.d.ts.map +1 -0
  297. package/dist/schema/sources.js +111 -0
  298. package/dist/schema/sources.js.map +1 -0
  299. package/dist/schema/template.d.ts +2711 -0
  300. package/dist/schema/template.d.ts.map +1 -0
  301. package/dist/schema/template.js +97 -0
  302. package/dist/schema/template.js.map +1 -0
  303. package/dist/sources/cache/index.d.ts +9 -0
  304. package/dist/sources/cache/index.d.ts.map +1 -0
  305. package/dist/sources/cache/index.js +278 -0
  306. package/dist/sources/cache/index.js.map +1 -0
  307. package/dist/sources/cache/metadata.d.ts +36 -0
  308. package/dist/sources/cache/metadata.d.ts.map +1 -0
  309. package/dist/sources/cache/metadata.js +21 -0
  310. package/dist/sources/cache/metadata.js.map +1 -0
  311. package/dist/sources/cache/ttl.d.ts +20 -0
  312. package/dist/sources/cache/ttl.d.ts.map +1 -0
  313. package/dist/sources/cache/ttl.js +53 -0
  314. package/dist/sources/cache/ttl.js.map +1 -0
  315. package/dist/sources/fetchers/git.d.ts +6 -0
  316. package/dist/sources/fetchers/git.d.ts.map +1 -0
  317. package/dist/sources/fetchers/git.js +165 -0
  318. package/dist/sources/fetchers/git.js.map +1 -0
  319. package/dist/sources/fetchers/http.d.ts +6 -0
  320. package/dist/sources/fetchers/http.d.ts.map +1 -0
  321. package/dist/sources/fetchers/http.js +159 -0
  322. package/dist/sources/fetchers/http.js.map +1 -0
  323. package/dist/sources/fetchers/index.d.ts +11 -0
  324. package/dist/sources/fetchers/index.d.ts.map +1 -0
  325. package/dist/sources/fetchers/index.js +24 -0
  326. package/dist/sources/fetchers/index.js.map +1 -0
  327. package/dist/sources/fetchers/oci.d.ts +6 -0
  328. package/dist/sources/fetchers/oci.d.ts.map +1 -0
  329. package/dist/sources/fetchers/oci.js +156 -0
  330. package/dist/sources/fetchers/oci.js.map +1 -0
  331. package/dist/sources/fetchers/types.d.ts +25 -0
  332. package/dist/sources/fetchers/types.d.ts.map +1 -0
  333. package/dist/sources/fetchers/types.js +2 -0
  334. package/dist/sources/fetchers/types.js.map +1 -0
  335. package/dist/sources/index.d.ts +6 -0
  336. package/dist/sources/index.d.ts.map +1 -0
  337. package/dist/sources/index.js +10 -0
  338. package/dist/sources/index.js.map +1 -0
  339. package/dist/sources/loader.d.ts +34 -0
  340. package/dist/sources/loader.d.ts.map +1 -0
  341. package/dist/sources/loader.js +89 -0
  342. package/dist/sources/loader.js.map +1 -0
  343. package/dist/sources/resolver.d.ts +17 -0
  344. package/dist/sources/resolver.d.ts.map +1 -0
  345. package/dist/sources/resolver.js +125 -0
  346. package/dist/sources/resolver.js.map +1 -0
  347. package/dist/sources/types.d.ts +151 -0
  348. package/dist/sources/types.d.ts.map +1 -0
  349. package/dist/sources/types.js +2 -0
  350. package/dist/sources/types.js.map +1 -0
  351. package/package.json +101 -0
@@ -0,0 +1,1059 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Common API version for all Kustodian resources.
4
+ */
5
+ export declare const api_version_schema: z.ZodLiteral<"kustodian.io/v1">;
6
+ /**
7
+ * Standard metadata for all Kustodian resources.
8
+ */
9
+ export declare const metadata_schema: z.ZodObject<{
10
+ name: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ name: string;
13
+ }, {
14
+ name: string;
15
+ }>;
16
+ export type MetadataType = z.infer<typeof metadata_schema>;
17
+ /**
18
+ * Health check configuration for waiting on resources.
19
+ */
20
+ export declare const health_check_schema: z.ZodObject<{
21
+ kind: z.ZodString;
22
+ name: z.ZodString;
23
+ namespace: z.ZodOptional<z.ZodString>;
24
+ api_version: z.ZodOptional<z.ZodString>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ name: string;
27
+ kind: string;
28
+ namespace?: string | undefined;
29
+ api_version?: string | undefined;
30
+ }, {
31
+ name: string;
32
+ kind: string;
33
+ namespace?: string | undefined;
34
+ api_version?: string | undefined;
35
+ }>;
36
+ export type HealthCheckType = z.infer<typeof health_check_schema>;
37
+ /**
38
+ * Health check expression configuration using CEL (Common Expression Language).
39
+ * Supports custom health check conditions via CEL expressions.
40
+ */
41
+ export declare const health_check_expr_schema: z.ZodObject<{
42
+ api_version: z.ZodString;
43
+ kind: z.ZodString;
44
+ namespace: z.ZodOptional<z.ZodString>;
45
+ /** CEL expression for when resource is healthy/current */
46
+ current: z.ZodOptional<z.ZodString>;
47
+ /** CEL expression for when resource has failed */
48
+ failed: z.ZodOptional<z.ZodString>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ kind: string;
51
+ api_version: string;
52
+ namespace?: string | undefined;
53
+ current?: string | undefined;
54
+ failed?: string | undefined;
55
+ }, {
56
+ kind: string;
57
+ api_version: string;
58
+ namespace?: string | undefined;
59
+ current?: string | undefined;
60
+ failed?: string | undefined;
61
+ }>;
62
+ export type HealthCheckExprType = z.infer<typeof health_check_expr_schema>;
63
+ /**
64
+ * Registry configuration for version substitutions.
65
+ */
66
+ export declare const registry_config_schema: z.ZodObject<{
67
+ /** Full image reference: registry/namespace/image or just namespace/image for Docker Hub */
68
+ image: z.ZodString;
69
+ /** Registry type for API selection */
70
+ type: z.ZodOptional<z.ZodEnum<["dockerhub", "ghcr"]>>;
71
+ }, "strip", z.ZodTypeAny, {
72
+ image: string;
73
+ type?: "dockerhub" | "ghcr" | undefined;
74
+ }, {
75
+ image: string;
76
+ type?: "dockerhub" | "ghcr" | undefined;
77
+ }>;
78
+ export type RegistryConfigType = z.infer<typeof registry_config_schema>;
79
+ /**
80
+ * Helm repository configuration for helm chart version substitutions.
81
+ * Supports both traditional Helm repositories and OCI registries.
82
+ */
83
+ export declare const helm_config_schema: z.ZodEffects<z.ZodObject<{
84
+ /** Helm chart repository URL (e.g., https://traefik.github.io/charts) */
85
+ repository: z.ZodOptional<z.ZodString>;
86
+ /** OCI registry URL for Helm charts (e.g., oci://ghcr.io/traefik/helm) */
87
+ oci: z.ZodOptional<z.ZodString>;
88
+ /** Chart name */
89
+ chart: z.ZodString;
90
+ }, "strip", z.ZodTypeAny, {
91
+ chart: string;
92
+ repository?: string | undefined;
93
+ oci?: string | undefined;
94
+ }, {
95
+ chart: string;
96
+ repository?: string | undefined;
97
+ oci?: string | undefined;
98
+ }>, {
99
+ chart: string;
100
+ repository?: string | undefined;
101
+ oci?: string | undefined;
102
+ }, {
103
+ chart: string;
104
+ repository?: string | undefined;
105
+ oci?: string | undefined;
106
+ }>;
107
+ export type HelmConfigType = z.infer<typeof helm_config_schema>;
108
+ /**
109
+ * Image version entry - tracks container image versions.
110
+ * Used in template spec.versions for shared version tracking.
111
+ */
112
+ export declare const image_version_entry_schema: z.ZodObject<{
113
+ name: z.ZodString;
114
+ default: z.ZodOptional<z.ZodString>;
115
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
116
+ constraint: z.ZodOptional<z.ZodString>;
117
+ /** Regex pattern for filtering valid tags */
118
+ tag_pattern: z.ZodOptional<z.ZodString>;
119
+ /** Exclude pre-release versions (default: true) */
120
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
121
+ } & {
122
+ registry: z.ZodObject<{
123
+ /** Full image reference: registry/namespace/image or just namespace/image for Docker Hub */
124
+ image: z.ZodString;
125
+ /** Registry type for API selection */
126
+ type: z.ZodOptional<z.ZodEnum<["dockerhub", "ghcr"]>>;
127
+ }, "strip", z.ZodTypeAny, {
128
+ image: string;
129
+ type?: "dockerhub" | "ghcr" | undefined;
130
+ }, {
131
+ image: string;
132
+ type?: "dockerhub" | "ghcr" | undefined;
133
+ }>;
134
+ }, "strip", z.ZodTypeAny, {
135
+ name: string;
136
+ registry: {
137
+ image: string;
138
+ type?: "dockerhub" | "ghcr" | undefined;
139
+ };
140
+ default?: string | undefined;
141
+ constraint?: string | undefined;
142
+ tag_pattern?: string | undefined;
143
+ exclude_prerelease?: boolean | undefined;
144
+ }, {
145
+ name: string;
146
+ registry: {
147
+ image: string;
148
+ type?: "dockerhub" | "ghcr" | undefined;
149
+ };
150
+ default?: string | undefined;
151
+ constraint?: string | undefined;
152
+ tag_pattern?: string | undefined;
153
+ exclude_prerelease?: boolean | undefined;
154
+ }>;
155
+ export type ImageVersionEntryType = z.infer<typeof image_version_entry_schema>;
156
+ /**
157
+ * Helm version entry - tracks Helm chart versions.
158
+ * Used in template spec.versions for shared version tracking.
159
+ */
160
+ export declare const helm_version_entry_schema: z.ZodObject<{
161
+ name: z.ZodString;
162
+ default: z.ZodOptional<z.ZodString>;
163
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
164
+ constraint: z.ZodOptional<z.ZodString>;
165
+ /** Regex pattern for filtering valid tags */
166
+ tag_pattern: z.ZodOptional<z.ZodString>;
167
+ /** Exclude pre-release versions (default: true) */
168
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
169
+ } & {
170
+ helm: z.ZodEffects<z.ZodObject<{
171
+ /** Helm chart repository URL (e.g., https://traefik.github.io/charts) */
172
+ repository: z.ZodOptional<z.ZodString>;
173
+ /** OCI registry URL for Helm charts (e.g., oci://ghcr.io/traefik/helm) */
174
+ oci: z.ZodOptional<z.ZodString>;
175
+ /** Chart name */
176
+ chart: z.ZodString;
177
+ }, "strip", z.ZodTypeAny, {
178
+ chart: string;
179
+ repository?: string | undefined;
180
+ oci?: string | undefined;
181
+ }, {
182
+ chart: string;
183
+ repository?: string | undefined;
184
+ oci?: string | undefined;
185
+ }>, {
186
+ chart: string;
187
+ repository?: string | undefined;
188
+ oci?: string | undefined;
189
+ }, {
190
+ chart: string;
191
+ repository?: string | undefined;
192
+ oci?: string | undefined;
193
+ }>;
194
+ }, "strip", z.ZodTypeAny, {
195
+ name: string;
196
+ helm: {
197
+ chart: string;
198
+ repository?: string | undefined;
199
+ oci?: string | undefined;
200
+ };
201
+ default?: string | undefined;
202
+ constraint?: string | undefined;
203
+ tag_pattern?: string | undefined;
204
+ exclude_prerelease?: boolean | undefined;
205
+ }, {
206
+ name: string;
207
+ helm: {
208
+ chart: string;
209
+ repository?: string | undefined;
210
+ oci?: string | undefined;
211
+ };
212
+ default?: string | undefined;
213
+ constraint?: string | undefined;
214
+ tag_pattern?: string | undefined;
215
+ exclude_prerelease?: boolean | undefined;
216
+ }>;
217
+ export type HelmVersionEntryType = z.infer<typeof helm_version_entry_schema>;
218
+ /**
219
+ * Version entry - either an image or helm version.
220
+ * Discriminated by presence of `registry` (image) vs `helm` (chart) field.
221
+ */
222
+ export declare const version_entry_schema: z.ZodUnion<[z.ZodObject<{
223
+ name: z.ZodString;
224
+ default: z.ZodOptional<z.ZodString>;
225
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
226
+ constraint: z.ZodOptional<z.ZodString>;
227
+ /** Regex pattern for filtering valid tags */
228
+ tag_pattern: z.ZodOptional<z.ZodString>;
229
+ /** Exclude pre-release versions (default: true) */
230
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
231
+ } & {
232
+ registry: z.ZodObject<{
233
+ /** Full image reference: registry/namespace/image or just namespace/image for Docker Hub */
234
+ image: z.ZodString;
235
+ /** Registry type for API selection */
236
+ type: z.ZodOptional<z.ZodEnum<["dockerhub", "ghcr"]>>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ image: string;
239
+ type?: "dockerhub" | "ghcr" | undefined;
240
+ }, {
241
+ image: string;
242
+ type?: "dockerhub" | "ghcr" | undefined;
243
+ }>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ name: string;
246
+ registry: {
247
+ image: string;
248
+ type?: "dockerhub" | "ghcr" | undefined;
249
+ };
250
+ default?: string | undefined;
251
+ constraint?: string | undefined;
252
+ tag_pattern?: string | undefined;
253
+ exclude_prerelease?: boolean | undefined;
254
+ }, {
255
+ name: string;
256
+ registry: {
257
+ image: string;
258
+ type?: "dockerhub" | "ghcr" | undefined;
259
+ };
260
+ default?: string | undefined;
261
+ constraint?: string | undefined;
262
+ tag_pattern?: string | undefined;
263
+ exclude_prerelease?: boolean | undefined;
264
+ }>, z.ZodObject<{
265
+ name: z.ZodString;
266
+ default: z.ZodOptional<z.ZodString>;
267
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
268
+ constraint: z.ZodOptional<z.ZodString>;
269
+ /** Regex pattern for filtering valid tags */
270
+ tag_pattern: z.ZodOptional<z.ZodString>;
271
+ /** Exclude pre-release versions (default: true) */
272
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
273
+ } & {
274
+ helm: z.ZodEffects<z.ZodObject<{
275
+ /** Helm chart repository URL (e.g., https://traefik.github.io/charts) */
276
+ repository: z.ZodOptional<z.ZodString>;
277
+ /** OCI registry URL for Helm charts (e.g., oci://ghcr.io/traefik/helm) */
278
+ oci: z.ZodOptional<z.ZodString>;
279
+ /** Chart name */
280
+ chart: z.ZodString;
281
+ }, "strip", z.ZodTypeAny, {
282
+ chart: string;
283
+ repository?: string | undefined;
284
+ oci?: string | undefined;
285
+ }, {
286
+ chart: string;
287
+ repository?: string | undefined;
288
+ oci?: string | undefined;
289
+ }>, {
290
+ chart: string;
291
+ repository?: string | undefined;
292
+ oci?: string | undefined;
293
+ }, {
294
+ chart: string;
295
+ repository?: string | undefined;
296
+ oci?: string | undefined;
297
+ }>;
298
+ }, "strip", z.ZodTypeAny, {
299
+ name: string;
300
+ helm: {
301
+ chart: string;
302
+ repository?: string | undefined;
303
+ oci?: string | undefined;
304
+ };
305
+ default?: string | undefined;
306
+ constraint?: string | undefined;
307
+ tag_pattern?: string | undefined;
308
+ exclude_prerelease?: boolean | undefined;
309
+ }, {
310
+ name: string;
311
+ helm: {
312
+ chart: string;
313
+ repository?: string | undefined;
314
+ oci?: string | undefined;
315
+ };
316
+ default?: string | undefined;
317
+ constraint?: string | undefined;
318
+ tag_pattern?: string | undefined;
319
+ exclude_prerelease?: boolean | undefined;
320
+ }>]>;
321
+ export type VersionEntryType = z.infer<typeof version_entry_schema>;
322
+ /**
323
+ * Type guard for image version entries.
324
+ */
325
+ export declare function is_image_version_entry(entry: VersionEntryType): entry is ImageVersionEntryType;
326
+ /**
327
+ * Type guard for helm version entries.
328
+ */
329
+ export declare function is_helm_version_entry(entry: VersionEntryType): entry is HelmVersionEntryType;
330
+ /**
331
+ * Generic substitution (backward compatible, default type).
332
+ */
333
+ export declare const generic_substitution_schema: z.ZodObject<{
334
+ type: z.ZodOptional<z.ZodLiteral<"generic">>;
335
+ name: z.ZodString;
336
+ default: z.ZodOptional<z.ZodString>;
337
+ secret: z.ZodOptional<z.ZodString>;
338
+ preserve_case: z.ZodOptional<z.ZodBoolean>;
339
+ }, "strip", z.ZodTypeAny, {
340
+ name: string;
341
+ type?: "generic" | undefined;
342
+ default?: string | undefined;
343
+ secret?: string | undefined;
344
+ preserve_case?: boolean | undefined;
345
+ }, {
346
+ name: string;
347
+ type?: "generic" | undefined;
348
+ default?: string | undefined;
349
+ secret?: string | undefined;
350
+ preserve_case?: boolean | undefined;
351
+ }>;
352
+ export type GenericSubstitutionType = z.infer<typeof generic_substitution_schema>;
353
+ /**
354
+ * Version substitution for tracking container image versions.
355
+ * Registry is optional for simple version substitutions that just use default values.
356
+ */
357
+ export declare const version_substitution_schema: z.ZodObject<{
358
+ type: z.ZodLiteral<"version">;
359
+ name: z.ZodString;
360
+ default: z.ZodOptional<z.ZodString>;
361
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
362
+ constraint: z.ZodOptional<z.ZodString>;
363
+ /** Registry configuration for fetching available versions (optional for simple substitutions) */
364
+ registry: z.ZodOptional<z.ZodObject<{
365
+ /** Full image reference: registry/namespace/image or just namespace/image for Docker Hub */
366
+ image: z.ZodString;
367
+ /** Registry type for API selection */
368
+ type: z.ZodOptional<z.ZodEnum<["dockerhub", "ghcr"]>>;
369
+ }, "strip", z.ZodTypeAny, {
370
+ image: string;
371
+ type?: "dockerhub" | "ghcr" | undefined;
372
+ }, {
373
+ image: string;
374
+ type?: "dockerhub" | "ghcr" | undefined;
375
+ }>>;
376
+ /** Regex pattern for filtering valid tags (default: semver-like) */
377
+ tag_pattern: z.ZodOptional<z.ZodString>;
378
+ /** Exclude pre-release versions (default: true) */
379
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
380
+ }, "strip", z.ZodTypeAny, {
381
+ name: string;
382
+ type: "version";
383
+ default?: string | undefined;
384
+ constraint?: string | undefined;
385
+ tag_pattern?: string | undefined;
386
+ exclude_prerelease?: boolean | undefined;
387
+ registry?: {
388
+ image: string;
389
+ type?: "dockerhub" | "ghcr" | undefined;
390
+ } | undefined;
391
+ }, {
392
+ name: string;
393
+ type: "version";
394
+ default?: string | undefined;
395
+ constraint?: string | undefined;
396
+ tag_pattern?: string | undefined;
397
+ exclude_prerelease?: boolean | undefined;
398
+ registry?: {
399
+ image: string;
400
+ type?: "dockerhub" | "ghcr" | undefined;
401
+ } | undefined;
402
+ }>;
403
+ export type VersionSubstitutionType = z.infer<typeof version_substitution_schema>;
404
+ /**
405
+ * Helm chart version substitution for tracking Helm chart versions.
406
+ * Helm config is optional for simple substitutions that just use default values.
407
+ */
408
+ export declare const helm_substitution_schema: z.ZodObject<{
409
+ type: z.ZodLiteral<"helm">;
410
+ name: z.ZodString;
411
+ default: z.ZodOptional<z.ZodString>;
412
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
413
+ constraint: z.ZodOptional<z.ZodString>;
414
+ /** Helm repository configuration for fetching available chart versions (optional for simple substitutions) */
415
+ helm: z.ZodOptional<z.ZodEffects<z.ZodObject<{
416
+ /** Helm chart repository URL (e.g., https://traefik.github.io/charts) */
417
+ repository: z.ZodOptional<z.ZodString>;
418
+ /** OCI registry URL for Helm charts (e.g., oci://ghcr.io/traefik/helm) */
419
+ oci: z.ZodOptional<z.ZodString>;
420
+ /** Chart name */
421
+ chart: z.ZodString;
422
+ }, "strip", z.ZodTypeAny, {
423
+ chart: string;
424
+ repository?: string | undefined;
425
+ oci?: string | undefined;
426
+ }, {
427
+ chart: string;
428
+ repository?: string | undefined;
429
+ oci?: string | undefined;
430
+ }>, {
431
+ chart: string;
432
+ repository?: string | undefined;
433
+ oci?: string | undefined;
434
+ }, {
435
+ chart: string;
436
+ repository?: string | undefined;
437
+ oci?: string | undefined;
438
+ }>>;
439
+ /** Regex pattern for filtering valid tags (default: semver-like) */
440
+ tag_pattern: z.ZodOptional<z.ZodString>;
441
+ /** Exclude pre-release versions (default: true) */
442
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
443
+ }, "strip", z.ZodTypeAny, {
444
+ name: string;
445
+ type: "helm";
446
+ default?: string | undefined;
447
+ constraint?: string | undefined;
448
+ tag_pattern?: string | undefined;
449
+ exclude_prerelease?: boolean | undefined;
450
+ helm?: {
451
+ chart: string;
452
+ repository?: string | undefined;
453
+ oci?: string | undefined;
454
+ } | undefined;
455
+ }, {
456
+ name: string;
457
+ type: "helm";
458
+ default?: string | undefined;
459
+ constraint?: string | undefined;
460
+ tag_pattern?: string | undefined;
461
+ exclude_prerelease?: boolean | undefined;
462
+ helm?: {
463
+ chart: string;
464
+ repository?: string | undefined;
465
+ oci?: string | undefined;
466
+ } | undefined;
467
+ }>;
468
+ export type HelmSubstitutionType = z.infer<typeof helm_substitution_schema>;
469
+ /**
470
+ * Namespace substitution with Kubernetes naming validation.
471
+ */
472
+ export declare const namespace_substitution_schema: z.ZodObject<{
473
+ type: z.ZodLiteral<"namespace">;
474
+ name: z.ZodString;
475
+ default: z.ZodOptional<z.ZodString>;
476
+ }, "strip", z.ZodTypeAny, {
477
+ name: string;
478
+ type: "namespace";
479
+ default?: string | undefined;
480
+ }, {
481
+ name: string;
482
+ type: "namespace";
483
+ default?: string | undefined;
484
+ }>;
485
+ export type NamespaceSubstitutionType = z.infer<typeof namespace_substitution_schema>;
486
+ /**
487
+ * 1Password substitution for fetching secrets from 1Password vaults.
488
+ * Uses the op:// secret reference format, or shorthand with cluster defaults.
489
+ */
490
+ export declare const onepassword_substitution_schema: z.ZodEffects<z.ZodObject<{
491
+ type: z.ZodLiteral<"1password">;
492
+ name: z.ZodString;
493
+ /** 1Password secret reference: op://vault/item[/section]/field, or shorthand item/field when vault is configured at cluster level */
494
+ ref: z.ZodOptional<z.ZodString>;
495
+ /** Item name (shorthand, requires cluster-level vault configuration) */
496
+ item: z.ZodOptional<z.ZodString>;
497
+ /** Field name (shorthand, requires cluster-level vault configuration) */
498
+ field: z.ZodOptional<z.ZodString>;
499
+ /** Section name (optional, for shorthand references) */
500
+ section: z.ZodOptional<z.ZodString>;
501
+ /** Optional default value if secret cannot be fetched */
502
+ default: z.ZodOptional<z.ZodString>;
503
+ }, "strip", z.ZodTypeAny, {
504
+ name: string;
505
+ type: "1password";
506
+ default?: string | undefined;
507
+ ref?: string | undefined;
508
+ item?: string | undefined;
509
+ field?: string | undefined;
510
+ section?: string | undefined;
511
+ }, {
512
+ name: string;
513
+ type: "1password";
514
+ default?: string | undefined;
515
+ ref?: string | undefined;
516
+ item?: string | undefined;
517
+ field?: string | undefined;
518
+ section?: string | undefined;
519
+ }>, {
520
+ name: string;
521
+ type: "1password";
522
+ default?: string | undefined;
523
+ ref?: string | undefined;
524
+ item?: string | undefined;
525
+ field?: string | undefined;
526
+ section?: string | undefined;
527
+ }, {
528
+ name: string;
529
+ type: "1password";
530
+ default?: string | undefined;
531
+ ref?: string | undefined;
532
+ item?: string | undefined;
533
+ field?: string | undefined;
534
+ section?: string | undefined;
535
+ }>;
536
+ export type OnePasswordSubstitutionType = z.infer<typeof onepassword_substitution_schema>;
537
+ /**
538
+ * Doppler substitution for fetching secrets from Doppler projects.
539
+ * Project and config can be omitted if configured at cluster level.
540
+ */
541
+ export declare const doppler_substitution_schema: z.ZodObject<{
542
+ type: z.ZodLiteral<"doppler">;
543
+ name: z.ZodString;
544
+ /** Doppler project name (optional if configured at cluster level) */
545
+ project: z.ZodOptional<z.ZodString>;
546
+ /** Doppler config name (optional if configured at cluster level, e.g., 'dev', 'stg', 'prd') */
547
+ config: z.ZodOptional<z.ZodString>;
548
+ /** Secret key name in Doppler */
549
+ secret: z.ZodString;
550
+ /** Optional default value if secret cannot be fetched */
551
+ default: z.ZodOptional<z.ZodString>;
552
+ }, "strip", z.ZodTypeAny, {
553
+ name: string;
554
+ type: "doppler";
555
+ secret: string;
556
+ default?: string | undefined;
557
+ project?: string | undefined;
558
+ config?: string | undefined;
559
+ }, {
560
+ name: string;
561
+ type: "doppler";
562
+ secret: string;
563
+ default?: string | undefined;
564
+ project?: string | undefined;
565
+ config?: string | undefined;
566
+ }>;
567
+ export type DopplerSubstitutionType = z.infer<typeof doppler_substitution_schema>;
568
+ /**
569
+ * Core substitution types provided by Kustodian.
570
+ * These are always validated by the schema.
571
+ */
572
+ export declare const core_substitution_schema: z.ZodUnion<[z.ZodObject<{
573
+ type: z.ZodLiteral<"version">;
574
+ name: z.ZodString;
575
+ default: z.ZodOptional<z.ZodString>;
576
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
577
+ constraint: z.ZodOptional<z.ZodString>;
578
+ /** Registry configuration for fetching available versions (optional for simple substitutions) */
579
+ registry: z.ZodOptional<z.ZodObject<{
580
+ /** Full image reference: registry/namespace/image or just namespace/image for Docker Hub */
581
+ image: z.ZodString;
582
+ /** Registry type for API selection */
583
+ type: z.ZodOptional<z.ZodEnum<["dockerhub", "ghcr"]>>;
584
+ }, "strip", z.ZodTypeAny, {
585
+ image: string;
586
+ type?: "dockerhub" | "ghcr" | undefined;
587
+ }, {
588
+ image: string;
589
+ type?: "dockerhub" | "ghcr" | undefined;
590
+ }>>;
591
+ /** Regex pattern for filtering valid tags (default: semver-like) */
592
+ tag_pattern: z.ZodOptional<z.ZodString>;
593
+ /** Exclude pre-release versions (default: true) */
594
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
595
+ }, "strip", z.ZodTypeAny, {
596
+ name: string;
597
+ type: "version";
598
+ default?: string | undefined;
599
+ constraint?: string | undefined;
600
+ tag_pattern?: string | undefined;
601
+ exclude_prerelease?: boolean | undefined;
602
+ registry?: {
603
+ image: string;
604
+ type?: "dockerhub" | "ghcr" | undefined;
605
+ } | undefined;
606
+ }, {
607
+ name: string;
608
+ type: "version";
609
+ default?: string | undefined;
610
+ constraint?: string | undefined;
611
+ tag_pattern?: string | undefined;
612
+ exclude_prerelease?: boolean | undefined;
613
+ registry?: {
614
+ image: string;
615
+ type?: "dockerhub" | "ghcr" | undefined;
616
+ } | undefined;
617
+ }>, z.ZodObject<{
618
+ type: z.ZodLiteral<"helm">;
619
+ name: z.ZodString;
620
+ default: z.ZodOptional<z.ZodString>;
621
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
622
+ constraint: z.ZodOptional<z.ZodString>;
623
+ /** Helm repository configuration for fetching available chart versions (optional for simple substitutions) */
624
+ helm: z.ZodOptional<z.ZodEffects<z.ZodObject<{
625
+ /** Helm chart repository URL (e.g., https://traefik.github.io/charts) */
626
+ repository: z.ZodOptional<z.ZodString>;
627
+ /** OCI registry URL for Helm charts (e.g., oci://ghcr.io/traefik/helm) */
628
+ oci: z.ZodOptional<z.ZodString>;
629
+ /** Chart name */
630
+ chart: z.ZodString;
631
+ }, "strip", z.ZodTypeAny, {
632
+ chart: string;
633
+ repository?: string | undefined;
634
+ oci?: string | undefined;
635
+ }, {
636
+ chart: string;
637
+ repository?: string | undefined;
638
+ oci?: string | undefined;
639
+ }>, {
640
+ chart: string;
641
+ repository?: string | undefined;
642
+ oci?: string | undefined;
643
+ }, {
644
+ chart: string;
645
+ repository?: string | undefined;
646
+ oci?: string | undefined;
647
+ }>>;
648
+ /** Regex pattern for filtering valid tags (default: semver-like) */
649
+ tag_pattern: z.ZodOptional<z.ZodString>;
650
+ /** Exclude pre-release versions (default: true) */
651
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
652
+ }, "strip", z.ZodTypeAny, {
653
+ name: string;
654
+ type: "helm";
655
+ default?: string | undefined;
656
+ constraint?: string | undefined;
657
+ tag_pattern?: string | undefined;
658
+ exclude_prerelease?: boolean | undefined;
659
+ helm?: {
660
+ chart: string;
661
+ repository?: string | undefined;
662
+ oci?: string | undefined;
663
+ } | undefined;
664
+ }, {
665
+ name: string;
666
+ type: "helm";
667
+ default?: string | undefined;
668
+ constraint?: string | undefined;
669
+ tag_pattern?: string | undefined;
670
+ exclude_prerelease?: boolean | undefined;
671
+ helm?: {
672
+ chart: string;
673
+ repository?: string | undefined;
674
+ oci?: string | undefined;
675
+ } | undefined;
676
+ }>, z.ZodObject<{
677
+ type: z.ZodLiteral<"namespace">;
678
+ name: z.ZodString;
679
+ default: z.ZodOptional<z.ZodString>;
680
+ }, "strip", z.ZodTypeAny, {
681
+ name: string;
682
+ type: "namespace";
683
+ default?: string | undefined;
684
+ }, {
685
+ name: string;
686
+ type: "namespace";
687
+ default?: string | undefined;
688
+ }>, z.ZodObject<{
689
+ type: z.ZodOptional<z.ZodLiteral<"generic">>;
690
+ name: z.ZodString;
691
+ default: z.ZodOptional<z.ZodString>;
692
+ secret: z.ZodOptional<z.ZodString>;
693
+ preserve_case: z.ZodOptional<z.ZodBoolean>;
694
+ }, "strip", z.ZodTypeAny, {
695
+ name: string;
696
+ type?: "generic" | undefined;
697
+ default?: string | undefined;
698
+ secret?: string | undefined;
699
+ preserve_case?: boolean | undefined;
700
+ }, {
701
+ name: string;
702
+ type?: "generic" | undefined;
703
+ default?: string | undefined;
704
+ secret?: string | undefined;
705
+ preserve_case?: boolean | undefined;
706
+ }>]>;
707
+ /**
708
+ * Plugin-provided substitution types.
709
+ * Plugins can register custom types (e.g., 'sops', 'vault', 'aws-secrets').
710
+ * Schema validation is delegated to the plugin's substitution provider.
711
+ */
712
+ export declare const plugin_substitution_schema: z.ZodEffects<z.ZodObject<{
713
+ type: z.ZodString;
714
+ name: z.ZodString;
715
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
716
+ type: z.ZodString;
717
+ name: z.ZodString;
718
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
719
+ type: z.ZodString;
720
+ name: z.ZodString;
721
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
722
+ type: z.ZodString;
723
+ name: z.ZodString;
724
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
725
+ type: z.ZodString;
726
+ name: z.ZodString;
727
+ }, z.ZodTypeAny, "passthrough">>;
728
+ /**
729
+ * Union of all substitution types.
730
+ * Includes core types (version, helm, namespace, generic) plus plugin-provided types.
731
+ * Also includes Doppler and 1Password for backward compatibility (will be migrated to plugins).
732
+ *
733
+ * Supports backward compatibility: substitutions without 'type' are treated as generic.
734
+ */
735
+ export declare const substitution_schema: z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
736
+ type: z.ZodLiteral<"version">;
737
+ name: z.ZodString;
738
+ default: z.ZodOptional<z.ZodString>;
739
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
740
+ constraint: z.ZodOptional<z.ZodString>;
741
+ /** Registry configuration for fetching available versions (optional for simple substitutions) */
742
+ registry: z.ZodOptional<z.ZodObject<{
743
+ /** Full image reference: registry/namespace/image or just namespace/image for Docker Hub */
744
+ image: z.ZodString;
745
+ /** Registry type for API selection */
746
+ type: z.ZodOptional<z.ZodEnum<["dockerhub", "ghcr"]>>;
747
+ }, "strip", z.ZodTypeAny, {
748
+ image: string;
749
+ type?: "dockerhub" | "ghcr" | undefined;
750
+ }, {
751
+ image: string;
752
+ type?: "dockerhub" | "ghcr" | undefined;
753
+ }>>;
754
+ /** Regex pattern for filtering valid tags (default: semver-like) */
755
+ tag_pattern: z.ZodOptional<z.ZodString>;
756
+ /** Exclude pre-release versions (default: true) */
757
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
758
+ }, "strip", z.ZodTypeAny, {
759
+ name: string;
760
+ type: "version";
761
+ default?: string | undefined;
762
+ constraint?: string | undefined;
763
+ tag_pattern?: string | undefined;
764
+ exclude_prerelease?: boolean | undefined;
765
+ registry?: {
766
+ image: string;
767
+ type?: "dockerhub" | "ghcr" | undefined;
768
+ } | undefined;
769
+ }, {
770
+ name: string;
771
+ type: "version";
772
+ default?: string | undefined;
773
+ constraint?: string | undefined;
774
+ tag_pattern?: string | undefined;
775
+ exclude_prerelease?: boolean | undefined;
776
+ registry?: {
777
+ image: string;
778
+ type?: "dockerhub" | "ghcr" | undefined;
779
+ } | undefined;
780
+ }>, z.ZodObject<{
781
+ type: z.ZodLiteral<"helm">;
782
+ name: z.ZodString;
783
+ default: z.ZodOptional<z.ZodString>;
784
+ /** Semver constraint: ^1.0.0, ~2.3.0, >=1.0.0 <2.0.0 */
785
+ constraint: z.ZodOptional<z.ZodString>;
786
+ /** Helm repository configuration for fetching available chart versions (optional for simple substitutions) */
787
+ helm: z.ZodOptional<z.ZodEffects<z.ZodObject<{
788
+ /** Helm chart repository URL (e.g., https://traefik.github.io/charts) */
789
+ repository: z.ZodOptional<z.ZodString>;
790
+ /** OCI registry URL for Helm charts (e.g., oci://ghcr.io/traefik/helm) */
791
+ oci: z.ZodOptional<z.ZodString>;
792
+ /** Chart name */
793
+ chart: z.ZodString;
794
+ }, "strip", z.ZodTypeAny, {
795
+ chart: string;
796
+ repository?: string | undefined;
797
+ oci?: string | undefined;
798
+ }, {
799
+ chart: string;
800
+ repository?: string | undefined;
801
+ oci?: string | undefined;
802
+ }>, {
803
+ chart: string;
804
+ repository?: string | undefined;
805
+ oci?: string | undefined;
806
+ }, {
807
+ chart: string;
808
+ repository?: string | undefined;
809
+ oci?: string | undefined;
810
+ }>>;
811
+ /** Regex pattern for filtering valid tags (default: semver-like) */
812
+ tag_pattern: z.ZodOptional<z.ZodString>;
813
+ /** Exclude pre-release versions (default: true) */
814
+ exclude_prerelease: z.ZodOptional<z.ZodBoolean>;
815
+ }, "strip", z.ZodTypeAny, {
816
+ name: string;
817
+ type: "helm";
818
+ default?: string | undefined;
819
+ constraint?: string | undefined;
820
+ tag_pattern?: string | undefined;
821
+ exclude_prerelease?: boolean | undefined;
822
+ helm?: {
823
+ chart: string;
824
+ repository?: string | undefined;
825
+ oci?: string | undefined;
826
+ } | undefined;
827
+ }, {
828
+ name: string;
829
+ type: "helm";
830
+ default?: string | undefined;
831
+ constraint?: string | undefined;
832
+ tag_pattern?: string | undefined;
833
+ exclude_prerelease?: boolean | undefined;
834
+ helm?: {
835
+ chart: string;
836
+ repository?: string | undefined;
837
+ oci?: string | undefined;
838
+ } | undefined;
839
+ }>, z.ZodObject<{
840
+ type: z.ZodLiteral<"namespace">;
841
+ name: z.ZodString;
842
+ default: z.ZodOptional<z.ZodString>;
843
+ }, "strip", z.ZodTypeAny, {
844
+ name: string;
845
+ type: "namespace";
846
+ default?: string | undefined;
847
+ }, {
848
+ name: string;
849
+ type: "namespace";
850
+ default?: string | undefined;
851
+ }>, z.ZodObject<{
852
+ type: z.ZodOptional<z.ZodLiteral<"generic">>;
853
+ name: z.ZodString;
854
+ default: z.ZodOptional<z.ZodString>;
855
+ secret: z.ZodOptional<z.ZodString>;
856
+ preserve_case: z.ZodOptional<z.ZodBoolean>;
857
+ }, "strip", z.ZodTypeAny, {
858
+ name: string;
859
+ type?: "generic" | undefined;
860
+ default?: string | undefined;
861
+ secret?: string | undefined;
862
+ preserve_case?: boolean | undefined;
863
+ }, {
864
+ name: string;
865
+ type?: "generic" | undefined;
866
+ default?: string | undefined;
867
+ secret?: string | undefined;
868
+ preserve_case?: boolean | undefined;
869
+ }>]>, z.ZodEffects<z.ZodObject<{
870
+ type: z.ZodLiteral<"1password">;
871
+ name: z.ZodString;
872
+ /** 1Password secret reference: op://vault/item[/section]/field, or shorthand item/field when vault is configured at cluster level */
873
+ ref: z.ZodOptional<z.ZodString>;
874
+ /** Item name (shorthand, requires cluster-level vault configuration) */
875
+ item: z.ZodOptional<z.ZodString>;
876
+ /** Field name (shorthand, requires cluster-level vault configuration) */
877
+ field: z.ZodOptional<z.ZodString>;
878
+ /** Section name (optional, for shorthand references) */
879
+ section: z.ZodOptional<z.ZodString>;
880
+ /** Optional default value if secret cannot be fetched */
881
+ default: z.ZodOptional<z.ZodString>;
882
+ }, "strip", z.ZodTypeAny, {
883
+ name: string;
884
+ type: "1password";
885
+ default?: string | undefined;
886
+ ref?: string | undefined;
887
+ item?: string | undefined;
888
+ field?: string | undefined;
889
+ section?: string | undefined;
890
+ }, {
891
+ name: string;
892
+ type: "1password";
893
+ default?: string | undefined;
894
+ ref?: string | undefined;
895
+ item?: string | undefined;
896
+ field?: string | undefined;
897
+ section?: string | undefined;
898
+ }>, {
899
+ name: string;
900
+ type: "1password";
901
+ default?: string | undefined;
902
+ ref?: string | undefined;
903
+ item?: string | undefined;
904
+ field?: string | undefined;
905
+ section?: string | undefined;
906
+ }, {
907
+ name: string;
908
+ type: "1password";
909
+ default?: string | undefined;
910
+ ref?: string | undefined;
911
+ item?: string | undefined;
912
+ field?: string | undefined;
913
+ section?: string | undefined;
914
+ }>, z.ZodObject<{
915
+ type: z.ZodLiteral<"doppler">;
916
+ name: z.ZodString;
917
+ /** Doppler project name (optional if configured at cluster level) */
918
+ project: z.ZodOptional<z.ZodString>;
919
+ /** Doppler config name (optional if configured at cluster level, e.g., 'dev', 'stg', 'prd') */
920
+ config: z.ZodOptional<z.ZodString>;
921
+ /** Secret key name in Doppler */
922
+ secret: z.ZodString;
923
+ /** Optional default value if secret cannot be fetched */
924
+ default: z.ZodOptional<z.ZodString>;
925
+ }, "strip", z.ZodTypeAny, {
926
+ name: string;
927
+ type: "doppler";
928
+ secret: string;
929
+ default?: string | undefined;
930
+ project?: string | undefined;
931
+ config?: string | undefined;
932
+ }, {
933
+ name: string;
934
+ type: "doppler";
935
+ secret: string;
936
+ default?: string | undefined;
937
+ project?: string | undefined;
938
+ config?: string | undefined;
939
+ }>, z.ZodEffects<z.ZodObject<{
940
+ type: z.ZodString;
941
+ name: z.ZodString;
942
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
943
+ type: z.ZodString;
944
+ name: z.ZodString;
945
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
946
+ type: z.ZodString;
947
+ name: z.ZodString;
948
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
949
+ type: z.ZodString;
950
+ name: z.ZodString;
951
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
952
+ type: z.ZodString;
953
+ name: z.ZodString;
954
+ }, z.ZodTypeAny, "passthrough">>]>;
955
+ export type SubstitutionType = z.infer<typeof substitution_schema>;
956
+ /**
957
+ * Type guard for version substitutions.
958
+ */
959
+ export declare function is_version_substitution(sub: SubstitutionType): sub is VersionSubstitutionType;
960
+ /**
961
+ * Type guard for helm substitutions.
962
+ */
963
+ export declare function is_helm_substitution(sub: SubstitutionType): sub is HelmSubstitutionType;
964
+ /**
965
+ * Type guard for namespace substitutions.
966
+ */
967
+ export declare function is_namespace_substitution(sub: SubstitutionType): sub is NamespaceSubstitutionType;
968
+ /**
969
+ * Type guard for generic substitutions.
970
+ */
971
+ export declare function is_generic_substitution(sub: SubstitutionType): sub is GenericSubstitutionType;
972
+ /**
973
+ * Type guard for 1Password substitutions.
974
+ */
975
+ export declare function is_onepassword_substitution(sub: SubstitutionType): sub is OnePasswordSubstitutionType;
976
+ /**
977
+ * Type guard for Doppler substitutions.
978
+ */
979
+ export declare function is_doppler_substitution(sub: SubstitutionType): sub is DopplerSubstitutionType;
980
+ /**
981
+ * Type guard for plugin-provided substitutions.
982
+ * Returns true if the substitution type is not a core type (version, helm, namespace, generic)
983
+ * and not a legacy type (1password, doppler).
984
+ */
985
+ export declare function is_plugin_substitution(sub: SubstitutionType): boolean;
986
+ /**
987
+ * Namespace configuration with fallback behavior.
988
+ */
989
+ export declare const namespace_config_schema: z.ZodObject<{
990
+ default: z.ZodString;
991
+ create: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
992
+ }, "strip", z.ZodTypeAny, {
993
+ default: string;
994
+ create: boolean;
995
+ }, {
996
+ default: string;
997
+ create?: boolean | undefined;
998
+ }>;
999
+ export type NamespaceConfigType = z.infer<typeof namespace_config_schema>;
1000
+ /**
1001
+ * Base auth configuration for kustomizations.
1002
+ * This schema defines common fields that all auth providers share.
1003
+ * Plugins (e.g., authelia, authentik) extend validation for provider-specific fields.
1004
+ */
1005
+ export declare const auth_config_schema: z.ZodObject<{
1006
+ /** Auth provider plugin name (e.g., 'authelia', 'authentik') */
1007
+ provider: z.ZodString;
1008
+ /** Provider-specific auth type (e.g., 'oidc', 'proxy', 'oauth2', 'saml') */
1009
+ type: z.ZodString;
1010
+ /** Application identifier (used for client_id, slug, etc.) */
1011
+ app_name: z.ZodString;
1012
+ /** Display name for the application */
1013
+ app_display_name: z.ZodOptional<z.ZodString>;
1014
+ /** Application description */
1015
+ app_description: z.ZodOptional<z.ZodString>;
1016
+ /** Application icon URL */
1017
+ app_icon: z.ZodOptional<z.ZodString>;
1018
+ /** Application group/category */
1019
+ app_group: z.ZodOptional<z.ZodString>;
1020
+ /** Application launch URL */
1021
+ app_launch_url: z.ZodOptional<z.ZodString>;
1022
+ /** External host for the application */
1023
+ external_host: z.ZodOptional<z.ZodString>;
1024
+ /** Internal service host (for proxy auth) */
1025
+ internal_host: z.ZodOptional<z.ZodString>;
1026
+ /** Provider-specific configuration (validated by auth plugins) */
1027
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1028
+ }, "strip", z.ZodTypeAny, {
1029
+ type: string;
1030
+ provider: string;
1031
+ app_name: string;
1032
+ config?: Record<string, unknown> | undefined;
1033
+ app_display_name?: string | undefined;
1034
+ app_description?: string | undefined;
1035
+ app_icon?: string | undefined;
1036
+ app_group?: string | undefined;
1037
+ app_launch_url?: string | undefined;
1038
+ external_host?: string | undefined;
1039
+ internal_host?: string | undefined;
1040
+ }, {
1041
+ type: string;
1042
+ provider: string;
1043
+ app_name: string;
1044
+ config?: Record<string, unknown> | undefined;
1045
+ app_display_name?: string | undefined;
1046
+ app_description?: string | undefined;
1047
+ app_icon?: string | undefined;
1048
+ app_group?: string | undefined;
1049
+ app_launch_url?: string | undefined;
1050
+ external_host?: string | undefined;
1051
+ internal_host?: string | undefined;
1052
+ }>;
1053
+ export type AuthConfigType = z.infer<typeof auth_config_schema>;
1054
+ /**
1055
+ * Key-value pairs for substitution values.
1056
+ */
1057
+ export declare const values_schema: z.ZodRecord<z.ZodString, z.ZodString>;
1058
+ export type ValuesType = z.infer<typeof values_schema>;
1059
+ //# sourceMappingURL=common.d.ts.map