@reyemtech/nimbus 0.1.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 (363) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +399 -0
  3. package/dist/cjs/aws/cluster.d.ts +32 -0
  4. package/dist/cjs/aws/cluster.d.ts.map +1 -0
  5. package/dist/cjs/aws/cluster.js +214 -0
  6. package/dist/cjs/aws/cluster.js.map +1 -0
  7. package/dist/cjs/aws/dns.d.ts +22 -0
  8. package/dist/cjs/aws/dns.d.ts.map +1 -0
  9. package/dist/cjs/aws/dns.js +95 -0
  10. package/dist/cjs/aws/dns.js.map +1 -0
  11. package/dist/cjs/aws/index.d.ts +10 -0
  12. package/dist/cjs/aws/index.d.ts.map +1 -0
  13. package/dist/cjs/aws/index.js +17 -0
  14. package/dist/cjs/aws/index.js.map +1 -0
  15. package/dist/cjs/aws/network.d.ts +27 -0
  16. package/dist/cjs/aws/network.d.ts.map +1 -0
  17. package/dist/cjs/aws/network.js +262 -0
  18. package/dist/cjs/aws/network.js.map +1 -0
  19. package/dist/cjs/aws/secrets.d.ts +26 -0
  20. package/dist/cjs/aws/secrets.d.ts.map +1 -0
  21. package/dist/cjs/aws/secrets.js +127 -0
  22. package/dist/cjs/aws/secrets.js.map +1 -0
  23. package/dist/cjs/azure/cluster.d.ts +44 -0
  24. package/dist/cjs/azure/cluster.d.ts.map +1 -0
  25. package/dist/cjs/azure/cluster.js +143 -0
  26. package/dist/cjs/azure/cluster.js.map +1 -0
  27. package/dist/cjs/azure/dns.d.ts +28 -0
  28. package/dist/cjs/azure/dns.d.ts.map +1 -0
  29. package/dist/cjs/azure/dns.js +169 -0
  30. package/dist/cjs/azure/dns.js.map +1 -0
  31. package/dist/cjs/azure/index.d.ts +10 -0
  32. package/dist/cjs/azure/index.d.ts.map +1 -0
  33. package/dist/cjs/azure/index.js +17 -0
  34. package/dist/cjs/azure/index.js.map +1 -0
  35. package/dist/cjs/azure/network.d.ts +28 -0
  36. package/dist/cjs/azure/network.d.ts.map +1 -0
  37. package/dist/cjs/azure/network.js +176 -0
  38. package/dist/cjs/azure/network.js.map +1 -0
  39. package/dist/cjs/azure/secrets.d.ts +37 -0
  40. package/dist/cjs/azure/secrets.d.ts.map +1 -0
  41. package/dist/cjs/azure/secrets.js +150 -0
  42. package/dist/cjs/azure/secrets.js.map +1 -0
  43. package/dist/cjs/cache/index.d.ts +7 -0
  44. package/dist/cjs/cache/index.d.ts.map +1 -0
  45. package/dist/cjs/cache/index.js +8 -0
  46. package/dist/cjs/cache/index.js.map +1 -0
  47. package/dist/cjs/cache/interfaces.d.ts +60 -0
  48. package/dist/cjs/cache/interfaces.d.ts.map +1 -0
  49. package/dist/cjs/cache/interfaces.js +11 -0
  50. package/dist/cjs/cache/interfaces.js.map +1 -0
  51. package/dist/cjs/cluster/index.d.ts +7 -0
  52. package/dist/cjs/cluster/index.d.ts.map +1 -0
  53. package/dist/cjs/cluster/index.js +8 -0
  54. package/dist/cjs/cluster/index.js.map +1 -0
  55. package/dist/cjs/cluster/interfaces.d.ts +120 -0
  56. package/dist/cjs/cluster/interfaces.d.ts.map +1 -0
  57. package/dist/cjs/cluster/interfaces.js +12 -0
  58. package/dist/cjs/cluster/interfaces.js.map +1 -0
  59. package/dist/cjs/database/index.d.ts +7 -0
  60. package/dist/cjs/database/index.d.ts.map +1 -0
  61. package/dist/cjs/database/index.js +8 -0
  62. package/dist/cjs/database/index.js.map +1 -0
  63. package/dist/cjs/database/interfaces.d.ts +93 -0
  64. package/dist/cjs/database/interfaces.d.ts.map +1 -0
  65. package/dist/cjs/database/interfaces.js +12 -0
  66. package/dist/cjs/database/interfaces.js.map +1 -0
  67. package/dist/cjs/dns/index.d.ts +7 -0
  68. package/dist/cjs/dns/index.d.ts.map +1 -0
  69. package/dist/cjs/dns/index.js +8 -0
  70. package/dist/cjs/dns/index.js.map +1 -0
  71. package/dist/cjs/dns/interfaces.d.ts +55 -0
  72. package/dist/cjs/dns/interfaces.d.ts.map +1 -0
  73. package/dist/cjs/dns/interfaces.js +11 -0
  74. package/dist/cjs/dns/interfaces.js.map +1 -0
  75. package/dist/cjs/factories/cluster.d.ts +45 -0
  76. package/dist/cjs/factories/cluster.d.ts.map +1 -0
  77. package/dist/cjs/factories/cluster.js +90 -0
  78. package/dist/cjs/factories/cluster.js.map +1 -0
  79. package/dist/cjs/factories/dns.d.ts +30 -0
  80. package/dist/cjs/factories/dns.d.ts.map +1 -0
  81. package/dist/cjs/factories/dns.js +56 -0
  82. package/dist/cjs/factories/dns.js.map +1 -0
  83. package/dist/cjs/factories/index.d.ts +15 -0
  84. package/dist/cjs/factories/index.d.ts.map +1 -0
  85. package/dist/cjs/factories/index.js +23 -0
  86. package/dist/cjs/factories/index.js.map +1 -0
  87. package/dist/cjs/factories/network.d.ts +40 -0
  88. package/dist/cjs/factories/network.d.ts.map +1 -0
  89. package/dist/cjs/factories/network.js +85 -0
  90. package/dist/cjs/factories/network.js.map +1 -0
  91. package/dist/cjs/factories/secrets.d.ts +38 -0
  92. package/dist/cjs/factories/secrets.d.ts.map +1 -0
  93. package/dist/cjs/factories/secrets.js +67 -0
  94. package/dist/cjs/factories/secrets.js.map +1 -0
  95. package/dist/cjs/factories/types.d.ts +75 -0
  96. package/dist/cjs/factories/types.d.ts.map +1 -0
  97. package/dist/cjs/factories/types.js +28 -0
  98. package/dist/cjs/factories/types.js.map +1 -0
  99. package/dist/cjs/global-lb/glb.d.ts +29 -0
  100. package/dist/cjs/global-lb/glb.d.ts.map +1 -0
  101. package/dist/cjs/global-lb/glb.js +220 -0
  102. package/dist/cjs/global-lb/glb.js.map +1 -0
  103. package/dist/cjs/global-lb/index.d.ts +8 -0
  104. package/dist/cjs/global-lb/index.d.ts.map +1 -0
  105. package/dist/cjs/global-lb/index.js +11 -0
  106. package/dist/cjs/global-lb/index.js.map +1 -0
  107. package/dist/cjs/global-lb/interfaces.d.ts +62 -0
  108. package/dist/cjs/global-lb/interfaces.d.ts.map +1 -0
  109. package/dist/cjs/global-lb/interfaces.js +11 -0
  110. package/dist/cjs/global-lb/interfaces.js.map +1 -0
  111. package/dist/cjs/index.d.ts +28 -0
  112. package/dist/cjs/index.d.ts.map +1 -0
  113. package/dist/cjs/index.js +72 -0
  114. package/dist/cjs/index.js.map +1 -0
  115. package/dist/cjs/network/cidr.d.ts +92 -0
  116. package/dist/cjs/network/cidr.d.ts.map +1 -0
  117. package/dist/cjs/network/cidr.js +189 -0
  118. package/dist/cjs/network/cidr.js.map +1 -0
  119. package/dist/cjs/network/index.d.ts +8 -0
  120. package/dist/cjs/network/index.d.ts.map +1 -0
  121. package/dist/cjs/network/index.js +17 -0
  122. package/dist/cjs/network/index.js.map +1 -0
  123. package/dist/cjs/network/interfaces.d.ts +60 -0
  124. package/dist/cjs/network/interfaces.d.ts.map +1 -0
  125. package/dist/cjs/network/interfaces.js +12 -0
  126. package/dist/cjs/network/interfaces.js.map +1 -0
  127. package/dist/cjs/platform/index.d.ts +8 -0
  128. package/dist/cjs/platform/index.d.ts.map +1 -0
  129. package/dist/cjs/platform/index.js +11 -0
  130. package/dist/cjs/platform/index.js.map +1 -0
  131. package/dist/cjs/platform/interfaces.d.ts +86 -0
  132. package/dist/cjs/platform/interfaces.d.ts.map +1 -0
  133. package/dist/cjs/platform/interfaces.js +12 -0
  134. package/dist/cjs/platform/interfaces.js.map +1 -0
  135. package/dist/cjs/platform/stack.d.ts +32 -0
  136. package/dist/cjs/platform/stack.d.ts.map +1 -0
  137. package/dist/cjs/platform/stack.js +258 -0
  138. package/dist/cjs/platform/stack.js.map +1 -0
  139. package/dist/cjs/queue/index.d.ts +7 -0
  140. package/dist/cjs/queue/index.d.ts.map +1 -0
  141. package/dist/cjs/queue/index.js +8 -0
  142. package/dist/cjs/queue/index.js.map +1 -0
  143. package/dist/cjs/queue/interfaces.d.ts +46 -0
  144. package/dist/cjs/queue/interfaces.d.ts.map +1 -0
  145. package/dist/cjs/queue/interfaces.js +11 -0
  146. package/dist/cjs/queue/interfaces.js.map +1 -0
  147. package/dist/cjs/secrets/index.d.ts +7 -0
  148. package/dist/cjs/secrets/index.d.ts.map +1 -0
  149. package/dist/cjs/secrets/index.js +8 -0
  150. package/dist/cjs/secrets/index.js.map +1 -0
  151. package/dist/cjs/secrets/interfaces.d.ts +73 -0
  152. package/dist/cjs/secrets/interfaces.d.ts.map +1 -0
  153. package/dist/cjs/secrets/interfaces.js +11 -0
  154. package/dist/cjs/secrets/interfaces.js.map +1 -0
  155. package/dist/cjs/storage/index.d.ts +7 -0
  156. package/dist/cjs/storage/index.d.ts.map +1 -0
  157. package/dist/cjs/storage/index.js +8 -0
  158. package/dist/cjs/storage/index.js.map +1 -0
  159. package/dist/cjs/storage/interfaces.d.ts +63 -0
  160. package/dist/cjs/storage/interfaces.d.ts.map +1 -0
  161. package/dist/cjs/storage/interfaces.js +11 -0
  162. package/dist/cjs/storage/interfaces.js.map +1 -0
  163. package/dist/cjs/types/cloud-target.d.ts +89 -0
  164. package/dist/cjs/types/cloud-target.d.ts.map +1 -0
  165. package/dist/cjs/types/cloud-target.js +73 -0
  166. package/dist/cjs/types/cloud-target.js.map +1 -0
  167. package/dist/cjs/types/errors.d.ts +96 -0
  168. package/dist/cjs/types/errors.d.ts.map +1 -0
  169. package/dist/cjs/types/errors.js +127 -0
  170. package/dist/cjs/types/errors.js.map +1 -0
  171. package/dist/cjs/types/index.d.ts +10 -0
  172. package/dist/cjs/types/index.d.ts.map +1 -0
  173. package/dist/cjs/types/index.js +33 -0
  174. package/dist/cjs/types/index.js.map +1 -0
  175. package/dist/cjs/types/tags.d.ts +53 -0
  176. package/dist/cjs/types/tags.d.ts.map +1 -0
  177. package/dist/cjs/types/tags.js +110 -0
  178. package/dist/cjs/types/tags.js.map +1 -0
  179. package/dist/cjs/types/validation.d.ts +63 -0
  180. package/dist/cjs/types/validation.d.ts.map +1 -0
  181. package/dist/cjs/types/validation.js +158 -0
  182. package/dist/cjs/types/validation.js.map +1 -0
  183. package/dist/esm/aws/cluster.d.ts +32 -0
  184. package/dist/esm/aws/cluster.d.ts.map +1 -0
  185. package/dist/esm/aws/cluster.js +214 -0
  186. package/dist/esm/aws/cluster.js.map +1 -0
  187. package/dist/esm/aws/dns.d.ts +22 -0
  188. package/dist/esm/aws/dns.d.ts.map +1 -0
  189. package/dist/esm/aws/dns.js +95 -0
  190. package/dist/esm/aws/dns.js.map +1 -0
  191. package/dist/esm/aws/index.d.ts +10 -0
  192. package/dist/esm/aws/index.d.ts.map +1 -0
  193. package/dist/esm/aws/index.js +17 -0
  194. package/dist/esm/aws/index.js.map +1 -0
  195. package/dist/esm/aws/network.d.ts +27 -0
  196. package/dist/esm/aws/network.d.ts.map +1 -0
  197. package/dist/esm/aws/network.js +262 -0
  198. package/dist/esm/aws/network.js.map +1 -0
  199. package/dist/esm/aws/secrets.d.ts +26 -0
  200. package/dist/esm/aws/secrets.d.ts.map +1 -0
  201. package/dist/esm/aws/secrets.js +127 -0
  202. package/dist/esm/aws/secrets.js.map +1 -0
  203. package/dist/esm/azure/cluster.d.ts +44 -0
  204. package/dist/esm/azure/cluster.d.ts.map +1 -0
  205. package/dist/esm/azure/cluster.js +143 -0
  206. package/dist/esm/azure/cluster.js.map +1 -0
  207. package/dist/esm/azure/dns.d.ts +28 -0
  208. package/dist/esm/azure/dns.d.ts.map +1 -0
  209. package/dist/esm/azure/dns.js +169 -0
  210. package/dist/esm/azure/dns.js.map +1 -0
  211. package/dist/esm/azure/index.d.ts +10 -0
  212. package/dist/esm/azure/index.d.ts.map +1 -0
  213. package/dist/esm/azure/index.js +17 -0
  214. package/dist/esm/azure/index.js.map +1 -0
  215. package/dist/esm/azure/network.d.ts +28 -0
  216. package/dist/esm/azure/network.d.ts.map +1 -0
  217. package/dist/esm/azure/network.js +176 -0
  218. package/dist/esm/azure/network.js.map +1 -0
  219. package/dist/esm/azure/secrets.d.ts +37 -0
  220. package/dist/esm/azure/secrets.d.ts.map +1 -0
  221. package/dist/esm/azure/secrets.js +150 -0
  222. package/dist/esm/azure/secrets.js.map +1 -0
  223. package/dist/esm/cache/index.d.ts +7 -0
  224. package/dist/esm/cache/index.d.ts.map +1 -0
  225. package/dist/esm/cache/index.js +8 -0
  226. package/dist/esm/cache/index.js.map +1 -0
  227. package/dist/esm/cache/interfaces.d.ts +60 -0
  228. package/dist/esm/cache/interfaces.d.ts.map +1 -0
  229. package/dist/esm/cache/interfaces.js +11 -0
  230. package/dist/esm/cache/interfaces.js.map +1 -0
  231. package/dist/esm/cluster/index.d.ts +7 -0
  232. package/dist/esm/cluster/index.d.ts.map +1 -0
  233. package/dist/esm/cluster/index.js +8 -0
  234. package/dist/esm/cluster/index.js.map +1 -0
  235. package/dist/esm/cluster/interfaces.d.ts +120 -0
  236. package/dist/esm/cluster/interfaces.d.ts.map +1 -0
  237. package/dist/esm/cluster/interfaces.js +12 -0
  238. package/dist/esm/cluster/interfaces.js.map +1 -0
  239. package/dist/esm/database/index.d.ts +7 -0
  240. package/dist/esm/database/index.d.ts.map +1 -0
  241. package/dist/esm/database/index.js +8 -0
  242. package/dist/esm/database/index.js.map +1 -0
  243. package/dist/esm/database/interfaces.d.ts +93 -0
  244. package/dist/esm/database/interfaces.d.ts.map +1 -0
  245. package/dist/esm/database/interfaces.js +12 -0
  246. package/dist/esm/database/interfaces.js.map +1 -0
  247. package/dist/esm/dns/index.d.ts +7 -0
  248. package/dist/esm/dns/index.d.ts.map +1 -0
  249. package/dist/esm/dns/index.js +8 -0
  250. package/dist/esm/dns/index.js.map +1 -0
  251. package/dist/esm/dns/interfaces.d.ts +55 -0
  252. package/dist/esm/dns/interfaces.d.ts.map +1 -0
  253. package/dist/esm/dns/interfaces.js +11 -0
  254. package/dist/esm/dns/interfaces.js.map +1 -0
  255. package/dist/esm/factories/cluster.d.ts +45 -0
  256. package/dist/esm/factories/cluster.d.ts.map +1 -0
  257. package/dist/esm/factories/cluster.js +90 -0
  258. package/dist/esm/factories/cluster.js.map +1 -0
  259. package/dist/esm/factories/dns.d.ts +30 -0
  260. package/dist/esm/factories/dns.d.ts.map +1 -0
  261. package/dist/esm/factories/dns.js +56 -0
  262. package/dist/esm/factories/dns.js.map +1 -0
  263. package/dist/esm/factories/index.d.ts +15 -0
  264. package/dist/esm/factories/index.d.ts.map +1 -0
  265. package/dist/esm/factories/index.js +23 -0
  266. package/dist/esm/factories/index.js.map +1 -0
  267. package/dist/esm/factories/network.d.ts +40 -0
  268. package/dist/esm/factories/network.d.ts.map +1 -0
  269. package/dist/esm/factories/network.js +85 -0
  270. package/dist/esm/factories/network.js.map +1 -0
  271. package/dist/esm/factories/secrets.d.ts +38 -0
  272. package/dist/esm/factories/secrets.d.ts.map +1 -0
  273. package/dist/esm/factories/secrets.js +67 -0
  274. package/dist/esm/factories/secrets.js.map +1 -0
  275. package/dist/esm/factories/types.d.ts +75 -0
  276. package/dist/esm/factories/types.d.ts.map +1 -0
  277. package/dist/esm/factories/types.js +28 -0
  278. package/dist/esm/factories/types.js.map +1 -0
  279. package/dist/esm/global-lb/glb.d.ts +29 -0
  280. package/dist/esm/global-lb/glb.d.ts.map +1 -0
  281. package/dist/esm/global-lb/glb.js +220 -0
  282. package/dist/esm/global-lb/glb.js.map +1 -0
  283. package/dist/esm/global-lb/index.d.ts +8 -0
  284. package/dist/esm/global-lb/index.d.ts.map +1 -0
  285. package/dist/esm/global-lb/index.js +11 -0
  286. package/dist/esm/global-lb/index.js.map +1 -0
  287. package/dist/esm/global-lb/interfaces.d.ts +62 -0
  288. package/dist/esm/global-lb/interfaces.d.ts.map +1 -0
  289. package/dist/esm/global-lb/interfaces.js +11 -0
  290. package/dist/esm/global-lb/interfaces.js.map +1 -0
  291. package/dist/esm/index.d.ts +28 -0
  292. package/dist/esm/index.d.ts.map +1 -0
  293. package/dist/esm/index.js +72 -0
  294. package/dist/esm/index.js.map +1 -0
  295. package/dist/esm/network/cidr.d.ts +92 -0
  296. package/dist/esm/network/cidr.d.ts.map +1 -0
  297. package/dist/esm/network/cidr.js +189 -0
  298. package/dist/esm/network/cidr.js.map +1 -0
  299. package/dist/esm/network/index.d.ts +8 -0
  300. package/dist/esm/network/index.d.ts.map +1 -0
  301. package/dist/esm/network/index.js +17 -0
  302. package/dist/esm/network/index.js.map +1 -0
  303. package/dist/esm/network/interfaces.d.ts +60 -0
  304. package/dist/esm/network/interfaces.d.ts.map +1 -0
  305. package/dist/esm/network/interfaces.js +12 -0
  306. package/dist/esm/network/interfaces.js.map +1 -0
  307. package/dist/esm/platform/index.d.ts +8 -0
  308. package/dist/esm/platform/index.d.ts.map +1 -0
  309. package/dist/esm/platform/index.js +11 -0
  310. package/dist/esm/platform/index.js.map +1 -0
  311. package/dist/esm/platform/interfaces.d.ts +86 -0
  312. package/dist/esm/platform/interfaces.d.ts.map +1 -0
  313. package/dist/esm/platform/interfaces.js +12 -0
  314. package/dist/esm/platform/interfaces.js.map +1 -0
  315. package/dist/esm/platform/stack.d.ts +32 -0
  316. package/dist/esm/platform/stack.d.ts.map +1 -0
  317. package/dist/esm/platform/stack.js +258 -0
  318. package/dist/esm/platform/stack.js.map +1 -0
  319. package/dist/esm/queue/index.d.ts +7 -0
  320. package/dist/esm/queue/index.d.ts.map +1 -0
  321. package/dist/esm/queue/index.js +8 -0
  322. package/dist/esm/queue/index.js.map +1 -0
  323. package/dist/esm/queue/interfaces.d.ts +46 -0
  324. package/dist/esm/queue/interfaces.d.ts.map +1 -0
  325. package/dist/esm/queue/interfaces.js +11 -0
  326. package/dist/esm/queue/interfaces.js.map +1 -0
  327. package/dist/esm/secrets/index.d.ts +7 -0
  328. package/dist/esm/secrets/index.d.ts.map +1 -0
  329. package/dist/esm/secrets/index.js +8 -0
  330. package/dist/esm/secrets/index.js.map +1 -0
  331. package/dist/esm/secrets/interfaces.d.ts +73 -0
  332. package/dist/esm/secrets/interfaces.d.ts.map +1 -0
  333. package/dist/esm/secrets/interfaces.js +11 -0
  334. package/dist/esm/secrets/interfaces.js.map +1 -0
  335. package/dist/esm/storage/index.d.ts +7 -0
  336. package/dist/esm/storage/index.d.ts.map +1 -0
  337. package/dist/esm/storage/index.js +8 -0
  338. package/dist/esm/storage/index.js.map +1 -0
  339. package/dist/esm/storage/interfaces.d.ts +63 -0
  340. package/dist/esm/storage/interfaces.d.ts.map +1 -0
  341. package/dist/esm/storage/interfaces.js +11 -0
  342. package/dist/esm/storage/interfaces.js.map +1 -0
  343. package/dist/esm/types/cloud-target.d.ts +89 -0
  344. package/dist/esm/types/cloud-target.d.ts.map +1 -0
  345. package/dist/esm/types/cloud-target.js +73 -0
  346. package/dist/esm/types/cloud-target.js.map +1 -0
  347. package/dist/esm/types/errors.d.ts +96 -0
  348. package/dist/esm/types/errors.d.ts.map +1 -0
  349. package/dist/esm/types/errors.js +127 -0
  350. package/dist/esm/types/errors.js.map +1 -0
  351. package/dist/esm/types/index.d.ts +10 -0
  352. package/dist/esm/types/index.d.ts.map +1 -0
  353. package/dist/esm/types/index.js +33 -0
  354. package/dist/esm/types/index.js.map +1 -0
  355. package/dist/esm/types/tags.d.ts +53 -0
  356. package/dist/esm/types/tags.d.ts.map +1 -0
  357. package/dist/esm/types/tags.js +110 -0
  358. package/dist/esm/types/tags.js.map +1 -0
  359. package/dist/esm/types/validation.d.ts +63 -0
  360. package/dist/esm/types/validation.d.ts.map +1 -0
  361. package/dist/esm/types/validation.js +158 -0
  362. package/dist/esm/types/validation.js.map +1 -0
  363. package/package.json +88 -0
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ /**
3
+ * Platform stack implementation — deploys Helm-based platform components
4
+ * to any ICluster.
5
+ *
6
+ * Components: Traefik, cert-manager, External DNS, ArgoCD, Vault,
7
+ * External Secrets Operator.
8
+ *
9
+ * @module platform/stack
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.createPlatformStack = createPlatformStack;
46
+ const k8s = __importStar(require("@pulumi/kubernetes"));
47
+ const pulumi = __importStar(require("@pulumi/pulumi"));
48
+ /** Default Helm chart versions — pinned for reproducibility. */
49
+ const DEFAULT_VERSIONS = {
50
+ traefik: "34.3.0",
51
+ certManager: "v1.17.2",
52
+ externalDns: "1.16.1",
53
+ argocd: "7.8.26",
54
+ vault: "0.29.1",
55
+ externalSecrets: "0.14.4",
56
+ };
57
+ /**
58
+ * Deploy a platform stack to one or more clusters.
59
+ *
60
+ * Installs cloud-agnostic Helm releases for ingress, TLS, DNS, GitOps,
61
+ * secrets management, and more. Each component can be individually
62
+ * enabled/disabled and configured.
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * const platform = createPlatformStack("prod", {
67
+ * cluster,
68
+ * domain: "reyem.tech",
69
+ * externalDns: {
70
+ * dnsProvider: "route53",
71
+ * domainFilters: ["reyem.tech"],
72
+ * },
73
+ * vault: { enabled: true, ingressHost: "vault.reyem.tech" },
74
+ * });
75
+ * ```
76
+ */
77
+ function createPlatformStack(name, config) {
78
+ const clusters = Array.isArray(config.cluster) ? config.cluster : [config.cluster];
79
+ if (clusters.length === 1) {
80
+ return deployToCluster(name, config, clusters[0]);
81
+ }
82
+ return clusters.map((cluster, i) => deployToCluster(`${name}-${cluster.name || i}`, config, cluster));
83
+ }
84
+ function deployToCluster(name, config, cluster) {
85
+ const components = {};
86
+ const provider = cluster.provider;
87
+ // 1. Traefik (ingress controller) — enabled by default
88
+ if (config.traefik?.enabled !== false) {
89
+ components["traefik"] = deployTraefik(name, config.traefik, provider);
90
+ }
91
+ // 2. cert-manager (TLS certificates) — enabled by default
92
+ if (config.certManager?.enabled !== false) {
93
+ components["cert-manager"] = deployCertManager(name, config.certManager, provider);
94
+ }
95
+ // 3. External DNS — enabled if configured
96
+ if (config.externalDns && config.externalDns.enabled !== false) {
97
+ components["external-dns"] = deployExternalDns(name, config.externalDns, provider);
98
+ }
99
+ // 4. ArgoCD (GitOps) — optional
100
+ if (config.argocd?.enabled) {
101
+ components["argocd"] = deployArgocd(name, config.argocd, config.domain, provider);
102
+ }
103
+ // 5. Vault (secrets) — optional
104
+ if (config.vault?.enabled) {
105
+ components["vault"] = deployVault(name, config.vault, provider);
106
+ }
107
+ // 6. External Secrets Operator — optional
108
+ if (config.externalSecrets?.enabled) {
109
+ components["external-secrets"] = deployExternalSecrets(name, config.externalSecrets, provider);
110
+ }
111
+ const traefikEndpoint = components["traefik"]
112
+ ? components["traefik"].status.apply((s) => {
113
+ const lb = s?.namespace ?? "";
114
+ return lb;
115
+ })
116
+ : pulumi.output("pending");
117
+ return {
118
+ name,
119
+ cluster,
120
+ components,
121
+ traefikEndpoint,
122
+ };
123
+ }
124
+ function deployTraefik(name, config, provider) {
125
+ return new k8s.helm.v3.Release(`${name}-traefik`, {
126
+ chart: "traefik",
127
+ repositoryOpts: { repo: "https://traefik.github.io/charts" },
128
+ version: config?.version ?? DEFAULT_VERSIONS.traefik,
129
+ namespace: "traefik",
130
+ createNamespace: true,
131
+ values: {
132
+ ingressRoute: {
133
+ dashboard: { enabled: false },
134
+ },
135
+ ports: {
136
+ web: { redirectTo: { port: "websecure" } },
137
+ websecure: { tls: { enabled: true } },
138
+ },
139
+ providers: {
140
+ kubernetesIngress: { publishedService: { enabled: true } },
141
+ },
142
+ ...config?.values,
143
+ },
144
+ }, { provider });
145
+ }
146
+ function deployCertManager(name, config, provider) {
147
+ return new k8s.helm.v3.Release(`${name}-cert-manager`, {
148
+ chart: "cert-manager",
149
+ repositoryOpts: { repo: "https://charts.jetstack.io" },
150
+ version: config?.version ?? DEFAULT_VERSIONS.certManager,
151
+ namespace: "cert-manager",
152
+ createNamespace: true,
153
+ values: {
154
+ crds: { enabled: true },
155
+ ...config?.values,
156
+ },
157
+ }, { provider });
158
+ }
159
+ function deployExternalDns(name, config, provider) {
160
+ const providerValues = {};
161
+ switch (config.dnsProvider) {
162
+ case "route53":
163
+ providerValues["provider"] = { name: "aws" };
164
+ break;
165
+ case "azure-dns":
166
+ providerValues["provider"] = { name: "azure" };
167
+ break;
168
+ case "cloud-dns":
169
+ providerValues["provider"] = { name: "google" };
170
+ break;
171
+ case "cloudflare":
172
+ providerValues["provider"] = { name: "cloudflare" };
173
+ break;
174
+ }
175
+ return new k8s.helm.v3.Release(`${name}-external-dns`, {
176
+ chart: "external-dns",
177
+ repositoryOpts: { repo: "https://kubernetes-sigs.github.io/external-dns" },
178
+ version: config.version ?? DEFAULT_VERSIONS.externalDns,
179
+ namespace: "external-dns",
180
+ createNamespace: true,
181
+ values: {
182
+ ...providerValues,
183
+ domainFilters: config.domainFilters ?? [],
184
+ policy: "sync",
185
+ sources: ["ingress", "service"],
186
+ ...config.values,
187
+ },
188
+ }, { provider });
189
+ }
190
+ function deployArgocd(name, config, domain, provider) {
191
+ return new k8s.helm.v3.Release(`${name}-argocd`, {
192
+ chart: "argo-cd",
193
+ repositoryOpts: { repo: "https://argoproj.github.io/argo-helm" },
194
+ version: config.version ?? DEFAULT_VERSIONS.argocd,
195
+ namespace: "argocd",
196
+ createNamespace: true,
197
+ values: {
198
+ server: {
199
+ ingress: {
200
+ enabled: true,
201
+ ingressClassName: "traefik",
202
+ hostname: `argocd.${domain}`,
203
+ tls: true,
204
+ },
205
+ },
206
+ ...config.values,
207
+ },
208
+ }, { provider });
209
+ }
210
+ function deployVault(name, config, provider) {
211
+ const ha = config.ha ?? false;
212
+ const storageSize = config.storageSize ?? "5Gi";
213
+ const serverValues = {
214
+ standalone: { enabled: !ha },
215
+ ha: ha
216
+ ? {
217
+ enabled: true,
218
+ replicas: 3,
219
+ raft: { enabled: true },
220
+ }
221
+ : { enabled: false },
222
+ dataStorage: { size: storageSize },
223
+ };
224
+ if (config.ingressHost) {
225
+ serverValues["ingress"] = {
226
+ enabled: true,
227
+ ingressClassName: "traefik",
228
+ hosts: [{ host: config.ingressHost }],
229
+ tls: [{ hosts: [config.ingressHost], secretName: "vault-tls" }],
230
+ };
231
+ }
232
+ return new k8s.helm.v3.Release(`${name}-vault`, {
233
+ chart: "vault",
234
+ repositoryOpts: { repo: "https://helm.releases.hashicorp.com" },
235
+ version: config.version ?? DEFAULT_VERSIONS.vault,
236
+ namespace: "vault",
237
+ createNamespace: true,
238
+ values: {
239
+ server: serverValues,
240
+ injector: { enabled: true },
241
+ ...config.values,
242
+ },
243
+ }, { provider });
244
+ }
245
+ function deployExternalSecrets(name, config, provider) {
246
+ return new k8s.helm.v3.Release(`${name}-external-secrets`, {
247
+ chart: "external-secrets",
248
+ repositoryOpts: { repo: "https://charts.external-secrets.io" },
249
+ version: config.version ?? DEFAULT_VERSIONS.externalSecrets,
250
+ namespace: "external-secrets",
251
+ createNamespace: true,
252
+ values: {
253
+ crds: { createClusterExternalSecret: true, createClusterSecretStore: true },
254
+ ...config.values,
255
+ },
256
+ }, { provider });
257
+ }
258
+ //# sourceMappingURL=stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../src/platform/stack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Queue module — message queue provisioning abstraction.
3
+ *
4
+ * @module queue
5
+ */
6
+ export type { QueueEngine, QueueMode, QueueType, IQueueConfig, IQueue } from "./interfaces";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Queue module — message queue provisioning abstraction.
4
+ *
5
+ * @module queue
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Message queue interfaces for @reyemtech/nimbus.
3
+ *
4
+ * Abstracts managed queues (SQS, Service Bus, Pub/Sub) and
5
+ * operator-based queues (NATS, RabbitMQ, Kafka).
6
+ *
7
+ * @module queue/interfaces
8
+ */
9
+ import type * as pulumi from "@pulumi/pulumi";
10
+ import type { CloudArg, ResolvedCloudTarget } from "../types";
11
+ /** Supported queue engines. */
12
+ export type QueueEngine = "sqs" | "service-bus" | "pub-sub" | "nats" | "rabbitmq" | "kafka";
13
+ /** Queue deployment mode. */
14
+ export type QueueMode = "managed" | "operator";
15
+ /** Queue type (delivery semantics). */
16
+ export type QueueType = "standard" | "fifo" | "streaming";
17
+ /**
18
+ * Queue configuration input.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const config: IQueueConfig = {
23
+ * cloud: "aws",
24
+ * engine: "sqs",
25
+ * queueType: "fifo",
26
+ * };
27
+ * ```
28
+ */
29
+ export interface IQueueConfig {
30
+ readonly cloud: CloudArg;
31
+ /** Auto-selected based on cloud if omitted. */
32
+ readonly engine?: QueueEngine;
33
+ readonly mode?: QueueMode;
34
+ readonly queueType?: QueueType;
35
+ readonly tags?: Readonly<Record<string, string>>;
36
+ }
37
+ /** Queue output — the created queue resource. */
38
+ export interface IQueue {
39
+ readonly name: string;
40
+ readonly cloud: ResolvedCloudTarget;
41
+ readonly engine: QueueEngine;
42
+ readonly endpoint: pulumi.Output<string>;
43
+ /** Escape hatch: cloud-native or operator queue resource. */
44
+ readonly nativeResource: pulumi.Resource;
45
+ }
46
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/queue/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE9D,+BAA+B;AAC/B,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,aAAa,GACb,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,CAAC;AAEZ,6BAA6B;AAC7B,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/C,uCAAuC;AACvC,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,MAAM,GACN,WAAW,CAAC;AAEhB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED,iDAAiD;AACjD,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzC,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1C"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Message queue interfaces for @reyemtech/nimbus.
4
+ *
5
+ * Abstracts managed queues (SQS, Service Bus, Pub/Sub) and
6
+ * operator-based queues (NATS, RabbitMQ, Kafka).
7
+ *
8
+ * @module queue/interfaces
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/queue/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Secrets module — secret management abstraction.
3
+ *
4
+ * @module secrets
5
+ */
6
+ export type { SecretBackend, ISecretRef, ISecretsConfig, ISecrets } from "./interfaces";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/secrets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Secrets module — secret management abstraction.
4
+ *
5
+ * @module secrets
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/secrets/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Secrets interfaces for @reyemtech/nimbus.
3
+ *
4
+ * Abstracts secret management across HashiCorp Vault (in-cluster),
5
+ * AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager.
6
+ *
7
+ * @module secrets/interfaces
8
+ */
9
+ import type * as pulumi from "@pulumi/pulumi";
10
+ import type { CloudArg, ResolvedCloudTarget } from "../types";
11
+ /** Supported secret backends. */
12
+ export type SecretBackend = "vault" | "aws-secrets-manager" | "azure-key-vault" | "gcp-secret-manager";
13
+ /** Reference to a secret (path + optional key within the secret). */
14
+ export interface ISecretRef {
15
+ /** Secret path (e.g., "operators/mysql" or "production"). */
16
+ readonly path: string;
17
+ /** Specific key within the secret (e.g., "root" for the root password). */
18
+ readonly key?: string;
19
+ }
20
+ /**
21
+ * Secrets configuration input.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Vault (default for in-cluster)
26
+ * const config: ISecretsConfig = {
27
+ * cloud: "aws",
28
+ * backend: "vault",
29
+ * vaultAddress: "https://vault.reyem.tech",
30
+ * };
31
+ *
32
+ * // Azure Key Vault
33
+ * const config: ISecretsConfig = {
34
+ * cloud: "azure",
35
+ * backend: "azure-key-vault",
36
+ * };
37
+ * ```
38
+ */
39
+ export interface ISecretsConfig {
40
+ readonly cloud: CloudArg;
41
+ /** Default: "vault" if Vault is in the platform stack, cloud-native otherwise. */
42
+ readonly backend?: SecretBackend;
43
+ /** Vault address (required if backend is "vault"). */
44
+ readonly vaultAddress?: string;
45
+ readonly tags?: Readonly<Record<string, string>>;
46
+ }
47
+ /**
48
+ * Secrets output — the created secret store.
49
+ *
50
+ * Provides unified put/get operations regardless of backend.
51
+ */
52
+ export interface ISecrets {
53
+ readonly name: string;
54
+ readonly cloud: ResolvedCloudTarget;
55
+ readonly backend: SecretBackend;
56
+ /**
57
+ * Store a secret.
58
+ *
59
+ * @param path - Secret path
60
+ * @param data - Key-value pairs to store
61
+ */
62
+ putSecret(path: string, data: Record<string, pulumi.Input<string>>): void;
63
+ /**
64
+ * Get a reference to a secret value (for use in other resources).
65
+ *
66
+ * @param ref - Secret reference (path + optional key)
67
+ * @returns The secret value as a Pulumi Output
68
+ */
69
+ getSecretRef(ref: ISecretRef): pulumi.Output<string>;
70
+ /** Escape hatch: cloud-native secret store resource. */
71
+ readonly nativeResource: pulumi.Resource;
72
+ }
73
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/secrets/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE9D,iCAAiC;AACjC,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,qBAAqB,GACrB,iBAAiB,GACjB,oBAAoB,CAAC;AAEzB,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAEhC;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IAE1E;;;;;OAKG;IACH,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,wDAAwD;IACxD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1C"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Secrets interfaces for @reyemtech/nimbus.
4
+ *
5
+ * Abstracts secret management across HashiCorp Vault (in-cluster),
6
+ * AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager.
7
+ *
8
+ * @module secrets/interfaces
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/secrets/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Object storage module — S3/Blob/GCS bucket abstraction.
3
+ *
4
+ * @module storage
5
+ */
6
+ export type { ILifecycleRule, ICorsRule, IObjectStorageConfig, IObjectStorage } from "./interfaces";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Object storage module — S3/Blob/GCS bucket abstraction.
4
+ *
5
+ * @module storage
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Object storage interfaces for @reyemtech/nimbus.
3
+ *
4
+ * Abstracts S3 (AWS), Blob Storage (Azure), and GCS (GCP)
5
+ * bucket management with versioning, encryption, and lifecycle policies.
6
+ *
7
+ * @module storage/interfaces
8
+ */
9
+ import type * as pulumi from "@pulumi/pulumi";
10
+ import type { CloudArg, ResolvedCloudTarget } from "../types";
11
+ /** Lifecycle rule for object expiration/transition. */
12
+ export interface ILifecycleRule {
13
+ readonly prefix?: string;
14
+ readonly expirationDays?: number;
15
+ readonly transitionDays?: number;
16
+ readonly transitionStorageClass?: string;
17
+ }
18
+ /** CORS rule for cross-origin access. */
19
+ export interface ICorsRule {
20
+ readonly allowedOrigins: ReadonlyArray<string>;
21
+ readonly allowedMethods: ReadonlyArray<string>;
22
+ readonly allowedHeaders?: ReadonlyArray<string>;
23
+ readonly maxAgeSeconds?: number;
24
+ }
25
+ /**
26
+ * Object storage configuration input.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const config: IObjectStorageConfig = {
31
+ * cloud: "aws",
32
+ * versioning: true,
33
+ * encryption: true,
34
+ * lifecycleRules: [
35
+ * { prefix: "logs/", expirationDays: 90 },
36
+ * { prefix: "backups/", transitionDays: 30, transitionStorageClass: "GLACIER" },
37
+ * ],
38
+ * };
39
+ * ```
40
+ */
41
+ export interface IObjectStorageConfig {
42
+ readonly cloud: CloudArg;
43
+ readonly versioning?: boolean;
44
+ /** Enable server-side encryption. Default: true. */
45
+ readonly encryption?: boolean;
46
+ readonly lifecycleRules?: ReadonlyArray<ILifecycleRule>;
47
+ /** Allow public access. Default: false. */
48
+ readonly publicAccess?: boolean;
49
+ readonly corsRules?: ReadonlyArray<ICorsRule>;
50
+ readonly tags?: Readonly<Record<string, string>>;
51
+ }
52
+ /** Object storage output — the created bucket. */
53
+ export interface IObjectStorage {
54
+ readonly name: string;
55
+ readonly cloud: ResolvedCloudTarget;
56
+ readonly bucketName: pulumi.Output<string>;
57
+ /** AWS-specific: bucket ARN. */
58
+ readonly bucketArn?: pulumi.Output<string>;
59
+ readonly endpoint: pulumi.Output<string>;
60
+ /** Escape hatch: cloud-native bucket resource. */
61
+ readonly nativeResource: pulumi.Resource;
62
+ }
63
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/storage/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE9D,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACxD,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,gCAAgC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzC,kDAAkD;IAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1C"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Object storage interfaces for @reyemtech/nimbus.
4
+ *
5
+ * Abstracts S3 (AWS), Blob Storage (Azure), and GCS (GCP)
6
+ * bucket management with versioning, encryption, and lifecycle policies.
7
+ *
8
+ * @module storage/interfaces
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/storage/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}