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
@@ -1,34 +0,0 @@
1
- import { Kind, Origin, relations } from "@k8ts/instruments"
2
- import { Meta } from "@k8ts/metadata"
3
- import { ManifestResource } from "../node"
4
-
5
- @relations("none")
6
- export class External<K extends Kind> extends ManifestResource {
7
- constructor(
8
- origin: Origin,
9
- readonly kind: K,
10
- name: string,
11
- namespace: string | undefined = undefined
12
- ) {
13
- super(
14
- origin,
15
- Meta.make({
16
- name,
17
- namespace
18
- }),
19
- {}
20
- )
21
- }
22
-
23
- manifestBody(): never {
24
- throw new Error("External resources cannot be manifested")
25
- }
26
-
27
- ref() {
28
- return {
29
- kind: this.kind.name,
30
- name: this.name,
31
- namespace: this.namespace
32
- }
33
- }
34
- }
@@ -1,66 +0,0 @@
1
- import { FutureExports, LiveRefable, Producer } from "@k8ts/instruments"
2
- import { seq, type Seq } from "doddle"
3
- import { ManifestResource } from "../node"
4
- import { k8ts_namespace } from "../runner/exporter/meta"
5
- import { Factory } from "./factory"
6
- import type { FileOrigin } from "./origin"
7
-
8
- export namespace FileExports {
9
- export type Producer<
10
- Scope extends FileOrigin.Scope,
11
- Produced extends object
12
- > = Producer.Producer<Factory.FromScope<Scope>, Produced>
13
- export interface Props<
14
- Scope extends FileOrigin.Scope = FileOrigin.Scope,
15
- Produced extends LiveRefable = LiveRefable
16
- > {
17
- origin: FileOrigin<Scope>
18
- FILE: Producer<Scope, Produced>
19
- }
20
-
21
- export class Core {
22
- #props: Props
23
- #produced: Seq<LiveRefable>
24
- constructor(props: Props) {
25
- this.#props = props
26
- const producer = Producer.map(props.FILE, () => {
27
- if (props.origin.scope === "cluster") {
28
- return new Factory.Cluster(props.origin.node)
29
- } else {
30
- return new Factory.Namespaced(props.origin.node)
31
- }
32
- })
33
- this.#produced = seq(() => producer(props.origin))
34
- .as<ManifestResource>()
35
- .each(x => {
36
- x.meta.add(k8ts_namespace, {
37
- "#is-exported": "true"
38
- })
39
- })
40
- .cache()
41
- }
42
-
43
- get __entity__() {
44
- return this.#props.origin
45
- }
46
-
47
- get __node__() {
48
- return this.#props.origin.node
49
- }
50
-
51
- [Symbol.iterator]() {
52
- return this.#produced[Symbol.iterator]()
53
- }
54
- }
55
-
56
- export function make<Scope extends FileOrigin.Scope, Produced extends LiveRefable>(
57
- props: Props<Scope, Produced>
58
- ): Core & FutureExports<Produced> {
59
- const core = new Core(props as any)
60
- return FutureExports.make({
61
- actual: core,
62
- origin: props.origin.node,
63
- exports: core
64
- }) as any
65
- }
66
- }
@@ -1,199 +0,0 @@
1
- import {
2
- Cron,
3
- Origin,
4
- Trace,
5
- TraceEmbedder,
6
- auto_register,
7
- displayers,
8
- type LiveRefable
9
- } from "@k8ts/instruments"
10
- import chalk from "chalk"
11
- import StackTracey from "stacktracey"
12
- import {
13
- ConfigMap,
14
- DataMode,
15
- Deployment,
16
- HttpRoute,
17
- Namespace,
18
- PodTemplate,
19
- Pv,
20
- Pvc,
21
- Secret,
22
- Service
23
- } from "../resources"
24
- import { K8tsCronJob, K8tsCronJobProps } from "../resources/cronjob"
25
- import { AssemblyStage } from "../runner/exporter"
26
- import type { FileOrigin } from "./origin"
27
-
28
- export type Factory = Factory.Factory
29
- export namespace Factory {
30
- export type Factory = Cluster | Namespaced
31
- export type FromScope<FScope extends FileOrigin.Scope> = FScope extends "cluster"
32
- ? Cluster
33
- : Namespaced
34
-
35
- export class Base {
36
- constructor(readonly origin: Origin) {}
37
-
38
- protected _metaWithName(name: string) {
39
- return this.origin.meta.add({
40
- name
41
- })
42
- }
43
- }
44
- @auto_register
45
- export class Cluster extends Base {
46
- PersistentVolume<Name extends string, Mode extends DataMode = "Filesystem">(
47
- name: Name,
48
- props: Pv.Props<Mode>
49
- ) {
50
- return new Pv.Pv(this.origin, this._metaWithName(name), props) as LiveRefable<
51
- Pv.Pv<Mode>,
52
- Name
53
- >
54
- }
55
- Namespace<Name extends string>(name: Name, props?: Namespace.Props) {
56
- return new Namespace.Namespace(
57
- this.origin,
58
- this._metaWithName(name),
59
- props
60
- ) as LiveRefable<Namespace, Name>
61
- }
62
- }
63
-
64
- @auto_register
65
- export class Namespaced extends Base {
66
- Claim<Name extends string, Mode extends DataMode = "Filesystem">(
67
- name: Name,
68
- mode: Pvc.Props<Mode>
69
- ) {
70
- return new Pvc.Pvc(this.origin, this._metaWithName(name), mode) as LiveRefable<
71
- Pvc.Pvc<Mode>,
72
- Name
73
- >
74
- }
75
- CronJob<Name extends string, Cr extends Cron.Record>(
76
- name: Name,
77
- props: K8tsCronJobProps<Cr>
78
- ) {
79
- return new K8tsCronJob(this.origin, this._metaWithName(name), props) as LiveRefable<
80
- K8tsCronJob<Cr>,
81
- Name
82
- >
83
- }
84
-
85
- ConfigMap<Name extends string>(name: Name, props: ConfigMap.Props) {
86
- return new ConfigMap.ConfigMap(
87
- this.origin,
88
- this._metaWithName(name),
89
- props
90
- ) as LiveRefable<ConfigMap, Name>
91
- }
92
- HttpRoute<Name extends string, Ports extends string>(
93
- name: Name,
94
- props: HttpRoute.Props<Ports>
95
- ) {
96
- return new HttpRoute.HttpRoute(
97
- this.origin,
98
- this._metaWithName(name),
99
- props
100
- ) as LiveRefable<HttpRoute<Ports>, Name>
101
- }
102
- Secret<Name extends string>(name: Name, props: Secret.Props) {
103
- return new Secret.Secret(this.origin, this._metaWithName(name), props) as LiveRefable<
104
- Secret,
105
- Name
106
- >
107
- }
108
- Service<Name extends string, DeployPorts extends string, ExposedPorts extends DeployPorts>(
109
- name: Name,
110
- props: Service.Props<DeployPorts, ExposedPorts>
111
- ) {
112
- return new Service.Service(this.origin, this._metaWithName(name), props) as LiveRefable<
113
- Service<ExposedPorts>,
114
- Name
115
- >
116
- }
117
-
118
- Deployment<Name extends string>(name: Name, props: Deployment.NormalProps) {
119
- const builder = this
120
- const traceHere = new Trace(new StackTracey().slice(2))
121
-
122
- return {
123
- Template(templateProps?: PodTemplate.PodProps) {
124
- return {
125
- POD<Ports extends string>(
126
- producer: PodTemplate.PodContainerProducer<Ports>
127
- ) {
128
- const dep = new Deployment.Deployment(
129
- builder.origin,
130
- builder._metaWithName(name),
131
- {
132
- ...props,
133
- $template: {
134
- ...templateProps,
135
- $POD: producer
136
- }
137
- }
138
- ) as LiveRefable<Deployment<Ports>, Name>
139
- TraceEmbedder.set(dep.node, traceHere)
140
- dep.node.origin["__attach_resource__"]([dep.node])
141
- return dep
142
- }
143
- }
144
- }
145
- }
146
- }
147
-
148
- DomainRoute<Name extends string, Ports extends string>(
149
- name: Name,
150
- props: HttpRoute.Props<Ports>
151
- ) {
152
- return new HttpRoute.HttpRoute(
153
- this.origin,
154
- this._metaWithName(name),
155
- props
156
- ) as LiveRefable<HttpRoute<Ports>, Name>
157
- }
158
- PodTemplate<Name extends string, Ports extends string>(
159
- name: Name,
160
- props: PodTemplate.Props<Ports> | PodTemplate.Props<Ports>["$POD"]
161
- ) {
162
- const props_ = typeof props === "function" ? { $POD: props } : props
163
- return new PodTemplate.PodTemplate(
164
- this.origin,
165
- this._metaWithName(name),
166
- props_
167
- ) as LiveRefable<PodTemplate<Ports>, Name>
168
- }
169
- }
170
- }
171
- @displayers({
172
- simple: s => s.text,
173
- pretty: stage => chalk.bgGreenBright.bold.black(` ${stage.text} `)
174
- })
175
- export class Stage {
176
- text: string
177
- constructor(private stage: AssemblyStage) {
178
- this.text = `${stage.toUpperCase()}`
179
- }
180
-
181
- private get _emoji() {
182
- switch (this.stage) {
183
- case "gathering":
184
- return "🛒"
185
- case "loading":
186
- return "🚚"
187
- case "manifesting":
188
- return "👻"
189
- case "start":
190
- return "🚀"
191
- case "saving":
192
- return "💾"
193
- case "serializing":
194
- return "🖨️"
195
- case "done":
196
- return "✅"
197
- }
198
- }
199
- }
package/src/file/file.ts DELETED
@@ -1,33 +0,0 @@
1
- import type { FutureExports, LiveRefable, Origin } from "@k8ts/instruments"
2
- import { FileExports as Exports_ } from "./exports"
3
- import { Factory as Factory_ } from "./factory"
4
- import { FileOrigin } from "./origin"
5
- export type File<T extends LiveRefable = LiveRefable> = File.File<T>
6
- export namespace File {
7
- export import Factory = Factory_
8
-
9
- export import Exports = Exports_
10
-
11
- export interface Props<
12
- Scope extends FileOrigin.Scope = FileOrigin.Scope,
13
- Produced extends LiveRefable = LiveRefable
14
- > extends FileOrigin.Props<Scope> {
15
- FILE: Exports.Producer<Scope, Produced>
16
- }
17
-
18
- export type Input = Exports.Core & Iterable<LiveRefable>
19
- export type File<T extends LiveRefable> = Exports.Core & FutureExports<T>
20
-
21
- export function make<Scope extends FileOrigin.Scope, Produced extends LiveRefable>(
22
- name: string,
23
- props: Props<Scope, Produced>,
24
- parent: Origin
25
- ) {
26
- const origin = FileOrigin.make(name, props, parent)
27
- const exports = Exports.make({
28
- origin,
29
- FILE: props.FILE
30
- })
31
- return exports as File<Produced>
32
- }
33
- }
package/src/file/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./file"
@@ -1,41 +0,0 @@
1
- import { BaseOriginEntity, Origin, OriginEntityProps, Refable } from "@k8ts/instruments"
2
- import { Meta } from "@k8ts/metadata"
3
- import { k8tsBuildKind } from "../k8ts-sys-kind"
4
- import { api } from "../kinds"
5
- export type FileOrigin<FScope extends FileOrigin.Scope = FileOrigin.Scope> =
6
- FileOrigin.FileEntity<FScope>
7
- export namespace FileOrigin {
8
- export type Scope = Refable<api.v1_.Namespace> | "cluster"
9
-
10
- export interface SmallerProps extends OriginEntityProps {
11
- meta?: Meta.Input
12
- }
13
- export interface Props<FScope extends Scope = Scope> extends OriginEntityProps {
14
- meta?: Meta.Input
15
- scope: FScope
16
- }
17
-
18
- const ident = k8tsBuildKind.kind("File")
19
- export class FileEntity<FScope extends Scope> extends BaseOriginEntity<Props<FScope>> {
20
- kind = k8tsBuildKind.kind("File")
21
-
22
- constructor(name: string, props: Props<FScope>, parent: Origin) {
23
- super(name, props, parent)
24
- this.meta = this.meta.add({
25
- namespace: props.scope === "cluster" ? undefined : props.scope.name
26
- })
27
- }
28
-
29
- get scope() {
30
- return this.props.scope
31
- }
32
- }
33
-
34
- export function make<FScope extends Scope>(
35
- name: string,
36
- props: Props<FScope>,
37
- parent: Origin
38
- ): FileEntity<FScope> {
39
- return new FileEntity(name, props, parent)
40
- }
41
- }
@@ -1,4 +0,0 @@
1
- import { Kind } from "@k8ts/instruments"
2
- import { version } from "./version"
3
- const major = version.split(".")[0]
4
- export const k8tsBuildKind = Kind.group("build.k8ts.org").version(`v${major}`)
package/src/kind-map.ts DELETED
@@ -1,42 +0,0 @@
1
- import {
2
- BaseOriginEntity,
3
- Kind,
4
- kinded,
5
- OriginEntityProps,
6
- ResourceEntity
7
- } from "@k8ts/instruments"
8
- import { k8tsBuildKind } from "./k8ts-sys-kind"
9
- const ident = k8tsBuildKind.kind("World")
10
-
11
- class K8tsRootOriginEntity extends BaseOriginEntity<OriginEntityProps> {
12
- override kind = ident
13
- constructor() {
14
- super(
15
- "K8ts",
16
- {
17
- meta: {
18
- "^produced-by": `k8ts@${k8tsBuildKind.name.slice(1)}`
19
- }
20
- },
21
- null
22
- )
23
- }
24
-
25
- get decorator() {
26
- return <Target extends abstract new (...args: any[]) => ResourceEntity>(
27
- kind: Kind.Identifier
28
- ) => {
29
- return (ctor: Target) => {
30
- this.node.resourceKinds.add(kind, ctor)
31
- kinded(kind)(ctor)
32
- return ctor
33
- }
34
- }
35
- }
36
- }
37
-
38
- export const K8tsRootOrigin = new K8tsRootOriginEntity()
39
- export const K8tsResources = K8tsRootOrigin.node.resourceKinds
40
-
41
- export const k8ts = K8tsRootOrigin.decorator
42
- export const REF_TYPE = Symbol.for("k8ts:ref")
package/src/kinds.ts DELETED
@@ -1,158 +0,0 @@
1
- import { Kind } from "@k8ts/instruments"
2
- export namespace api {
3
- export const v1 = Kind.version("v1")
4
- export type v1 = typeof v1
5
-
6
- export const batch = Kind.group("batch")
7
- export type batch = typeof batch
8
- export namespace batch_ {
9
- export const v1 = batch.version("v1")
10
- export namespace v1_ {
11
- export function kind_<Name extends string>(name: Name): Kind<Name, typeof v1> {
12
- return v1.kind(name)
13
- }
14
-
15
- export const Job = v1.kind("Job")
16
- export type Job = typeof Job
17
-
18
- export const CronJob = v1.kind("CronJob")
19
- export type CronJob = typeof CronJob
20
- }
21
- }
22
- export namespace v1_ {
23
- export function kind_<Name extends string>(name: Name): Kind<Name, typeof v1> {
24
- return v1.kind(name)
25
- }
26
-
27
- export const ConfigMap = v1.kind("ConfigMap")
28
- export type ConfigMap = typeof ConfigMap
29
-
30
- export const Secret = v1.kind("Secret")
31
- export type Secret = typeof Secret
32
-
33
- export const Service = v1.kind("Service")
34
- export type Service = typeof Service
35
-
36
- export const Pod = v1.kind("Pod")
37
- export type Pod = typeof Pod
38
-
39
- export namespace Pod_ {
40
- export const Container = Pod.subkind("Container")
41
- export type Container = typeof Container
42
-
43
- export const Port = Container.subkind("Port")
44
- export type Port = typeof Port
45
-
46
- export const EnvVar = Container.subkind("EnvVar")
47
- export type EnvVar = typeof EnvVar
48
-
49
- export const VolumeMount = Container.subkind("VolumeMount")
50
- export type VolumeMount = typeof VolumeMount
51
-
52
- export const DeviceMount = Container.subkind("DeviceMount")
53
- export type DeviceMount = typeof DeviceMount
54
-
55
- export const Volume = Pod.subkind("Volume")
56
- export type Volume = typeof Volume
57
-
58
- export const Device = Volume.subkind("Device")
59
- export type Device = typeof Device
60
- }
61
-
62
- export const Node = v1.kind("Node")
63
- export type Node = typeof Node
64
-
65
- export const Namespace = v1.kind("Namespace")
66
- export type Namespace = typeof Namespace
67
-
68
- export const ServiceAccount = v1.kind("ServiceAccount")
69
- export type ServiceAccount = typeof ServiceAccount
70
-
71
- export const PersistentVolume = v1.kind("PersistentVolume")
72
- export type PersistentVolume = typeof PersistentVolume
73
-
74
- export const PersistentVolumeClaim = v1.kind("PersistentVolumeClaim")
75
- export type PersistentVolumeClaim = typeof PersistentVolumeClaim
76
-
77
- export const PodTemplate = v1.kind("PodTemplate")
78
- export type PodTemplate = typeof PodTemplate
79
- }
80
-
81
- export const apps = Kind.group("apps")
82
- export type apps = typeof apps
83
-
84
- export namespace apps_ {
85
- export const v1 = apps.version("v1")
86
- export type v1 = typeof v1
87
-
88
- export namespace v1_ {
89
- export const Deployment = v1.kind("Deployment")
90
- export type Deployment = typeof Deployment
91
-
92
- export const StatefulSet = v1.kind("StatefulSet")
93
- export type StatefulSet = typeof StatefulSet
94
-
95
- export const DaemonSet = v1.kind("DaemonSet")
96
- export type DaemonSet = typeof DaemonSet
97
-
98
- export const ReplicaSet = v1.kind("ReplicaSet")
99
- export type ReplicaSet = typeof ReplicaSet
100
-
101
- export const ControllerRevision = v1.kind("ControllerRevision")
102
- export type ControllerRevision = typeof ControllerRevision
103
- }
104
- }
105
-
106
- export const networking = Kind.group("networking.k8s.io")
107
- export type networking = typeof networking
108
-
109
- export namespace networking_ {
110
- export const v1 = networking.version("v1")
111
- export type v1 = typeof v1
112
-
113
- export namespace v1_ {
114
- export const NetworkPolicy = v1.kind("NetworkPolicy")
115
- export type NetworkPolicy = typeof NetworkPolicy
116
- }
117
- }
118
-
119
- export const gateway = Kind.group("gateway.networking.k8s.io")
120
- export type gateway = typeof gateway
121
-
122
- export namespace gateway_ {
123
- export const v1 = gateway.version("v1")
124
- export type v1 = typeof v1
125
-
126
- export namespace v1_ {
127
- export const Gateway = v1.kind("Gateway")
128
- export type Gateway = typeof Gateway
129
-
130
- export const GatewayClass = v1.kind("GatewayClass")
131
- export type GatewayClass = typeof GatewayClass
132
-
133
- export const HttpRoute = v1.kind("HTTPRoute")
134
- export type HttpRoute = typeof HttpRoute
135
-
136
- export const TcpRoute = v1.kind("TCPRoute")
137
- export type TcpRoute = typeof TcpRoute
138
-
139
- export const TlsRoute = v1.kind("TLSRoute")
140
- export type TlsRoute = typeof TlsRoute
141
- }
142
- }
143
-
144
- export const storage = Kind.group("storage.k8s.io")
145
- export type storage = typeof storage
146
- export namespace storage_ {
147
- export const v1 = storage.version("v1")
148
- export type v1 = typeof v1
149
-
150
- export namespace v1_ {
151
- export const StorageClass = v1.kind("StorageClass")
152
- export type StorageClass = typeof StorageClass
153
-
154
- export const VolumeAttachment = v1.kind("VolumeAttachment")
155
- export type VolumeAttachment = typeof VolumeAttachment
156
- }
157
- }
158
- }
@@ -1,6 +0,0 @@
1
- import { Meta } from "@k8ts/metadata"
2
- import { k8ts_namespace } from "../runner/exporter/meta"
3
- export function k8tsSectionMeta(meta: Meta.Input) {
4
- const m = Meta.make(meta)
5
- return m.section(k8ts_namespace)
6
- }
@@ -1,37 +0,0 @@
1
- import { displayers, Kind, Origin, RefKey, ResourceEntity, ResourceNode } from "@k8ts/instruments"
2
- import { Doddle, doddle } from "doddle"
3
-
4
- export interface ResourceIdentBlock {
5
- kind: Kind.IdentParent
6
- name: string
7
- }
8
- @displayers({
9
- simple: s => s.node,
10
- pretty: s => s.node
11
- })
12
- export abstract class AbsResource<Props extends object = object> implements ResourceEntity {
13
- abstract readonly kind: Kind.Identifier<string, Kind.Identifier>
14
-
15
- private _node: Doddle<ResourceNode>
16
-
17
- with(callback: (self: this) => void) {
18
- callback(this)
19
- return this
20
- }
21
- get node() {
22
- return this._node.pull()
23
- }
24
- protected constructor(
25
- origin: Origin,
26
- public name: string,
27
- readonly props: Props
28
- ) {
29
- this._node = doddle(() => new ResourceNode(origin, this, RefKey.make(this.kind, this.name)))
30
- }
31
-
32
- get shortFqn() {
33
- return [this.node.origin.name, [this.kind.name, this.name].filter(Boolean).join("/")].join(
34
- ":"
35
- )
36
- }
37
- }
File without changes
@@ -1,19 +0,0 @@
1
- import { Embedder, Kinded, LiveRefable } from "@k8ts/instruments"
2
- import { Construct } from "constructs"
3
-
4
- export type Cdk8sCtor = {
5
- new (parent: Construct, id: string, props: any): Construct
6
- }
7
- export type KindedCtor = new (...args: any[]) => Kinded
8
- export const EquivCdk8s = new Embedder<LiveRefable, Cdk8sCtor>("CDK8S_RESOURCE")
9
-
10
- export function equiv_cdk8s(ctor: Cdk8sCtor) {
11
- return <F extends KindedCtor>(target: F) => {
12
- const cdk8s = EquivCdk8s.tryGet(target.prototype)
13
- if (cdk8s) {
14
- throw new Error(`Target ${target} already has a cdk8s equivalent! ${cdk8s}`)
15
- }
16
- EquivCdk8s.set(target.prototype, ctor)
17
- return target
18
- }
19
- }
package/src/node/index.ts DELETED
@@ -1,4 +0,0 @@
1
- export { AbsResource } from "./abs-resource"
2
- export { ManifestResource } from "./manifest-resource"
3
- export { SubResource } from "./sub-resource"
4
- export { TopResource } from "./top-resource"
@@ -1,23 +0,0 @@
1
- import { Builder, Kind, type Origin } from "@k8ts/instruments"
2
- import type { Meta, MutableMeta } from "@k8ts/metadata"
3
- import { ResourceIdentBlock } from "./abs-resource"
4
- import { TopResource } from "./top-resource"
5
-
6
- export interface ManifestResourceIdent extends ResourceIdentBlock {
7
- name: string
8
- }
9
- export abstract class ManifestResource<Props extends object = object> extends TopResource<Props> {
10
- protected async manifest() {
11
- return Builder.get(this).manifest()
12
- }
13
- abstract override readonly kind: Kind.Kind
14
- readonly meta: MutableMeta
15
- constructor(origin: Origin, meta: Meta | MutableMeta, props: Props) {
16
- super(origin, meta.get("name"), props)
17
- this.meta = meta.toMutable()
18
- }
19
-
20
- get namespace() {
21
- return this.meta.tryGet("namespace")
22
- }
23
- }