k8ts 0.8.1 → 0.9.2

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 (437) hide show
  1. package/dist/default-world.d.ts +5 -0
  2. package/dist/default-world.d.ts.map +1 -0
  3. package/dist/default-world.js +54 -0
  4. package/dist/default-world.js.map +1 -0
  5. package/dist/env/env.d.ts +6 -8
  6. package/dist/env/env.d.ts.map +1 -1
  7. package/dist/env/env.js +29 -28
  8. package/dist/env/env.js.map +1 -1
  9. package/dist/env/index.d.ts +1 -1
  10. package/dist/env/index.d.ts.map +1 -1
  11. package/dist/env/types.d.ts +7 -5
  12. package/dist/env/types.d.ts.map +1 -1
  13. package/dist/env/types.js +11 -0
  14. package/dist/env/types.js.map +1 -1
  15. package/dist/index.d.ts +4 -7
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +5 -31
  18. package/dist/index.js.map +1 -1
  19. package/dist/kinds/apps.d.ts +30 -0
  20. package/dist/kinds/apps.d.ts.map +1 -0
  21. package/dist/kinds/apps.js +33 -0
  22. package/dist/kinds/apps.js.map +1 -0
  23. package/dist/kinds/batch.d.ts +18 -0
  24. package/dist/kinds/batch.d.ts.map +1 -0
  25. package/dist/kinds/batch.js +21 -0
  26. package/dist/kinds/batch.js.map +1 -0
  27. package/dist/kinds/default.d.ts +74 -0
  28. package/dist/kinds/default.d.ts.map +1 -0
  29. package/dist/kinds/default.js +78 -0
  30. package/dist/kinds/default.js.map +1 -0
  31. package/dist/kinds/gateway.d.ts +30 -0
  32. package/dist/kinds/gateway.d.ts.map +1 -0
  33. package/dist/kinds/gateway.js +33 -0
  34. package/dist/kinds/gateway.js.map +1 -0
  35. package/dist/kinds/index.d.ts +9 -0
  36. package/dist/kinds/index.d.ts.map +1 -0
  37. package/dist/{_imports/_mix.js → kinds/index.js} +9 -4
  38. package/dist/kinds/index.js.map +1 -0
  39. package/dist/kinds/metrics.d.ts +18 -0
  40. package/dist/kinds/metrics.d.ts.map +1 -0
  41. package/dist/kinds/metrics.js +21 -0
  42. package/dist/kinds/metrics.js.map +1 -0
  43. package/dist/kinds/networking.d.ts +14 -0
  44. package/dist/kinds/networking.d.ts.map +1 -0
  45. package/dist/kinds/networking.js +17 -0
  46. package/dist/kinds/networking.js.map +1 -0
  47. package/dist/kinds/rbac.d.ts +26 -0
  48. package/dist/kinds/rbac.d.ts.map +1 -0
  49. package/dist/kinds/rbac.js +29 -0
  50. package/dist/kinds/rbac.js.map +1 -0
  51. package/dist/kinds/storage.d.ts +18 -0
  52. package/dist/kinds/storage.d.ts.map +1 -0
  53. package/dist/kinds/storage.js +21 -0
  54. package/dist/kinds/storage.js.map +1 -0
  55. package/dist/origins/external.d.ts +8 -0
  56. package/dist/origins/external.d.ts.map +1 -0
  57. package/dist/origins/external.js +19 -0
  58. package/dist/origins/external.js.map +1 -0
  59. package/dist/origins/file/file.d.ts +24 -0
  60. package/dist/origins/file/file.d.ts.map +1 -0
  61. package/dist/{node/sub-resource.js → origins/file/file.js} +51 -32
  62. package/dist/origins/file/file.js.map +1 -0
  63. package/dist/origins/file/index.d.ts +4 -0
  64. package/dist/origins/file/index.d.ts.map +1 -0
  65. package/dist/{file → origins/file}/index.js +2 -0
  66. package/dist/origins/file/index.js.map +1 -0
  67. package/dist/origins/file/modifier.d.ts +10 -0
  68. package/dist/origins/file/modifier.d.ts.map +1 -0
  69. package/dist/origins/file/modifier.js +21 -0
  70. package/dist/origins/file/modifier.js.map +1 -0
  71. package/dist/origins/file/section.d.ts +18 -0
  72. package/dist/origins/file/section.d.ts.map +1 -0
  73. package/dist/{external/index.js → origins/file/section.js} +40 -41
  74. package/dist/origins/file/section.js.map +1 -0
  75. package/dist/origins/index.d.ts +4 -0
  76. package/dist/origins/index.d.ts.map +1 -0
  77. package/dist/{world → origins}/index.js +2 -0
  78. package/dist/origins/index.js.map +1 -0
  79. package/dist/origins/world.d.ts +13 -0
  80. package/dist/origins/world.d.ts.map +1 -0
  81. package/dist/origins/world.js +27 -0
  82. package/dist/origins/world.js.map +1 -0
  83. package/dist/resources/configmap/configmap.d.ts +10 -12
  84. package/dist/resources/configmap/configmap.d.ts.map +1 -1
  85. package/dist/resources/configmap/configmap.js +21 -72
  86. package/dist/resources/configmap/configmap.js.map +1 -1
  87. package/dist/resources/cronjob/index.d.ts +12 -12
  88. package/dist/resources/cronjob/index.d.ts.map +1 -1
  89. package/dist/resources/cronjob/index.js +29 -86
  90. package/dist/resources/cronjob/index.js.map +1 -1
  91. package/dist/resources/deployment/deployment.d.ts +28 -29
  92. package/dist/resources/deployment/deployment.d.ts.map +1 -1
  93. package/dist/resources/deployment/deployment.js +59 -109
  94. package/dist/resources/deployment/deployment.js.map +1 -1
  95. package/dist/resources/external/index.d.ts +19 -0
  96. package/dist/resources/external/index.d.ts.map +1 -0
  97. package/dist/resources/external/index.js +44 -0
  98. package/dist/resources/external/index.js.map +1 -0
  99. package/dist/resources/http-route/http-route.d.ts +31 -16
  100. package/dist/resources/http-route/http-route.d.ts.map +1 -1
  101. package/dist/resources/http-route/http-route.js +28 -80
  102. package/dist/resources/http-route/http-route.js.map +1 -1
  103. package/dist/resources/index.d.ts +4 -0
  104. package/dist/resources/index.d.ts.map +1 -1
  105. package/dist/resources/index.js +4 -0
  106. package/dist/resources/index.js.map +1 -1
  107. package/dist/resources/namespace/namespace.d.ts +10 -11
  108. package/dist/resources/namespace/namespace.d.ts.map +1 -1
  109. package/dist/resources/namespace/namespace.js +14 -70
  110. package/dist/resources/namespace/namespace.js.map +1 -1
  111. package/dist/resources/persistent/access-mode.d.ts +5 -5
  112. package/dist/resources/persistent/access-mode.d.ts.map +1 -1
  113. package/dist/resources/persistent/access-mode.js +2 -2
  114. package/dist/resources/persistent/access-mode.js.map +1 -1
  115. package/dist/resources/persistent/block-mode.d.ts +1 -1
  116. package/dist/resources/persistent/block-mode.d.ts.map +1 -1
  117. package/dist/resources/persistent/claim/pvc.d.ts +25 -24
  118. package/dist/resources/persistent/claim/pvc.d.ts.map +1 -1
  119. package/dist/resources/persistent/claim/pvc.js +40 -91
  120. package/dist/resources/persistent/claim/pvc.js.map +1 -1
  121. package/dist/resources/persistent/volume/parse-backend.d.ts +2 -2
  122. package/dist/resources/persistent/volume/parse-backend.d.ts.map +1 -1
  123. package/dist/resources/persistent/volume/parse-backend.js.map +1 -1
  124. package/dist/resources/persistent/volume/pv.d.ts +42 -27
  125. package/dist/resources/persistent/volume/pv.d.ts.map +1 -1
  126. package/dist/resources/persistent/volume/pv.js +47 -100
  127. package/dist/resources/persistent/volume/pv.js.map +1 -1
  128. package/dist/resources/pod/container/container.d.ts +42 -48
  129. package/dist/resources/pod/container/container.d.ts.map +1 -1
  130. package/dist/resources/pod/container/container.js +89 -143
  131. package/dist/resources/pod/container/container.js.map +1 -1
  132. package/dist/resources/pod/container/mounts.d.ts +29 -30
  133. package/dist/resources/pod/container/mounts.d.ts.map +1 -1
  134. package/dist/resources/pod/container/mounts.js +42 -41
  135. package/dist/resources/pod/container/mounts.js.map +1 -1
  136. package/dist/resources/pod/pod-template.d.ts +41 -40
  137. package/dist/resources/pod/pod-template.d.ts.map +1 -1
  138. package/dist/resources/pod/pod-template.js +76 -110
  139. package/dist/resources/pod/pod-template.js.map +1 -1
  140. package/dist/resources/pod/volume/devices.d.ts +18 -20
  141. package/dist/resources/pod/volume/devices.d.ts.map +1 -1
  142. package/dist/resources/pod/volume/devices.js +33 -85
  143. package/dist/resources/pod/volume/devices.js.map +1 -1
  144. package/dist/resources/pod/volume/index.d.ts +2 -3
  145. package/dist/resources/pod/volume/index.d.ts.map +1 -1
  146. package/dist/resources/pod/volume/index.js +3 -5
  147. package/dist/resources/pod/volume/index.js.map +1 -1
  148. package/dist/resources/pod/volume/volumes.d.ts +24 -25
  149. package/dist/resources/pod/volume/volumes.d.ts.map +1 -1
  150. package/dist/resources/pod/volume/volumes.js +66 -108
  151. package/dist/resources/pod/volume/volumes.js.map +1 -1
  152. package/dist/resources/rbac/cluster-role-binding.d.ts +17 -0
  153. package/dist/resources/rbac/cluster-role-binding.d.ts.map +1 -0
  154. package/dist/resources/rbac/cluster-role-binding.js +32 -0
  155. package/dist/resources/rbac/cluster-role-binding.js.map +1 -0
  156. package/dist/resources/rbac/cluster-role.d.ts +28 -0
  157. package/dist/resources/rbac/cluster-role.d.ts.map +1 -0
  158. package/dist/resources/rbac/cluster-role.js +46 -0
  159. package/dist/resources/rbac/cluster-role.js.map +1 -0
  160. package/dist/resources/rbac/service-account.d.ts +11 -0
  161. package/dist/resources/rbac/service-account.d.ts.map +1 -0
  162. package/dist/resources/rbac/service-account.js +21 -0
  163. package/dist/resources/rbac/service-account.js.map +1 -0
  164. package/dist/resources/secret/index.d.ts +1 -3
  165. package/dist/resources/secret/index.d.ts.map +1 -1
  166. package/dist/resources/secret/index.js +4 -25
  167. package/dist/resources/secret/index.js.map +1 -1
  168. package/dist/resources/secret/secret.d.ts +8 -4
  169. package/dist/resources/secret/secret.d.ts.map +1 -1
  170. package/dist/resources/secret/secret.js +12 -65
  171. package/dist/resources/secret/secret.js.map +1 -1
  172. package/dist/resources/service/service-port.d.ts +12 -15
  173. package/dist/resources/service/service-port.d.ts.map +1 -1
  174. package/dist/resources/service/service-port.js +21 -24
  175. package/dist/resources/service/service-port.js.map +1 -1
  176. package/dist/resources/service/service.d.ts +33 -27
  177. package/dist/resources/service/service.d.ts.map +1 -1
  178. package/dist/resources/service/service.js +63 -123
  179. package/dist/resources/service/service.js.map +1 -1
  180. package/dist/resources/utils/adapters.d.ts +3 -3
  181. package/dist/resources/utils/adapters.d.ts.map +1 -1
  182. package/dist/resources/utils/adapters.js +5 -4
  183. package/dist/resources/utils/adapters.js.map +1 -1
  184. package/dist/runner/exporter/assembler.d.ts +5 -6
  185. package/dist/runner/exporter/assembler.d.ts.map +1 -1
  186. package/dist/runner/exporter/assembler.js +4 -3
  187. package/dist/runner/exporter/assembler.js.map +1 -1
  188. package/dist/runner/exporter/loader.d.ts +3 -5
  189. package/dist/runner/exporter/loader.d.ts.map +1 -1
  190. package/dist/runner/exporter/loader.js +18 -31
  191. package/dist/runner/exporter/loader.js.map +1 -1
  192. package/dist/runner/exporter/manifester.d.ts +5 -5
  193. package/dist/runner/exporter/manifester.d.ts.map +1 -1
  194. package/dist/runner/exporter/manifester.js +11 -3
  195. package/dist/runner/exporter/manifester.js.map +1 -1
  196. package/dist/runner/exporter/meta.d.ts +1 -1
  197. package/dist/runner/exporter/meta.d.ts.map +1 -1
  198. package/dist/runner/exporter/meta.js +0 -2
  199. package/dist/runner/exporter/meta.js.map +1 -1
  200. package/dist/runner/exporter/saver.d.ts +2 -2
  201. package/dist/runner/exporter/saver.d.ts.map +1 -1
  202. package/dist/runner/exporter/saver.js.map +1 -1
  203. package/dist/runner/exporter/serializer.d.ts +4 -4
  204. package/dist/runner/exporter/serializer.d.ts.map +1 -1
  205. package/dist/runner/exporter/serializer.js +13 -5
  206. package/dist/runner/exporter/serializer.js.map +1 -1
  207. package/dist/runner/exporter/validator.d.ts +2 -2
  208. package/dist/runner/exporter/validator.d.ts.map +1 -1
  209. package/dist/runner/exporter/validator.js +1 -14
  210. package/dist/runner/exporter/validator.js.map +1 -1
  211. package/dist/runner/paths.d.ts.map +1 -0
  212. package/dist/runner/paths.js.map +1 -0
  213. package/dist/runner/runner.d.ts +2 -2
  214. package/dist/runner/runner.d.ts.map +1 -1
  215. package/dist/runner/runner.js +11 -6
  216. package/dist/runner/runner.js.map +1 -1
  217. package/dist/runner/summarizer.d.ts +4 -4
  218. package/dist/runner/summarizer.d.ts.map +1 -1
  219. package/dist/runner/summarizer.js +3 -3
  220. package/dist/runner/summarizer.js.map +1 -1
  221. package/dist/version.d.ts +2 -1
  222. package/dist/version.d.ts.map +1 -1
  223. package/dist/version.js +2 -1
  224. package/dist/version.js.map +1 -1
  225. package/package.json +12 -18
  226. package/src/default-world.ts +66 -0
  227. package/src/env/env.ts +42 -36
  228. package/src/env/index.ts +1 -1
  229. package/src/env/types.ts +15 -5
  230. package/src/index.ts +4 -7
  231. package/src/kinds/apps.ts +30 -0
  232. package/src/kinds/batch.ts +18 -0
  233. package/src/kinds/default.ts +81 -0
  234. package/src/kinds/gateway.ts +30 -0
  235. package/src/kinds/index.ts +9 -0
  236. package/src/kinds/metrics.ts +18 -0
  237. package/src/kinds/networking.ts +14 -0
  238. package/src/kinds/rbac.ts +26 -0
  239. package/src/kinds/storage.ts +18 -0
  240. package/src/origins/external.ts +14 -0
  241. package/src/origins/file/file.ts +72 -0
  242. package/src/origins/file/index.ts +3 -0
  243. package/src/origins/file/modifier.ts +21 -0
  244. package/src/origins/file/section.ts +43 -0
  245. package/src/origins/index.ts +3 -0
  246. package/src/origins/world.ts +40 -0
  247. package/src/resources/configmap/configmap.ts +26 -31
  248. package/src/resources/cronjob/index.ts +33 -43
  249. package/src/resources/deployment/deployment.ts +85 -76
  250. package/src/resources/external/index.ts +49 -0
  251. package/src/resources/http-route/http-route.ts +40 -39
  252. package/src/resources/index.ts +4 -0
  253. package/src/resources/namespace/namespace.ts +16 -24
  254. package/src/resources/persistent/access-mode.ts +6 -6
  255. package/src/resources/persistent/block-mode.ts +1 -1
  256. package/src/resources/persistent/claim/pvc.ts +54 -55
  257. package/src/resources/persistent/volume/parse-backend.ts +2 -2
  258. package/src/resources/persistent/volume/pv.ts +87 -69
  259. package/src/resources/pod/container/container.ts +113 -120
  260. package/src/resources/pod/container/mounts.ts +42 -39
  261. package/src/resources/pod/pod-template.ts +80 -67
  262. package/src/resources/pod/volume/devices.ts +41 -42
  263. package/src/resources/pod/volume/index.ts +2 -3
  264. package/src/resources/pod/volume/volumes.ts +92 -70
  265. package/src/resources/rbac/cluster-role-binding.ts +40 -0
  266. package/src/resources/rbac/cluster-role.ts +99 -0
  267. package/src/resources/rbac/service-account.ts +25 -0
  268. package/src/resources/secret/index.ts +1 -3
  269. package/src/resources/secret/secret.ts +11 -17
  270. package/src/resources/service/service-port.ts +21 -25
  271. package/src/resources/service/service.ts +84 -92
  272. package/src/resources/utils/adapters.ts +4 -3
  273. package/src/runner/exporter/assembler.ts +9 -9
  274. package/src/runner/exporter/loader.ts +24 -40
  275. package/src/runner/exporter/manifester.ts +24 -14
  276. package/src/runner/exporter/meta.ts +0 -1
  277. package/src/runner/exporter/saver.ts +3 -2
  278. package/src/runner/exporter/serializer.ts +20 -7
  279. package/src/runner/exporter/validator.ts +3 -17
  280. package/src/runner/runner.ts +17 -12
  281. package/src/runner/summarizer.ts +9 -9
  282. package/src/version.ts +2 -1
  283. package/dist/_imports/_mix.d.ts +0 -4
  284. package/dist/_imports/_mix.d.ts.map +0 -1
  285. package/dist/_imports/_mix.js.map +0 -1
  286. package/dist/_imports/acme.cert-manager.io.d.ts +0 -4832
  287. package/dist/_imports/acme.cert-manager.io.d.ts.map +0 -1
  288. package/dist/_imports/acme.cert-manager.io.js +0 -2476
  289. package/dist/_imports/acme.cert-manager.io.js.map +0 -1
  290. package/dist/_imports/gateway.networking.k8s.io.d.ts +0 -8786
  291. package/dist/_imports/gateway.networking.k8s.io.d.ts.map +0 -1
  292. package/dist/_imports/gateway.networking.k8s.io.js +0 -3668
  293. package/dist/_imports/gateway.networking.k8s.io.js.map +0 -1
  294. package/dist/_imports/helm.toolkit.fluxcd.io.d.ts +0 -4894
  295. package/dist/_imports/helm.toolkit.fluxcd.io.d.ts.map +0 -1
  296. package/dist/_imports/helm.toolkit.fluxcd.io.js +0 -2430
  297. package/dist/_imports/helm.toolkit.fluxcd.io.js.map +0 -1
  298. package/dist/_imports/index.d.ts +0 -3
  299. package/dist/_imports/index.d.ts.map +0 -1
  300. package/dist/_imports/index.js +0 -39
  301. package/dist/_imports/index.js.map +0 -1
  302. package/dist/_imports/k8s.d.ts +0 -18782
  303. package/dist/_imports/k8s.d.ts.map +0 -1
  304. package/dist/_imports/k8s.js +0 -12173
  305. package/dist/_imports/k8s.js.map +0 -1
  306. package/dist/_imports/kustomize.toolkit.fluxcd.io.d.ts +0 -2367
  307. package/dist/_imports/kustomize.toolkit.fluxcd.io.d.ts.map +0 -1
  308. package/dist/_imports/kustomize.toolkit.fluxcd.io.js +0 -1285
  309. package/dist/_imports/kustomize.toolkit.fluxcd.io.js.map +0 -1
  310. package/dist/_imports/notification.toolkit.fluxcd.io.d.ts +0 -2005
  311. package/dist/_imports/notification.toolkit.fluxcd.io.d.ts.map +0 -1
  312. package/dist/_imports/notification.toolkit.fluxcd.io.js +0 -1575
  313. package/dist/_imports/notification.toolkit.fluxcd.io.js.map +0 -1
  314. package/dist/_imports/source.toolkit.fluxcd.io.d.ts +0 -4158
  315. package/dist/_imports/source.toolkit.fluxcd.io.d.ts.map +0 -1
  316. package/dist/_imports/source.toolkit.fluxcd.io.js +0 -2739
  317. package/dist/_imports/source.toolkit.fluxcd.io.js.map +0 -1
  318. package/dist/external/index.d.ts +0 -13
  319. package/dist/external/index.d.ts.map +0 -1
  320. package/dist/external/index.js.map +0 -1
  321. package/dist/file/exports.d.ts +0 -19
  322. package/dist/file/exports.d.ts.map +0 -1
  323. package/dist/file/exports.js +0 -53
  324. package/dist/file/exports.js.map +0 -1
  325. package/dist/file/factory.d.ts +0 -41
  326. package/dist/file/factory.d.ts.map +0 -1
  327. package/dist/file/factory.js +0 -197
  328. package/dist/file/factory.js.map +0 -1
  329. package/dist/file/file.d.ts +0 -16
  330. package/dist/file/file.d.ts.map +0 -1
  331. package/dist/file/file.js +0 -21
  332. package/dist/file/file.js.map +0 -1
  333. package/dist/file/index.d.ts +0 -2
  334. package/dist/file/index.d.ts.map +0 -1
  335. package/dist/file/index.js.map +0 -1
  336. package/dist/file/origin.d.ts +0 -21
  337. package/dist/file/origin.d.ts.map +0 -1
  338. package/dist/file/origin.js +0 -27
  339. package/dist/file/origin.js.map +0 -1
  340. package/dist/k8ts-sys-kind.d.ts +0 -3
  341. package/dist/k8ts-sys-kind.d.ts.map +0 -1
  342. package/dist/k8ts-sys-kind.js +0 -8
  343. package/dist/k8ts-sys-kind.js.map +0 -1
  344. package/dist/kind-map.d.ts +0 -12
  345. package/dist/kind-map.d.ts.map +0 -1
  346. package/dist/kind-map.js +0 -30
  347. package/dist/kind-map.js.map +0 -1
  348. package/dist/kinds.d.ts +0 -115
  349. package/dist/kinds.d.ts.map +0 -1
  350. package/dist/kinds.js +0 -95
  351. package/dist/kinds.js.map +0 -1
  352. package/dist/meta/k8ts-section.d.ts +0 -3
  353. package/dist/meta/k8ts-section.d.ts.map +0 -1
  354. package/dist/meta/k8ts-section.js +0 -10
  355. package/dist/meta/k8ts-section.js.map +0 -1
  356. package/dist/node/abs-resource.d.ts +0 -16
  357. package/dist/node/abs-resource.d.ts.map +0 -1
  358. package/dist/node/abs-resource.js +0 -79
  359. package/dist/node/abs-resource.js.map +0 -1
  360. package/dist/node/dependencies.d.ts +0 -2
  361. package/dist/node/dependencies.d.ts.map +0 -1
  362. package/dist/node/dependencies.js +0 -3
  363. package/dist/node/dependencies.js.map +0 -1
  364. package/dist/node/equiv-cdk8s.d.ts +0 -9
  365. package/dist/node/equiv-cdk8s.d.ts.map +0 -1
  366. package/dist/node/equiv-cdk8s.js +0 -17
  367. package/dist/node/equiv-cdk8s.js.map +0 -1
  368. package/dist/node/index.d.ts +0 -5
  369. package/dist/node/index.d.ts.map +0 -1
  370. package/dist/node/index.js +0 -12
  371. package/dist/node/index.js.map +0 -1
  372. package/dist/node/manifest-resource.d.ts +0 -15
  373. package/dist/node/manifest-resource.d.ts.map +0 -1
  374. package/dist/node/manifest-resource.js +0 -20
  375. package/dist/node/manifest-resource.js.map +0 -1
  376. package/dist/node/sub-resource.d.ts +0 -8
  377. package/dist/node/sub-resource.d.ts.map +0 -1
  378. package/dist/node/sub-resource.js.map +0 -1
  379. package/dist/node/top-resource.d.ts +0 -7
  380. package/dist/node/top-resource.d.ts.map +0 -1
  381. package/dist/node/top-resource.js +0 -8
  382. package/dist/node/top-resource.js.map +0 -1
  383. package/dist/paths.d.ts.map +0 -1
  384. package/dist/paths.js.map +0 -1
  385. package/dist/resources/persistent/volume/backend.d.ts +0 -19
  386. package/dist/resources/persistent/volume/backend.d.ts.map +0 -1
  387. package/dist/resources/persistent/volume/backend.js +0 -3
  388. package/dist/resources/persistent/volume/backend.js.map +0 -1
  389. package/dist/resources/service/frontend.d.ts +0 -11
  390. package/dist/resources/service/frontend.d.ts.map +0 -1
  391. package/dist/resources/service/frontend.js +0 -3
  392. package/dist/resources/service/frontend.js.map +0 -1
  393. package/dist/runner/exporter/trace-embedder.d.ts +0 -2
  394. package/dist/runner/exporter/trace-embedder.d.ts.map +0 -1
  395. package/dist/runner/exporter/trace-embedder.js +0 -3
  396. package/dist/runner/exporter/trace-embedder.js.map +0 -1
  397. package/dist/world/index.d.ts +0 -2
  398. package/dist/world/index.d.ts.map +0 -1
  399. package/dist/world/index.js.map +0 -1
  400. package/dist/world/world.d.ts +0 -34
  401. package/dist/world/world.d.ts.map +0 -1
  402. package/dist/world/world.js +0 -69
  403. package/dist/world/world.js.map +0 -1
  404. package/src/_imports/_mix.ts +0 -3
  405. package/src/_imports/acme.cert-manager.io.ts +0 -8202
  406. package/src/_imports/gateway.networking.k8s.io.ts +0 -12226
  407. package/src/_imports/helm.toolkit.fluxcd.io.ts +0 -6748
  408. package/src/_imports/index.ts +0 -2
  409. package/src/_imports/k8s.ts +0 -31028
  410. package/src/_imports/kustomize.toolkit.fluxcd.io.ts +0 -3369
  411. package/src/_imports/notification.toolkit.fluxcd.io.ts +0 -2848
  412. package/src/_imports/source.toolkit.fluxcd.io.ts +0 -6054
  413. package/src/external/index.ts +0 -34
  414. package/src/file/exports.ts +0 -66
  415. package/src/file/factory.ts +0 -199
  416. package/src/file/file.ts +0 -33
  417. package/src/file/index.ts +0 -1
  418. package/src/file/origin.ts +0 -41
  419. package/src/k8ts-sys-kind.ts +0 -4
  420. package/src/kind-map.ts +0 -42
  421. package/src/kinds.ts +0 -158
  422. package/src/meta/k8ts-section.ts +0 -6
  423. package/src/node/abs-resource.ts +0 -37
  424. package/src/node/dependencies.ts +0 -0
  425. package/src/node/equiv-cdk8s.ts +0 -19
  426. package/src/node/index.ts +0 -4
  427. package/src/node/manifest-resource.ts +0 -23
  428. package/src/node/sub-resource.ts +0 -20
  429. package/src/node/top-resource.ts +0 -7
  430. package/src/resources/persistent/volume/backend.ts +0 -20
  431. package/src/resources/service/frontend.ts +0 -11
  432. package/src/runner/exporter/trace-embedder.ts +0 -0
  433. package/src/world/index.ts +0 -1
  434. package/src/world/world.ts +0 -90
  435. /package/dist/{paths.d.ts → runner/paths.d.ts} +0 -0
  436. /package/dist/{paths.js → runner/paths.js} +0 -0
  437. /package/src/{paths.ts → runner/paths.ts} +0 -0
@@ -0,0 +1,72 @@
1
+ import {
2
+ FwRef_Exports,
3
+ Origin_Exporter,
4
+ type Origin_Entity,
5
+ type Origin_Props,
6
+ type Resource_Core_Ref,
7
+ type Resource_Ctor_Of
8
+ } from "@k8ts/instruments"
9
+ import { doddlify, seq } from "doddle"
10
+ import type { v1 } from "../../kinds"
11
+ import { Origin_Section, type File_Section_Props } from "./section"
12
+ export type File_sName = `${string}.yaml`
13
+ export interface File_Props<
14
+ Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[],
15
+ Exports extends Kinds[number]["prototype"] = Kinds[number]["prototype"]
16
+ > extends Origin_Props<Kinds[number]> {
17
+ kinds?: Kinds
18
+ namespace?: Resource_Core_Ref<v1.Namespace._>
19
+ FILE(FILE: Origin_File_Scope<Kinds>): Iterable<Exports | FwRef_Exports<Exports>>
20
+ }
21
+ export class Origin_File extends Origin_Exporter<File_Props> {
22
+ #_ = (() => {
23
+ this.meta.add("source.k8ts.org/", {
24
+ "^file": this.name
25
+ })
26
+ this.meta.overwrite("namespace", this._props.namespace?.name)
27
+ })()
28
+ get kind() {
29
+ return "k8ts:File"
30
+ }
31
+
32
+ @doddlify
33
+ protected __exports__() {
34
+ return seq(
35
+ this._props.FILE.call(
36
+ this,
37
+ new Origin_File_Scope(this) as any
38
+ ) as Iterable<Resource_Core_Ref>
39
+ ).cache()
40
+ }
41
+ }
42
+ export function File<
43
+ Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[],
44
+ Exports extends Kinds[number]["prototype"] = Kinds[number]["prototype"]
45
+ >(parent: Origin_Entity, name: File_sName, props: File_Props<Kinds, Exports>) {
46
+ const file = new Origin_File(parent, name, props as any)
47
+
48
+ return FwRef_Exports<Exports>(file)
49
+ }
50
+
51
+ export class Origin_File_Scope<Kinds extends Resource_Ctor_Of[]> {
52
+ constructor(private readonly _file: Origin_File) {
53
+ this.on = this._file.on
54
+ }
55
+ get __entity__() {
56
+ return this._file
57
+ }
58
+ on: Origin_File["on"]
59
+
60
+ Section<Exported extends Kinds[number]["prototype"] = Kinds[number]["prototype"]>(
61
+ name: string,
62
+ props: File_Section_Props<Exported>
63
+ ) {
64
+ const section: Origin_Section = new Origin_Section(this._file, name, props)
65
+ return FwRef_Exports<Exported>(section)
66
+ }
67
+ }
68
+
69
+ export type File<
70
+ Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[],
71
+ T extends Kinds[number]["prototype"] = Kinds[number]["prototype"]
72
+ > = FwRef_Exports<T>
@@ -0,0 +1,3 @@
1
+ export * from "./file"
2
+ export * from "./modifier"
3
+ export * from "./section"
@@ -0,0 +1,21 @@
1
+ import { Origin_Entity, OriginContextTracker } from "@k8ts/instruments"
2
+
3
+ export interface ModifierOrigin_Props {}
4
+
5
+ export class Origin_Modifier extends Origin_Entity<ModifierOrigin_Props> {
6
+ get kind() {
7
+ return "Modifier"
8
+ }
9
+
10
+ #currentRunnerState = (() => {
11
+ return OriginContextTracker.disposableOriginModifier(this)
12
+ })();
13
+
14
+ [Symbol.dispose]() {
15
+ this.#currentRunnerState[Symbol.dispose]()
16
+ }
17
+ }
18
+
19
+ export function Modifier(name: string, props: ModifierOrigin_Props = {}) {
20
+ return new Origin_Modifier(name, props)
21
+ }
@@ -0,0 +1,43 @@
1
+ import {
2
+ type Origin_Exporter_Props,
3
+ type Resource_Core_Ref,
4
+ Origin_Exporter
5
+ } from "@k8ts/instruments"
6
+ import { doddle, doddlify, seq } from "doddle"
7
+ import type { v1 } from "../../kinds"
8
+
9
+ export class File_Section_Scope {
10
+ on: Origin_Section["on"]
11
+ get __entity__() {
12
+ return this._section
13
+ }
14
+ constructor(private readonly _section: Origin_Section) {
15
+ this.on = this._section.on
16
+ }
17
+ }
18
+ export interface File_Section_Props<Exported extends Resource_Core_Ref = Resource_Core_Ref>
19
+ extends Origin_Exporter_Props {
20
+ namespace?: Resource_Core_Ref<v1.Namespace._>
21
+ SECTION(SCOPE: File_Section_Scope): Iterable<Exported>
22
+ }
23
+
24
+ export class Origin_Section extends Origin_Exporter<File_Section_Props> {
25
+ get kind() {
26
+ return "k8ts:File/Section"
27
+ }
28
+ #_ = doddle(() => {
29
+ this.meta.overwrite({
30
+ namespace: this._props.namespace?.name
31
+ })
32
+ }).pull()
33
+
34
+ @doddlify
35
+ protected __exports__() {
36
+ return seq(
37
+ this._props.SECTION.call(
38
+ this,
39
+ new File_Section_Scope(this)
40
+ ) as Iterable<Resource_Core_Ref>
41
+ ).cache()
42
+ }
43
+ }
@@ -0,0 +1,3 @@
1
+ export * from "../resources/external"
2
+ export * from "./file"
3
+ export * from "./world"
@@ -0,0 +1,40 @@
1
+ import {
2
+ Origin_Entity,
3
+ type FwRef_Exports,
4
+ type Kind,
5
+ type Origin_Props,
6
+ type Resource_Ctor_Of
7
+ } from "@k8ts/instruments"
8
+
9
+ import { External } from "../resources/external"
10
+ import { Origin_External } from "./external"
11
+ import { File, type File_Props, type File_sName } from "./file"
12
+
13
+ export type World_Props<Kinds extends Resource_Ctor_Of[]> = Origin_Props<Kinds[number]>
14
+
15
+ export class World<Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[]> extends Origin_Entity<
16
+ World_Props<Kinds>
17
+ > {
18
+ get kind() {
19
+ return "k8ts:World"
20
+ }
21
+ private readonly _ExternalOrigin = new Origin_External(this)
22
+ #_ = (() => {
23
+ this.meta.add("source.k8ts.org/", {
24
+ "^world": this.name
25
+ })
26
+ })()
27
+
28
+ External<K extends Kind, Name extends string>(kind: K, name: Name, namespace?: string) {
29
+ return new External(this._ExternalOrigin, kind.refKey(name), namespace)
30
+ }
31
+
32
+ File<Exports extends Resource_Ctor_Of["prototype"]>(
33
+ name: File_sName,
34
+ props: File_Props<Kinds, Exports>
35
+ ) {
36
+ return File(this, name, props) as FwRef_Exports<Exports>
37
+ }
38
+ }
39
+
40
+ export const k8ts_namespace = "k8ts.org/" as const
@@ -1,41 +1,36 @@
1
1
  import {
2
2
  DataSourceRecord_Binary,
3
3
  DataSourceRecord_Text,
4
- LocalFileSource,
5
- manifest,
6
- relations,
4
+ DataSource_LocalFile,
5
+ Resource_Top,
7
6
  resolveBinary,
8
7
  resolveText
9
8
  } from "@k8ts/instruments"
10
- import { CDK } from "../../_imports"
11
- import { k8ts } from "../../kind-map"
12
- import { api } from "../../kinds"
13
- import { equiv_cdk8s } from "../../node/equiv-cdk8s"
14
- import { ManifestResource } from "../../node/manifest-resource"
15
- export type ConfigMap = ConfigMap.ConfigMap
16
- export namespace ConfigMap {
17
- export type ConfigMapEntrySource = LocalFileSource | string
18
- export interface Props {
19
- data: DataSourceRecord_Text
20
- binaryData?: DataSourceRecord_Binary
21
- }
9
+ import { toObject } from "@k8ts/metadata/util"
10
+ import { CDK } from "@k8ts/sample-interfaces"
11
+ import { seq } from "doddle"
12
+ import { v1 } from "../../kinds/default"
13
+ export type ConfigMap_Entry_Source = DataSource_LocalFile | string
14
+ export interface ConfigMap_Props {
15
+ data: DataSourceRecord_Text
16
+ binaryData?: DataSourceRecord_Binary
17
+ }
22
18
 
23
- @k8ts(api.v1_.ConfigMap)
24
- @relations("none")
25
- @equiv_cdk8s(CDK.KubeConfigMap)
26
- @manifest({
27
- async body(self): Promise<CDK.KubeConfigMapProps> {
28
- const binaryData = await resolveBinary(self.props.binaryData ?? {})
29
- const data = await resolveText(self.props.data)
30
- return {
31
- data: data.isEmpty() ? undefined : data.toObject(),
32
- binaryData: binaryData.isEmpty()
33
- ? undefined
34
- : binaryData.map(x => Buffer.from(x).toString("base64")).toObject()
35
- }
19
+ export class ConfigMap<Name extends string = string> extends Resource_Top<Name, ConfigMap_Props> {
20
+ get kind() {
21
+ return v1.ConfigMap._
22
+ }
23
+ protected async body(): Promise<CDK.KubeConfigMapProps> {
24
+ const self = this
25
+ const binaryData = await resolveBinary(self.props.binaryData ?? {})
26
+ const data = await resolveText(self.props.data)
27
+ const encodedBinaryData = seq(binaryData)
28
+ .map(([k, x]) => [k, Buffer.from(x).toString("base64")] as const)
29
+ .toRecord(x => x)
30
+ .pull()
31
+ return {
32
+ data: data.size === 0 ? undefined : toObject(data),
33
+ binaryData: binaryData.size === 0 ? undefined : encodedBinaryData
36
34
  }
37
- })
38
- export class ConfigMap extends ManifestResource<Props> {
39
- override kind = api.v1_.ConfigMap
40
35
  }
41
36
  }
@@ -1,60 +1,50 @@
1
- import { Cron, CronStanza, manifest, Origin, relations } from "@k8ts/instruments"
2
- import { Timezone } from "@k8ts/instruments/src/timezone"
3
- import { Meta, MutableMeta } from "@k8ts/metadata"
4
- import { omit, omitBy } from "lodash"
5
- import { CDK } from "../../_imports"
6
- import { k8ts } from "../../kind-map"
7
- import { api } from "../../kinds"
8
- import { equiv_cdk8s } from "../../node/equiv-cdk8s"
9
- import { ManifestResource } from "../../node/manifest-resource"
10
- import { PodTemplate } from "../pod/pod-template"
11
- export interface K8tsCronJobProps<CronSpec extends Cron.Record>
1
+ import { Cron, CronStanza, Resource_Top, type Resource_Entity } from "@k8ts/instruments"
2
+ import { Meta } from "@k8ts/metadata"
3
+ import { CDK } from "@k8ts/sample-interfaces"
4
+ import { doddle } from "doddle"
5
+ import { omitBy } from "lodash"
6
+ import { Timezone } from "../../../../instruments/dist/expressions/timezone"
7
+ import { batch } from "../../kinds/batch"
8
+ import { Pod_Template, type Pod_Props } from "../pod"
9
+ export interface CronJob_Props<CronSpec extends Cron.Record>
12
10
  extends Omit<CDK.CronJobSpec, "jobTemplate" | "schedule" | "timeZone"> {
13
11
  $schedule: CronStanza<CronSpec>
14
- $template: PodTemplate.Props<never> & {
12
+ $template: Pod_Props<never> & {
15
13
  restartPolicy: "Always" | "OnFailure" | "Never"
16
14
  }
17
15
  $meta?: Meta.Input
18
16
  timeZone: Timezone
19
17
  }
20
18
 
21
- @k8ts(api.batch_.v1_.CronJob)
22
- @equiv_cdk8s(CDK.KubeCronJob)
23
- @relations({
24
- kids: s => [s.template]
25
- })
26
- @manifest({
27
- async body(self): Promise<CDK.KubeCronJobProps> {
28
- const template = await self.template["manifest"]()
29
- const noKindFields = omit(template, ["kind", "apiVersion"])
19
+ export class CronJob<
20
+ Name extends string = string,
21
+ Cron extends Cron.Record = Cron.Record
22
+ > extends Resource_Top<Name, CronJob_Props<Cron>> {
23
+ get kind() {
24
+ return batch.v1.CronJob._
25
+ }
26
+ private _template = doddle(() => {
27
+ return new Pod_Template<never>(this, this.name, this.props.$template)
28
+ })
29
+
30
+ protected __kids__(): Resource_Entity[] {
31
+ return [this._template.pull()]
32
+ }
33
+
34
+ protected body(): CDK.KubeCronJobProps {
35
+ const self = this
36
+ const template = self._template.pull()["__submanifest__"]()
30
37
  return {
31
38
  spec: {
32
- ...omitBy(self.props, (x, k) => k.startsWith("$")),
33
- schedule: self.props.$schedule.string,
39
+ ...omitBy(self.props, (x, k) => k.startsWith("$") || k === "timeZone"),
40
+ schedule: self.props.$schedule.toString(),
41
+ timeZone: self.props.timeZone,
34
42
  jobTemplate: {
35
43
  spec: {
36
- template: noKindFields
44
+ template: template
37
45
  }
38
- },
39
- timeZone: self.props.timeZone
46
+ }
40
47
  }
41
48
  }
42
49
  }
43
- })
44
- export class K8tsCronJob<Cron extends Cron.Record> extends ManifestResource<
45
- K8tsCronJobProps<Cron>
46
- > {
47
- kind = api.batch_.v1_.CronJob
48
- template: PodTemplate.PodTemplate<never>
49
- constructor(origin: Origin, meta: Meta | MutableMeta, props: K8tsCronJobProps<Cron>) {
50
- super(origin, meta, props)
51
- this.template = new PodTemplate.PodTemplate(
52
- origin,
53
- Meta.make({
54
- name: this.name
55
- }),
56
- props.$template
57
- )
58
- this.template.meta.add(props.$meta)
59
- }
60
50
  }
@@ -1,89 +1,98 @@
1
- import { manifest, Origin, Refable, relations, WritableDeep } from "@k8ts/instruments"
2
- import { Meta, MutableMeta } from "@k8ts/metadata"
1
+ import {
2
+ OriginContextTracker,
3
+ Resource_Core_Ref,
4
+ Resource_Top,
5
+ type Resource_Entity
6
+ } from "@k8ts/instruments"
7
+ import { CDK } from "@k8ts/sample-interfaces"
8
+ import { doddle } from "doddle"
3
9
  import { omit, omitBy } from "lodash"
4
- import { CDK } from "../../_imports"
5
10
  import { MakeError } from "../../error"
6
- import { k8ts } from "../../kind-map"
7
- import { api } from "../../kinds"
8
- import { equiv_cdk8s } from "../../node/equiv-cdk8s"
9
- import { ManifestResource } from "../../node/manifest-resource"
10
- import { PodTemplate } from "../pod/pod-template"
11
+ import { apps } from "../../kinds/apps"
12
+ import { Pod_Template, type Pod_Props } from "../pod"
11
13
 
12
- export type Deployment<Ports extends string> = Deployment.Deployment<Ports>
13
- export namespace Deployment {
14
- export type DeploymentStrategy =
15
- | { type: "Recreate" }
16
- | ({
17
- type: "RollingUpdate"
18
- } & CDK.RollingUpdateDeployment)
19
- export type NormalProps = WritableDeep<
20
- Omit<CDK.DeploymentSpec, "selector" | "template" | "strategy">
21
- >
22
- export type Props<Ports extends string> = NormalProps & {
23
- $template: PodTemplate.Props<Ports>
24
- $strategy?: DeploymentStrategy
25
- }
26
- export type AbsDeployment<Ports extends string> = Refable<api.apps_.v1_.Deployment> & {
27
- __PORTS__: Ports
14
+ export interface Deployment_Strategy_RollingUpdate extends CDK.RollingUpdateDeployment {
15
+ type: "RollingUpdate"
16
+ }
17
+ export interface Deployment_Strategy_Recreate {
18
+ type: "Recreate"
19
+ }
20
+ export type Deployment_Strategy = Deployment_Strategy_RollingUpdate | Deployment_Strategy_Recreate
21
+ export type Deployment_Props_Original = Omit<
22
+ CDK.DeploymentSpec,
23
+ "selector" | "template" | "strategy"
24
+ >
25
+
26
+ export type Deployment_Props<Ports extends string> = Deployment_Props_Original & {
27
+ $template: Pod_Props<Ports>
28
+ $strategy?: Deployment_Strategy
29
+ }
30
+ export type Deployment_Ref<Ports extends string> = Resource_Core_Ref<apps.v1.Deployment._> & {
31
+ __PORTS__: Ports
32
+ }
33
+
34
+ export class Deployment<Name extends string, Ports extends string = string> extends Resource_Top<
35
+ Name,
36
+ Deployment_Props<Ports>
37
+ > {
38
+ __PORTS__!: Ports
39
+ get kind() {
40
+ return apps.v1.Deployment._
28
41
  }
29
42
 
30
- @k8ts(api.apps_.v1_.Deployment)
31
- @equiv_cdk8s(CDK.KubeDeployment)
32
- @relations({
33
- kids: s => [s.template]
34
- })
35
- @manifest({
36
- async body(self): Promise<CDK.KubeDeploymentProps> {
37
- const template = await self.template["manifest"]()
38
- const noKindFields = omit(template, ["kind", "apiVersion"])
39
- return {
40
- spec: {
41
- ...omitBy(self.props, (x, k) => k.startsWith("$")),
42
- selector: {
43
- matchLabels: {
44
- app: self.name
45
- }
46
- },
47
- template: noKindFields,
48
- strategy: self._strategy
49
- }
50
- }
43
+ #_ = (() => {
44
+ const origin = OriginContextTracker.current
45
+ if (!origin) {
46
+ throw new MakeError(
47
+ `Deployment ${this.name} must be created within an OriginEntity context`
48
+ )
51
49
  }
52
- })
53
- export class Deployment<Ports extends string = string> extends ManifestResource<Props<Ports>> {
54
- __PORTS__!: Ports
55
- kind = api.apps_.v1_.Deployment
56
- template: PodTemplate<Ports>
50
+ this.props.$template.$POD = origin["__binder__"]().bind(this.props.$template.$POD)
51
+ })()
57
52
 
58
- private get _strategy() {
59
- const strat = this.props.$strategy
60
- if (!strat) {
61
- return undefined
62
- }
63
- if (strat.type === "Recreate") {
64
- return strat
65
- }
66
- if (strat.type === "RollingUpdate") {
67
- return {
68
- type: "RollingUpdate",
69
- rollingUpdate: omit(strat, "type")
70
- }
53
+ protected __kids__(): Resource_Entity[] {
54
+ return [this._template.pull()]
55
+ }
56
+ protected body(): CDK.KubeDeploymentProps {
57
+ const self = this
58
+ const template = self._template.pull()["__submanifest__"]()
59
+ const noKindFields = omit(template, ["kind", "apiVersion"])
60
+ return {
61
+ spec: {
62
+ ...omitBy(self.props, (x, k) => k.startsWith("$")),
63
+ selector: {
64
+ matchLabels: {
65
+ app: self.name
66
+ }
67
+ },
68
+ template: noKindFields,
69
+ strategy: self._strategy
71
70
  }
72
- throw new MakeError(`Invalid strategy type: ${strat}`)
73
71
  }
74
- constructor(origin: Origin, meta: Meta | MutableMeta, props: Props<Ports>) {
75
- super(origin, meta, props)
76
- this.template = new PodTemplate.PodTemplate(
77
- origin,
78
- Meta.make({
79
- name: this.name,
80
- "%app": this.name
81
- }),
82
- props.$template
83
- )
72
+ }
73
+ private get _strategy() {
74
+ const strat = this.props.$strategy
75
+ if (!strat) {
76
+ return undefined
84
77
  }
85
- get ports() {
86
- return this.template.ports
78
+ if (strat.type === "Recreate") {
79
+ return strat
87
80
  }
81
+ if (strat.type === "RollingUpdate") {
82
+ return {
83
+ type: "RollingUpdate",
84
+ rollingUpdate: omit(strat, "type")
85
+ }
86
+ }
87
+ throw new MakeError(`Invalid strategy type: ${strat}`)
88
+ }
89
+ private readonly _template = doddle(() => {
90
+ const podTemplate = new Pod_Template(this, this.name, this.props.$template)
91
+ podTemplate.meta.add("%app", this.name)
92
+ return podTemplate
93
+ })
94
+
95
+ get ports() {
96
+ return this._template.pull().ports
88
97
  }
89
98
  }
@@ -0,0 +1,49 @@
1
+ import { Kind, Resource_Entity, type Origin_Entity, type RefKey } from "@k8ts/instruments"
2
+ import { Meta } from "@k8ts/metadata"
3
+ import { MakeError } from "../../error"
4
+
5
+ export class External<
6
+ K extends Kind.IdentParent = Kind.IdentParent,
7
+ Name extends string = string
8
+ > extends Resource_Entity<Name> {
9
+ meta = Meta.make()
10
+ constructor(
11
+ private readonly _origin: Origin_Entity,
12
+ readonly key: RefKey<K, Name>,
13
+ namespace: string | undefined = undefined
14
+ ) {
15
+ super(key.name, {})
16
+ this.meta.overwrite("name", key.name)
17
+ if (namespace) {
18
+ this.meta.overwrite("namespace", namespace)
19
+ }
20
+ }
21
+
22
+ get namespace() {
23
+ return this.meta.tryGet("namespace")
24
+ }
25
+
26
+ get kind() {
27
+ return this.key.kind
28
+ }
29
+
30
+ protected __origin__(): Origin_Entity {
31
+ return this._origin
32
+ }
33
+
34
+ protected __parent__() {
35
+ return undefined
36
+ }
37
+
38
+ protected body(): never {
39
+ throw new MakeError("Cannot get body of External resource")
40
+ }
41
+
42
+ ref() {
43
+ return {
44
+ kind: this.kind.name,
45
+ name: this.name,
46
+ namespace: this.namespace
47
+ }
48
+ }
49
+ }
@@ -1,47 +1,48 @@
1
- import { manifest, relations } from "@k8ts/instruments"
2
- import { CDK } from "../../_imports"
3
- import type { External } from "../../external"
4
- import { k8ts } from "../../kind-map"
5
- import { api } from "../../kinds"
6
- import { ManifestResource } from "../../node"
7
- import { equiv_cdk8s } from "../../node/equiv-cdk8s"
8
- import type { Service } from "../service"
1
+ import { Resource_Top, type Resource_Full_Ref } from "@k8ts/instruments"
2
+ import { CDK } from "@k8ts/sample-interfaces"
3
+ import { gateway } from "../../kinds/gateway"
4
+ import type { Port } from "../service/service-port"
9
5
 
10
- export type HttpRoute<Ports extends string> = HttpRoute.HttpRoute<Ports>
6
+ const GatewayKind = gateway.v1.Gateway._
7
+ const HttpRouteKind = gateway.v1.HttpRoute._
11
8
 
12
- export namespace HttpRoute {
13
- export interface Props<Ports extends string> {
14
- $gateway: External<api.gateway_.v1_.Gateway>
15
- $hostname: string
16
- $backend: Service.Port<Ports>
17
- _filters?: CDK.HttpRouteSpecRulesFilters[]
9
+ export interface HttpRoute_Props<Ports extends string> {
10
+ $gateway: Resource_Full_Ref<gateway.v1.Gateway._>
11
+ $hostname: string
12
+ $backend: Port<Ports>
13
+ _filters?: CDK.HttpRouteSpecRulesFilters[]
14
+ }
15
+
16
+ export class HttpRoute<Name extends string, Ports extends string> extends Resource_Top<
17
+ Name,
18
+ HttpRoute_Props<Ports>
19
+ > {
20
+ declare name: Name
21
+
22
+ get kind() {
23
+ return HttpRouteKind
18
24
  }
19
25
 
20
- @k8ts(api.gateway_.v1_.HttpRoute)
21
- @relations({
22
- needs: self => ({
23
- gateway: self.props.$gateway,
24
- service: self.props.$backend.service
25
- })
26
- })
27
- @equiv_cdk8s(CDK.HttpRoute)
28
- @manifest({
29
- body(self): CDK.HttpRouteProps {
30
- return {
31
- spec: {
32
- parentRefs: [self.props.$gateway.ref()],
33
- hostnames: [self.props.$hostname],
34
- rules: [
35
- {
36
- backendRefs: [self.props.$backend.ref()],
37
- filters: self.props._filters
38
- }
39
- ]
40
- }
26
+ protected body() {
27
+ const self = this
28
+ return {
29
+ spec: {
30
+ parentRefs: [self.props.$gateway.ref()],
31
+ hostnames: [self.props.$hostname],
32
+ rules: [
33
+ {
34
+ backendRefs: [self.props.$backend.ref()],
35
+ filters: self.props._filters
36
+ }
37
+ ]
41
38
  }
42
39
  }
43
- })
44
- export class HttpRoute<Ports extends string> extends ManifestResource<Props<Ports>> {
45
- kind = api.gateway_.v1_.HttpRoute
40
+ }
41
+
42
+ protected __needs__() {
43
+ return {
44
+ gateway: this.props.$gateway,
45
+ service: this.props.$backend.service
46
+ }
46
47
  }
47
48
  }