@alchemy.run/fly 0.0.0 → 2.0.0-beta.85

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 (499) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +57 -4
  3. package/lib/App.d.ts +230 -0
  4. package/lib/App.d.ts.map +1 -0
  5. package/lib/App.js +338 -0
  6. package/lib/App.js.map +1 -0
  7. package/lib/AuthProvider.d.ts +22 -0
  8. package/lib/AuthProvider.d.ts.map +1 -0
  9. package/lib/AuthProvider.js +48 -0
  10. package/lib/AuthProvider.js.map +1 -0
  11. package/lib/BindService.d.ts +159 -0
  12. package/lib/BindService.d.ts.map +1 -0
  13. package/lib/BindService.js +222 -0
  14. package/lib/BindService.js.map +1 -0
  15. package/lib/Bootstrap.d.ts +8 -0
  16. package/lib/Bootstrap.d.ts.map +1 -0
  17. package/lib/Bootstrap.js +41 -0
  18. package/lib/Bootstrap.js.map +1 -0
  19. package/lib/Bucket.d.ts +278 -0
  20. package/lib/Bucket.d.ts.map +1 -0
  21. package/lib/Bucket.js +658 -0
  22. package/lib/Bucket.js.map +1 -0
  23. package/lib/BucketBinding.d.ts +33 -0
  24. package/lib/BucketBinding.d.ts.map +1 -0
  25. package/lib/BucketBinding.js +70 -0
  26. package/lib/BucketBinding.js.map +1 -0
  27. package/lib/Catalog.d.ts +28 -0
  28. package/lib/Catalog.d.ts.map +1 -0
  29. package/lib/Catalog.js +31 -0
  30. package/lib/Catalog.js.map +1 -0
  31. package/lib/Certificate.d.ts +189 -0
  32. package/lib/Certificate.d.ts.map +1 -0
  33. package/lib/Certificate.js +380 -0
  34. package/lib/Certificate.js.map +1 -0
  35. package/lib/Checkpoint.d.ts +55 -0
  36. package/lib/Checkpoint.d.ts.map +1 -0
  37. package/lib/Checkpoint.js +3 -0
  38. package/lib/Checkpoint.js.map +1 -0
  39. package/lib/CheckpointHttp.d.ts +22 -0
  40. package/lib/CheckpointHttp.d.ts.map +1 -0
  41. package/lib/CheckpointHttp.js +53 -0
  42. package/lib/CheckpointHttp.js.map +1 -0
  43. package/lib/ConnectPostgres.d.ts +58 -0
  44. package/lib/ConnectPostgres.d.ts.map +1 -0
  45. package/lib/ConnectPostgres.js +13 -0
  46. package/lib/ConnectPostgres.js.map +1 -0
  47. package/lib/ConnectPostgresHttp.d.ts +26 -0
  48. package/lib/ConnectPostgresHttp.d.ts.map +1 -0
  49. package/lib/ConnectPostgresHttp.js +57 -0
  50. package/lib/ConnectPostgresHttp.js.map +1 -0
  51. package/lib/Contributions.d.ts +7 -0
  52. package/lib/Contributions.d.ts.map +1 -0
  53. package/lib/Contributions.js +6 -0
  54. package/lib/Contributions.js.map +1 -0
  55. package/lib/Credentials.d.ts +33 -0
  56. package/lib/Credentials.d.ts.map +1 -0
  57. package/lib/Credentials.js +55 -0
  58. package/lib/Credentials.js.map +1 -0
  59. package/lib/Decrypt.d.ts +52 -0
  60. package/lib/Decrypt.d.ts.map +1 -0
  61. package/lib/Decrypt.js +3 -0
  62. package/lib/Decrypt.js.map +1 -0
  63. package/lib/DecryptHttp.d.ts +22 -0
  64. package/lib/DecryptHttp.d.ts.map +1 -0
  65. package/lib/DecryptHttp.js +43 -0
  66. package/lib/DecryptHttp.js.map +1 -0
  67. package/lib/DeleteObject.d.ts +29 -0
  68. package/lib/DeleteObject.d.ts.map +1 -0
  69. package/lib/DeleteObject.js +3 -0
  70. package/lib/DeleteObject.js.map +1 -0
  71. package/lib/DeleteObjectHttp.d.ts +12 -0
  72. package/lib/DeleteObjectHttp.d.ts.map +1 -0
  73. package/lib/DeleteObjectHttp.js +17 -0
  74. package/lib/DeleteObjectHttp.js.map +1 -0
  75. package/lib/Deployment.d.ts +51 -0
  76. package/lib/Deployment.d.ts.map +1 -0
  77. package/lib/Deployment.js +62 -0
  78. package/lib/Deployment.js.map +1 -0
  79. package/lib/DeploymentImages.d.ts +18 -0
  80. package/lib/DeploymentImages.d.ts.map +1 -0
  81. package/lib/DeploymentImages.js +61 -0
  82. package/lib/DeploymentImages.js.map +1 -0
  83. package/lib/DeploymentState.d.ts +17 -0
  84. package/lib/DeploymentState.d.ts.map +1 -0
  85. package/lib/DeploymentState.js +87 -0
  86. package/lib/DeploymentState.js.map +1 -0
  87. package/lib/Encrypt.d.ts +50 -0
  88. package/lib/Encrypt.d.ts.map +1 -0
  89. package/lib/Encrypt.js +3 -0
  90. package/lib/Encrypt.js.map +1 -0
  91. package/lib/EncryptHttp.d.ts +22 -0
  92. package/lib/EncryptHttp.d.ts.map +1 -0
  93. package/lib/EncryptHttp.js +39 -0
  94. package/lib/EncryptHttp.js.map +1 -0
  95. package/lib/Environment.d.ts +45 -0
  96. package/lib/Environment.d.ts.map +1 -0
  97. package/lib/Environment.js +43 -0
  98. package/lib/Environment.js.map +1 -0
  99. package/lib/Errors.d.ts +18 -0
  100. package/lib/Errors.d.ts.map +1 -0
  101. package/lib/Errors.js +13 -0
  102. package/lib/Errors.js.map +1 -0
  103. package/lib/Exec.d.ts +41 -0
  104. package/lib/Exec.d.ts.map +1 -0
  105. package/lib/Exec.js +3 -0
  106. package/lib/Exec.js.map +1 -0
  107. package/lib/ExecHttp.d.ts +22 -0
  108. package/lib/ExecHttp.d.ts.map +1 -0
  109. package/lib/ExecHttp.js +39 -0
  110. package/lib/ExecHttp.js.map +1 -0
  111. package/lib/GetObject.d.ts +34 -0
  112. package/lib/GetObject.d.ts.map +1 -0
  113. package/lib/GetObject.js +3 -0
  114. package/lib/GetObject.js.map +1 -0
  115. package/lib/GetObjectHttp.d.ts +12 -0
  116. package/lib/GetObjectHttp.d.ts.map +1 -0
  117. package/lib/GetObjectHttp.js +17 -0
  118. package/lib/GetObjectHttp.js.map +1 -0
  119. package/lib/GetSecret.d.ts +44 -0
  120. package/lib/GetSecret.d.ts.map +1 -0
  121. package/lib/GetSecret.js +3 -0
  122. package/lib/GetSecret.js.map +1 -0
  123. package/lib/GetSecretHttp.d.ts +22 -0
  124. package/lib/GetSecretHttp.d.ts.map +1 -0
  125. package/lib/GetSecretHttp.js +50 -0
  126. package/lib/GetSecretHttp.js.map +1 -0
  127. package/lib/HeadObject.d.ts +29 -0
  128. package/lib/HeadObject.d.ts.map +1 -0
  129. package/lib/HeadObject.js +3 -0
  130. package/lib/HeadObject.js.map +1 -0
  131. package/lib/HeadObjectHttp.d.ts +12 -0
  132. package/lib/HeadObjectHttp.d.ts.map +1 -0
  133. package/lib/HeadObjectHttp.js +17 -0
  134. package/lib/HeadObjectHttp.js.map +1 -0
  135. package/lib/IpAssignment.d.ts +258 -0
  136. package/lib/IpAssignment.d.ts.map +1 -0
  137. package/lib/IpAssignment.js +376 -0
  138. package/lib/IpAssignment.js.map +1 -0
  139. package/lib/ListObjectsV2.d.ts +29 -0
  140. package/lib/ListObjectsV2.d.ts.map +1 -0
  141. package/lib/ListObjectsV2.js +3 -0
  142. package/lib/ListObjectsV2.js.map +1 -0
  143. package/lib/ListObjectsV2Http.d.ts +12 -0
  144. package/lib/ListObjectsV2Http.d.ts.map +1 -0
  145. package/lib/ListObjectsV2Http.js +17 -0
  146. package/lib/ListObjectsV2Http.js.map +1 -0
  147. package/lib/ListSecrets.d.ts +53 -0
  148. package/lib/ListSecrets.d.ts.map +1 -0
  149. package/lib/ListSecrets.js +3 -0
  150. package/lib/ListSecrets.js.map +1 -0
  151. package/lib/ListSecretsHttp.d.ts +22 -0
  152. package/lib/ListSecretsHttp.d.ts.map +1 -0
  153. package/lib/ListSecretsHttp.js +35 -0
  154. package/lib/ListSecretsHttp.js.map +1 -0
  155. package/lib/Machine.d.ts +802 -0
  156. package/lib/Machine.d.ts.map +1 -0
  157. package/lib/Machine.js +773 -0
  158. package/lib/Machine.js.map +1 -0
  159. package/lib/MachineContainers.d.ts +44 -0
  160. package/lib/MachineContainers.d.ts.map +1 -0
  161. package/lib/MachineContainers.js +115 -0
  162. package/lib/MachineContainers.js.map +1 -0
  163. package/lib/Metadata.d.ts +109 -0
  164. package/lib/Metadata.d.ts.map +1 -0
  165. package/lib/Metadata.js +159 -0
  166. package/lib/Metadata.js.map +1 -0
  167. package/lib/MountVolume.d.ts +295 -0
  168. package/lib/MountVolume.d.ts.map +1 -0
  169. package/lib/MountVolume.js +20 -0
  170. package/lib/MountVolume.js.map +1 -0
  171. package/lib/Postgres.d.ts +298 -0
  172. package/lib/Postgres.d.ts.map +1 -0
  173. package/lib/Postgres.js +508 -0
  174. package/lib/Postgres.js.map +1 -0
  175. package/lib/PostgresMigrations.d.ts +20 -0
  176. package/lib/PostgresMigrations.d.ts.map +1 -0
  177. package/lib/PostgresMigrations.js +58 -0
  178. package/lib/PostgresMigrations.js.map +1 -0
  179. package/lib/Providers.d.ts +38 -0
  180. package/lib/Providers.d.ts.map +1 -0
  181. package/lib/Providers.js +95 -0
  182. package/lib/Providers.js.map +1 -0
  183. package/lib/PutObject.d.ts +35 -0
  184. package/lib/PutObject.d.ts.map +1 -0
  185. package/lib/PutObject.js +3 -0
  186. package/lib/PutObject.js.map +1 -0
  187. package/lib/PutObjectHttp.d.ts +12 -0
  188. package/lib/PutObjectHttp.d.ts.map +1 -0
  189. package/lib/PutObjectHttp.js +17 -0
  190. package/lib/PutObjectHttp.js.map +1 -0
  191. package/lib/ReadRedis.d.ts +26 -0
  192. package/lib/ReadRedis.d.ts.map +1 -0
  193. package/lib/ReadRedis.js +3 -0
  194. package/lib/ReadRedis.js.map +1 -0
  195. package/lib/ReadRedisHttp.d.ts +11 -0
  196. package/lib/ReadRedisHttp.d.ts.map +1 -0
  197. package/lib/ReadRedisHttp.js +15 -0
  198. package/lib/ReadRedisHttp.js.map +1 -0
  199. package/lib/ReadWriteRedis.d.ts +29 -0
  200. package/lib/ReadWriteRedis.d.ts.map +1 -0
  201. package/lib/ReadWriteRedis.js +3 -0
  202. package/lib/ReadWriteRedis.js.map +1 -0
  203. package/lib/ReadWriteRedisHttp.d.ts +11 -0
  204. package/lib/ReadWriteRedisHttp.d.ts.map +1 -0
  205. package/lib/ReadWriteRedisHttp.js +15 -0
  206. package/lib/ReadWriteRedisHttp.js.map +1 -0
  207. package/lib/Redis.d.ts +252 -0
  208. package/lib/Redis.d.ts.map +1 -0
  209. package/lib/Redis.js +611 -0
  210. package/lib/Redis.js.map +1 -0
  211. package/lib/RedisBinding.d.ts +7 -0
  212. package/lib/RedisBinding.d.ts.map +1 -0
  213. package/lib/RedisBinding.js +53 -0
  214. package/lib/RedisBinding.js.map +1 -0
  215. package/lib/RedisHttp.d.ts +8 -0
  216. package/lib/RedisHttp.d.ts.map +1 -0
  217. package/lib/RedisHttp.js +11 -0
  218. package/lib/RedisHttp.js.map +1 -0
  219. package/lib/Region.d.ts +16 -0
  220. package/lib/Region.d.ts.map +1 -0
  221. package/lib/Region.js +13 -0
  222. package/lib/Region.js.map +1 -0
  223. package/lib/Secret.d.ts +190 -0
  224. package/lib/Secret.d.ts.map +1 -0
  225. package/lib/Secret.js +310 -0
  226. package/lib/Secret.js.map +1 -0
  227. package/lib/SecretHttp.d.ts +54 -0
  228. package/lib/SecretHttp.d.ts.map +1 -0
  229. package/lib/SecretHttp.js +66 -0
  230. package/lib/SecretHttp.js.map +1 -0
  231. package/lib/SecretKey.d.ts +164 -0
  232. package/lib/SecretKey.d.ts.map +1 -0
  233. package/lib/SecretKey.js +277 -0
  234. package/lib/SecretKey.js.map +1 -0
  235. package/lib/SecretKeyHttp.d.ts +14 -0
  236. package/lib/SecretKeyHttp.d.ts.map +1 -0
  237. package/lib/SecretKeyHttp.js +5 -0
  238. package/lib/SecretKeyHttp.js.map +1 -0
  239. package/lib/Service.d.ts +1017 -0
  240. package/lib/Service.d.ts.map +1 -0
  241. package/lib/Service.js +1430 -0
  242. package/lib/Service.js.map +1 -0
  243. package/lib/Sign.d.ts +36 -0
  244. package/lib/Sign.d.ts.map +1 -0
  245. package/lib/Sign.js +3 -0
  246. package/lib/Sign.js.map +1 -0
  247. package/lib/SignHttp.d.ts +22 -0
  248. package/lib/SignHttp.d.ts.map +1 -0
  249. package/lib/SignHttp.js +36 -0
  250. package/lib/SignHttp.js.map +1 -0
  251. package/lib/Sprite.d.ts +283 -0
  252. package/lib/Sprite.d.ts.map +1 -0
  253. package/lib/Sprite.js +471 -0
  254. package/lib/Sprite.js.map +1 -0
  255. package/lib/SpriteHttp.d.ts +25 -0
  256. package/lib/SpriteHttp.d.ts.map +1 -0
  257. package/lib/SpriteHttp.js +33 -0
  258. package/lib/SpriteHttp.js.map +1 -0
  259. package/lib/Verify.d.ts +37 -0
  260. package/lib/Verify.d.ts.map +1 -0
  261. package/lib/Verify.js +3 -0
  262. package/lib/Verify.js.map +1 -0
  263. package/lib/VerifyHttp.d.ts +22 -0
  264. package/lib/VerifyHttp.d.ts.map +1 -0
  265. package/lib/VerifyHttp.js +38 -0
  266. package/lib/VerifyHttp.js.map +1 -0
  267. package/lib/Volume.d.ts +53 -0
  268. package/lib/Volume.d.ts.map +1 -0
  269. package/lib/Volume.js +188 -0
  270. package/lib/Volume.js.map +1 -0
  271. package/lib/VolumeSnapshot.d.ts +135 -0
  272. package/lib/VolumeSnapshot.d.ts.map +1 -0
  273. package/lib/VolumeSnapshot.js +213 -0
  274. package/lib/VolumeSnapshot.js.map +1 -0
  275. package/lib/Website/AssetDeployment.d.ts +43 -0
  276. package/lib/Website/AssetDeployment.d.ts.map +1 -0
  277. package/lib/Website/AssetDeployment.js +162 -0
  278. package/lib/Website/AssetDeployment.js.map +1 -0
  279. package/lib/Website/Astro.d.ts +89 -0
  280. package/lib/Website/Astro.d.ts.map +1 -0
  281. package/lib/Website/Astro.js +54 -0
  282. package/lib/Website/Astro.js.map +1 -0
  283. package/lib/Website/Foldkit.d.ts +52 -0
  284. package/lib/Website/Foldkit.d.ts.map +1 -0
  285. package/lib/Website/Foldkit.js +45 -0
  286. package/lib/Website/Foldkit.js.map +1 -0
  287. package/lib/Website/FrameworkSite.d.ts +212 -0
  288. package/lib/Website/FrameworkSite.d.ts.map +1 -0
  289. package/lib/Website/FrameworkSite.js +205 -0
  290. package/lib/Website/FrameworkSite.js.map +1 -0
  291. package/lib/Website/Nextjs.d.ts +54 -0
  292. package/lib/Website/Nextjs.d.ts.map +1 -0
  293. package/lib/Website/Nextjs.js +46 -0
  294. package/lib/Website/Nextjs.js.map +1 -0
  295. package/lib/Website/Nuxt.d.ts +51 -0
  296. package/lib/Website/Nuxt.d.ts.map +1 -0
  297. package/lib/Website/Nuxt.js +36 -0
  298. package/lib/Website/Nuxt.js.map +1 -0
  299. package/lib/Website/Octane.d.ts +49 -0
  300. package/lib/Website/Octane.d.ts.map +1 -0
  301. package/lib/Website/Octane.js +39 -0
  302. package/lib/Website/Octane.js.map +1 -0
  303. package/lib/Website/ReactRouter.d.ts +80 -0
  304. package/lib/Website/ReactRouter.d.ts.map +1 -0
  305. package/lib/Website/ReactRouter.js +70 -0
  306. package/lib/Website/ReactRouter.js.map +1 -0
  307. package/lib/Website/SolidStart.d.ts +93 -0
  308. package/lib/Website/SolidStart.d.ts.map +1 -0
  309. package/lib/Website/SolidStart.js +71 -0
  310. package/lib/Website/SolidStart.js.map +1 -0
  311. package/lib/Website/StaticSite.d.ts +162 -0
  312. package/lib/Website/StaticSite.d.ts.map +1 -0
  313. package/lib/Website/StaticSite.js +180 -0
  314. package/lib/Website/StaticSite.js.map +1 -0
  315. package/lib/Website/SvelteKit.d.ts +52 -0
  316. package/lib/Website/SvelteKit.d.ts.map +1 -0
  317. package/lib/Website/SvelteKit.js +37 -0
  318. package/lib/Website/SvelteKit.js.map +1 -0
  319. package/lib/Website/TanStackStart.d.ts +76 -0
  320. package/lib/Website/TanStackStart.d.ts.map +1 -0
  321. package/lib/Website/TanStackStart.js +66 -0
  322. package/lib/Website/TanStackStart.js.map +1 -0
  323. package/lib/Website/Vinext.d.ts +73 -0
  324. package/lib/Website/Vinext.d.ts.map +1 -0
  325. package/lib/Website/Vinext.js +67 -0
  326. package/lib/Website/Vinext.js.map +1 -0
  327. package/lib/Website/Vite.d.ts +112 -0
  328. package/lib/Website/Vite.d.ts.map +1 -0
  329. package/lib/Website/Vite.js +100 -0
  330. package/lib/Website/Vite.js.map +1 -0
  331. package/lib/Website/Vocs.d.ts +52 -0
  332. package/lib/Website/Vocs.d.ts.map +1 -0
  333. package/lib/Website/Vocs.js +38 -0
  334. package/lib/Website/Vocs.js.map +1 -0
  335. package/lib/Website/Waku.d.ts +64 -0
  336. package/lib/Website/Waku.d.ts.map +1 -0
  337. package/lib/Website/Waku.js +39 -0
  338. package/lib/Website/Waku.js.map +1 -0
  339. package/lib/Website/index.d.ts +17 -0
  340. package/lib/Website/index.d.ts.map +1 -0
  341. package/lib/Website/index.js +17 -0
  342. package/lib/Website/index.js.map +1 -0
  343. package/lib/WriteCertificates.d.ts +63 -0
  344. package/lib/WriteCertificates.d.ts.map +1 -0
  345. package/lib/WriteCertificates.js +3 -0
  346. package/lib/WriteCertificates.js.map +1 -0
  347. package/lib/WriteCertificatesHttp.d.ts +25 -0
  348. package/lib/WriteCertificatesHttp.d.ts.map +1 -0
  349. package/lib/WriteCertificatesHttp.js +67 -0
  350. package/lib/WriteCertificatesHttp.js.map +1 -0
  351. package/lib/WriteRedis.d.ts +26 -0
  352. package/lib/WriteRedis.d.ts.map +1 -0
  353. package/lib/WriteRedis.js +3 -0
  354. package/lib/WriteRedis.js.map +1 -0
  355. package/lib/WriteRedisHttp.d.ts +11 -0
  356. package/lib/WriteRedisHttp.d.ts.map +1 -0
  357. package/lib/WriteRedisHttp.js +15 -0
  358. package/lib/WriteRedisHttp.js.map +1 -0
  359. package/lib/WriteSecret.d.ts +68 -0
  360. package/lib/WriteSecret.d.ts.map +1 -0
  361. package/lib/WriteSecret.js +4 -0
  362. package/lib/WriteSecret.js.map +1 -0
  363. package/lib/WriteSecretHttp.d.ts +26 -0
  364. package/lib/WriteSecretHttp.d.ts.map +1 -0
  365. package/lib/WriteSecretHttp.js +54 -0
  366. package/lib/WriteSecretHttp.js.map +1 -0
  367. package/lib/bluegreen.d.ts +36 -0
  368. package/lib/bluegreen.d.ts.map +1 -0
  369. package/lib/bluegreen.js +460 -0
  370. package/lib/bluegreen.js.map +1 -0
  371. package/lib/hosted.d.ts +171 -0
  372. package/lib/hosted.d.ts.map +1 -0
  373. package/lib/hosted.js +458 -0
  374. package/lib/hosted.js.map +1 -0
  375. package/lib/index.d.ts +65 -0
  376. package/lib/index.d.ts.map +1 -0
  377. package/lib/index.js +63 -0
  378. package/lib/index.js.map +1 -0
  379. package/lib/internal/RemoteBuilder.d.ts +28 -0
  380. package/lib/internal/RemoteBuilder.d.ts.map +1 -0
  381. package/lib/internal/RemoteBuilder.js +158 -0
  382. package/lib/internal/RemoteBuilder.js.map +1 -0
  383. package/lib/leases.d.ts +53 -0
  384. package/lib/leases.d.ts.map +1 -0
  385. package/lib/leases.js +279 -0
  386. package/lib/leases.js.map +1 -0
  387. package/lib/ports.d.ts +51 -0
  388. package/lib/ports.d.ts.map +1 -0
  389. package/lib/ports.js +123 -0
  390. package/lib/ports.js.map +1 -0
  391. package/lib/replicas.d.ts +270 -0
  392. package/lib/replicas.d.ts.map +1 -0
  393. package/lib/replicas.js +969 -0
  394. package/lib/replicas.js.map +1 -0
  395. package/lib/rpc.d.ts +35 -0
  396. package/lib/rpc.d.ts.map +1 -0
  397. package/lib/rpc.js +113 -0
  398. package/lib/rpc.js.map +1 -0
  399. package/package.json +83 -3
  400. package/src/App.ts +514 -0
  401. package/src/AuthProvider.ts +68 -0
  402. package/src/BindService.ts +303 -0
  403. package/src/Bootstrap.ts +66 -0
  404. package/src/Bucket.ts +918 -0
  405. package/src/BucketBinding.ts +128 -0
  406. package/src/Catalog.ts +43 -0
  407. package/src/Certificate.ts +548 -0
  408. package/src/Checkpoint.ts +69 -0
  409. package/src/CheckpointHttp.ts +66 -0
  410. package/src/ConnectPostgres.ts +68 -0
  411. package/src/ConnectPostgresHttp.ts +77 -0
  412. package/src/Contributions.ts +9 -0
  413. package/src/Credentials.ts +75 -0
  414. package/src/Decrypt.ts +62 -0
  415. package/src/DecryptHttp.ts +52 -0
  416. package/src/DeleteObject.ts +43 -0
  417. package/src/DeleteObjectHttp.ts +20 -0
  418. package/src/Deployment.ts +121 -0
  419. package/src/DeploymentImages.ts +84 -0
  420. package/src/DeploymentState.ts +104 -0
  421. package/src/Encrypt.ts +60 -0
  422. package/src/EncryptHttp.ts +48 -0
  423. package/src/Environment.ts +81 -0
  424. package/src/Errors.ts +14 -0
  425. package/src/Exec.ts +50 -0
  426. package/src/ExecHttp.ts +47 -0
  427. package/src/GetObject.ts +48 -0
  428. package/src/GetObjectHttp.ts +20 -0
  429. package/src/GetSecret.ts +48 -0
  430. package/src/GetSecretHttp.ts +60 -0
  431. package/src/HeadObject.ts +43 -0
  432. package/src/HeadObjectHttp.ts +20 -0
  433. package/src/IpAssignment.ts +522 -0
  434. package/src/ListObjectsV2.ts +43 -0
  435. package/src/ListObjectsV2Http.ts +20 -0
  436. package/src/ListSecrets.ts +57 -0
  437. package/src/ListSecretsHttp.ts +43 -0
  438. package/src/Machine.ts +1270 -0
  439. package/src/MachineContainers.ts +152 -0
  440. package/src/Metadata.ts +195 -0
  441. package/src/MountVolume.ts +315 -0
  442. package/src/Postgres.ts +777 -0
  443. package/src/PostgresMigrations.ts +93 -0
  444. package/src/Providers.ts +155 -0
  445. package/src/PutObject.ts +49 -0
  446. package/src/PutObjectHttp.ts +20 -0
  447. package/src/ReadRedis.ts +31 -0
  448. package/src/ReadRedisHttp.ts +18 -0
  449. package/src/ReadWriteRedis.ts +33 -0
  450. package/src/ReadWriteRedisHttp.ts +18 -0
  451. package/src/Redis.ts +823 -0
  452. package/src/RedisBinding.ts +64 -0
  453. package/src/RedisHttp.ts +14 -0
  454. package/src/Region.ts +44 -0
  455. package/src/Secret.ts +405 -0
  456. package/src/SecretHttp.ts +149 -0
  457. package/src/SecretKey.ts +389 -0
  458. package/src/SecretKeyHttp.ts +23 -0
  459. package/src/Service.ts +1968 -0
  460. package/src/Sign.ts +46 -0
  461. package/src/SignHttp.ts +44 -0
  462. package/src/Sprite.ts +673 -0
  463. package/src/SpriteHttp.ts +50 -0
  464. package/src/Verify.ts +47 -0
  465. package/src/VerifyHttp.ts +46 -0
  466. package/src/Volume.ts +264 -0
  467. package/src/VolumeSnapshot.ts +321 -0
  468. package/src/Website/AssetDeployment.ts +292 -0
  469. package/src/Website/Astro.ts +92 -0
  470. package/src/Website/Foldkit.ts +54 -0
  471. package/src/Website/FrameworkSite.ts +449 -0
  472. package/src/Website/Nextjs.ts +50 -0
  473. package/src/Website/Nuxt.ts +48 -0
  474. package/src/Website/Octane.ts +44 -0
  475. package/src/Website/ReactRouter.ts +76 -0
  476. package/src/Website/SolidStart.ts +90 -0
  477. package/src/Website/StaticSite.ts +295 -0
  478. package/src/Website/SvelteKit.ts +49 -0
  479. package/src/Website/TanStackStart.ts +72 -0
  480. package/src/Website/Vinext.ts +79 -0
  481. package/src/Website/Vite.ts +121 -0
  482. package/src/Website/Vocs.ts +50 -0
  483. package/src/Website/Waku.ts +65 -0
  484. package/src/Website/index.ts +16 -0
  485. package/src/WriteCertificates.ts +90 -0
  486. package/src/WriteCertificatesHttp.ts +93 -0
  487. package/src/WriteRedis.ts +31 -0
  488. package/src/WriteRedisHttp.ts +18 -0
  489. package/src/WriteSecret.ts +86 -0
  490. package/src/WriteSecretHttp.ts +71 -0
  491. package/src/bluegreen.ts +711 -0
  492. package/src/globals.d.ts +2 -0
  493. package/src/hosted.ts +667 -0
  494. package/src/index.ts +64 -0
  495. package/src/internal/RemoteBuilder.ts +242 -0
  496. package/src/leases.ts +437 -0
  497. package/src/ports.ts +177 -0
  498. package/src/replicas.ts +1480 -0
  499. package/src/rpc.ts +136 -0
@@ -0,0 +1,222 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ import { makeFetchRpcStub, RPC_PATH_PREFIX } from "alchemy/Rpc";
3
+ import { CurrentRuntimeContext, sanitizeKey } from "alchemy/RuntimeContext";
4
+ import { isYieldableEffectLike } from "alchemy/Util/effect";
5
+ import * as Data from "effect/Data";
6
+ import * as Effect from "effect/Effect";
7
+ import * as HttpClient from "effect/http/HttpClient";
8
+ import * as HttpClientRequest from "effect/http/HttpClientRequest";
9
+ import * as Redacted from "effect/Redacted";
10
+ import { RPC_TOKEN_HEADER } from "./rpc.js";
11
+ /** The deployed caller has no address for the bound Service. */
12
+ export class BoundServiceUnavailable extends Data.TaggedError("Fly.BoundServiceUnavailable") {
13
+ get message() {
14
+ return `No private address for Fly Service ${this.service}. It publishes no ports, or the caller was deployed before the binding existed.`;
15
+ }
16
+ }
17
+ const isFlyHost = (value) => typeof value === "object" &&
18
+ value !== null &&
19
+ (value.Type === "Fly.Service" ||
20
+ value.Type === "Fly.Machine");
21
+ /** Logical id without yielding the Service (the runtime has no engine). */
22
+ const logicalIdOf = (target) => {
23
+ const id = target !== null && (typeof target === "object" || typeof target === "function")
24
+ ? target.LogicalId
25
+ : undefined;
26
+ return typeof id === "string" ? id : "";
27
+ };
28
+ /** Machine env vars the caller's reconcile writes for a bound Service. */
29
+ export const boundTargetEnvKeys = (id) => ({
30
+ appName: sanitizeKey(`FLY_BIND_${id}_APP`),
31
+ url: sanitizeKey(`FLY_BIND_${id}_URL`),
32
+ token: sanitizeKey(`FLY_BIND_${id}_TOKEN`),
33
+ });
34
+ /**
35
+ * Record the binding on the caller and transport the target's private
36
+ * address and caller token as Outputs. Returns runtime accessors for them.
37
+ */
38
+ const bindTarget = Effect.fn(function* (target, port) {
39
+ const id = logicalIdOf(target);
40
+ const keys = boundTargetEnvKeys(id);
41
+ const ctx = yield* CurrentRuntimeContext;
42
+ if (!globalThis.__ALCHEMY_RUNTIME__) {
43
+ // Yielding registers the target and makes the caller depend on it.
44
+ const service = isYieldableEffectLike(target)
45
+ ? yield* target
46
+ : target;
47
+ // The binding carries the target's Outputs. Unlike props, binding
48
+ // data may stay unresolved between cycle peers, so two Services can
49
+ // bind each other; the caller's reconcile writes them onto its Machines.
50
+ const host = yield* Binding.Host;
51
+ if (isFlyHost(host)) {
52
+ yield* host.bind `${service}`({
53
+ target: {
54
+ service: id,
55
+ appName: service.appName,
56
+ network: service.network,
57
+ privateUrl: service.privateUrl,
58
+ rpcToken: service.rpcToken,
59
+ port,
60
+ endpoints: service.endpoints,
61
+ },
62
+ });
63
+ }
64
+ }
65
+ // Captured at bind time: the host's runtime context reads the values
66
+ // transported onto the Machine.
67
+ const read = (key) => (ctx === undefined ? Effect.undefined : ctx.get(key));
68
+ const required = (key) => read(key).pipe(Effect.flatMap((value) => typeof value === "string" && value.length > 0
69
+ ? Effect.succeed(value)
70
+ : Effect.fail(new BoundServiceUnavailable({ service: id }))));
71
+ return {
72
+ appName: required(keys.appName),
73
+ url: required(keys.url),
74
+ token: read(keys.token).pipe(Effect.map((value) => Redacted.isRedacted(value)
75
+ ? String(Redacted.value(value))
76
+ : typeof value === "string"
77
+ ? value
78
+ : "")),
79
+ };
80
+ });
81
+ /** Resolve `path` (relative or placeholder-based) against `base`. */
82
+ const withBase = (base, url) => {
83
+ const path = url.replace(/^https?:\/\/[^/]+/, "");
84
+ return `${base.replace(/\/$/, "")}${path.startsWith("/") ? path : `/${path}`}`;
85
+ };
86
+ /**
87
+ * Bind another {@link Service} and get a typed client for it. The client
88
+ * calls the Service's methods (everything its program returns besides
89
+ * `fetch` and `run`) and forwards `fetch` requests, over Fly's private
90
+ * network.
91
+ *
92
+ * Binding makes the caller deploy after the Service and hands it the
93
+ * Service's private address and caller token. Only callers that bind a
94
+ * Service receive its token, so other Services on the same network cannot
95
+ * call its methods. Every call must also carry Fly's signed `Fly-Src`
96
+ * header from the same organization, so the public internet cannot call
97
+ * them. Calls are plain HTTP inside Fly's WireGuard-encrypted network.
98
+ *
99
+ * ### Call a private Service
100
+ * **Example:** Methods on the target
101
+ * ```typescript
102
+ * export default class Users extends Fly.Service<Users>()(
103
+ * "Users",
104
+ * { main: import.meta.url, public: false },
105
+ * Effect.gen(function* () {
106
+ * return {
107
+ * list: () => Effect.succeed(USERS),
108
+ * get: (id: string) =>
109
+ * Effect.succeed(USERS.find((user) => user.id === id)),
110
+ * };
111
+ * }),
112
+ * ) {}
113
+ * ```
114
+ *
115
+ * **Example:** Bind it and call a method
116
+ * ```typescript
117
+ * export default class Orders extends Fly.Service<Orders>()(
118
+ * "Orders",
119
+ * { main: import.meta.url, public: false },
120
+ * Effect.gen(function* () {
121
+ * const users = yield* Fly.bindService(Users);
122
+ * return {
123
+ * list: () =>
124
+ * Effect.forEach(ORDERS, (order) =>
125
+ * users
126
+ * .get(order.userId)
127
+ * .pipe(Effect.map((user) => ({ ...order, user }))),
128
+ * ),
129
+ * };
130
+ * }),
131
+ * ) {}
132
+ * ```
133
+ *
134
+ * ### Stream and forward HTTP
135
+ * **Example:** A method that returns a Stream
136
+ * ```typescript
137
+ * const all = yield* users.streamAll().pipe(Stream.runCollect);
138
+ * ```
139
+ *
140
+ * **Example:** Send a request to the Service's `fetch`
141
+ * ```typescript
142
+ * const response = yield* users.fetch(HttpClientRequest.get("/users/u1"));
143
+ * ```
144
+ *
145
+ * ### Bind one port
146
+ * {@link bindEndpoint} targets one published port, such as an admin API
147
+ * or a raw TCP protocol. Deploy fails with `Fly.EndpointNotPublished`
148
+ * when the Service does not publish it.
149
+ *
150
+ * **Example:** An admin API on port 9000
151
+ * ```typescript
152
+ * const admin = yield* Fly.bindEndpoint(Users, { port: 9000 });
153
+ * const stats = yield* admin.client.get("/stats");
154
+ * const host = yield* admin.host; // "{appName}.flycast"
155
+ * ```
156
+ *
157
+ * ### Two Services that bind each other
158
+ * Declare each as a tag class with its method shape, and implement each
159
+ * in its own file as the default export of `.make`.
160
+ *
161
+ * **Example:** Ping and Pong
162
+ * ```typescript
163
+ * // src/services.ts
164
+ * export class Ping extends Fly.Service<Ping, Named>()("Ping") {}
165
+ * export class Pong extends Fly.Service<Pong, Named>()("Pong") {}
166
+ *
167
+ * // src/ping.ts
168
+ * export default Ping.make(
169
+ * { main: import.meta.url },
170
+ * Effect.gen(function* () {
171
+ * const pong = yield* Fly.bindService(Pong);
172
+ * return { name: () => Effect.succeed("ping") };
173
+ * }),
174
+ * );
175
+ * ```
176
+ *
177
+ * ### Errors
178
+ * Each fails the caller's deploy before the caller is created:
179
+ * `Fly.ServiceUnreachable` when the caller and the Service are on
180
+ * different networks, `Fly.ServiceNotBindable` when the Service publishes
181
+ * no ports, and `Fly.EndpointNotPublished` for a port it does not publish.
182
+ *
183
+ * @binding
184
+ * @product Service
185
+ */
186
+ export const bindService = (target) => Effect.gen(function* () {
187
+ const http = yield* HttpClient.HttpClient;
188
+ const bound = yield* bindTarget(target, undefined);
189
+ const send = (request, isRpc) => Effect.gen(function* () {
190
+ const base = yield* bound.url;
191
+ let next = HttpClientRequest.setUrl(request, withBase(base, request.url));
192
+ if (isRpc) {
193
+ next = HttpClientRequest.setHeader(next, RPC_TOKEN_HEADER, yield* bound.token);
194
+ }
195
+ return yield* http.execute(next);
196
+ });
197
+ return makeFetchRpcStub({
198
+ fetch: (request) => send(request, request.url.includes(RPC_PATH_PREFIX)),
199
+ base: {
200
+ fetch: (request) => send(request, false),
201
+ },
202
+ });
203
+ });
204
+ /**
205
+ * Bind one published port of another {@link Service}: an admin API on
206
+ * its own port, or a raw TCP protocol. Returns the port's private host,
207
+ * its URL when it serves plain HTTP, and an `HttpClient` whose relative
208
+ * requests go there. See {@link bindService}.
209
+ */
210
+ export const bindEndpoint = (target, options) => Effect.gen(function* () {
211
+ const http = yield* HttpClient.HttpClient;
212
+ const bound = yield* bindTarget(target, options.port);
213
+ const host = bound.appName.pipe(Effect.map((app) => `${app}.flycast`));
214
+ const url = host.pipe(Effect.map((name) => options.port === 80 ? `http://${name}` : `http://${name}:${options.port}`));
215
+ return {
216
+ host,
217
+ port: options.port,
218
+ url,
219
+ client: HttpClient.mapRequestEffect(http, (request) => url.pipe(Effect.map((base) => HttpClientRequest.setUrl(request, withBase(base, request.url))))),
220
+ };
221
+ });
222
+ //# sourceMappingURL=BindService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindService.js","sourceRoot":"","sources":["../src/BindService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Resolve the bundled program (the runners registered via `host.run` /
3
+ * serve) and run it with a Node HTTP server bound to `PORT`, so the
4
+ * returned `{ fetch }` handler is actually served and `host.run` loops
5
+ * stay alive.
6
+ */
7
+ export declare const bootstrap: (entrypoint: unknown) => Promise<void>;
8
+ //# sourceMappingURL=Bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bootstrap.d.ts","sourceRoot":"","sources":["../src/Bootstrap.ts"],"names":[],"mappings":"AAuBA;;;;;GAKG;AACH,eAAO,MAAM,SAAS,eAAgB,OAAO,KAAG,OAAO,CAAC,IAAI,CAoC3D,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Process bootstrap for `Fly.Service` and `Fly.Sprite` (a Node process
3
+ * serving the bundled program). The generated entry imports this module
4
+ * and the user's `main`, nothing else — see `alchemy/Runtime/Bootstrap` for why.
5
+ */
6
+ import { NodeServices } from "@effect/platform-node";
7
+ import { NodeHttpServer } from "alchemy/Http";
8
+ import { reifyBoundConfigProvider } from "alchemy/Runtime";
9
+ import { entrypointLayer, resolveProgram, runProcess, stackFromEnv, } from "alchemy/Runtime/Bootstrap";
10
+ import { ManagedHttpShutdown } from "alchemy/Runtime/ManagedHttpShutdown";
11
+ import * as ConfigProvider from "effect/ConfigProvider";
12
+ import * as Effect from "effect/Effect";
13
+ import * as FetchHttpClient from "effect/http/FetchHttpClient";
14
+ import * as Layer from "effect/Layer";
15
+ import * as Logger from "effect/Logger";
16
+ import * as Option from "effect/Option";
17
+ import * as Scope from "effect/Scope";
18
+ /**
19
+ * Resolve the bundled program (the runners registered via `host.run` /
20
+ * serve) and run it with a Node HTTP server bound to `PORT`, so the
21
+ * returned `{ fetch }` handler is actually served and `host.run` loops
22
+ * stay alive.
23
+ */
24
+ export const bootstrap = (entrypoint) => {
25
+ const platform = Layer.mergeAll(NodeServices.layer, FetchHttpClient.layer, Logger.layer([Logger.consolePretty()]));
26
+ const services = entrypointLayer(entrypoint).pipe(Layer.provideMerge(stackFromEnv), Layer.provideMerge(NodeHttpServer({ hostname: "0.0.0.0" })), Layer.provideMerge(platform), Layer.provideMerge(Layer.succeed(ConfigProvider.ConfigProvider, reifyBoundConfigProvider(ConfigProvider.fromEnv(), process.env))));
27
+ const program = Effect.gen(function* () {
28
+ const managed = yield* Effect.serviceOption(ManagedHttpShutdown);
29
+ if (Option.isNone(managed)) {
30
+ return yield* resolveProgram("program").pipe(Effect.provide(services), Effect.scoped);
31
+ }
32
+ // Initializer dependencies outlive both run finalizers and HTTP responses.
33
+ const context = yield* Layer.buildWithScope(services, managed.value.dependencies);
34
+ return yield* resolveProgram("program").pipe(Effect.provideContext(context), Scope.provide(managed.value.dependencies));
35
+ });
36
+ const timeout = process.env.ALCHEMY_FLY_SHUTDOWN_TIMEOUT_MS;
37
+ return runProcess("Fly service", program, {
38
+ managedHttpShutdownTimeoutMs: timeout === undefined ? undefined : /^\d+$/.test(timeout) ? Number(timeout) : NaN,
39
+ });
40
+ };
41
+ //# sourceMappingURL=Bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bootstrap.js","sourceRoot":"","sources":["../src/Bootstrap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAmB,EAAiB,EAAE;IAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAC7B,YAAY,CAAC,KAAK,EAClB,eAAe,CAAC,KAAK,EACrB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CACvC,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAC/C,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,EAChC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,OAAO,CACX,cAAc,CAAC,cAAc,EAC7B,wBAAwB,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAChE,CACF,CACF,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC;QACD,2EAA2E;QAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAC1C,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAC9B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC;IAC5D,OAAO,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE;QACxC,4BAA4B,EAC1B,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;KACpF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,278 @@
1
+ import type { AddOnsResponseEdgesItemNode } from "@distilled.cloud/fly-io/addons";
2
+ import * as addons from "@distilled.cloud/fly-io/addons";
3
+ import * as Provider from "alchemy/Provider";
4
+ import { Resource } from "alchemy/Resource";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Redacted from "effect/Redacted";
7
+ import { TigrisCredentialsMissing } from "./Errors.ts";
8
+ import type { Providers } from "./Providers.ts";
9
+ /** Env-var names Tigris HTTP bindings write onto an App (same as `fly storage create`). */
10
+ export declare const BUCKET_SECRET_NAMES: readonly ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_ENDPOINT_URL_S3", "AWS_REGION", "BUCKET_NAME"];
11
+ export type BucketSecretName = (typeof BUCKET_SECRET_NAMES)[number];
12
+ /**
13
+ * Shadow bucket used to migrate from another S3-compatible store.
14
+ * Every field is required when set.
15
+ */
16
+ export interface BucketShadow {
17
+ /** Shadow-bucket access key id. */
18
+ accessKey: string;
19
+ /** Shadow-bucket secret. Wrap with `Redacted.make`. */
20
+ secretKey: Redacted.Redacted<string> | string;
21
+ /** Shadow-bucket region. */
22
+ region: string;
23
+ /** Shadow-bucket name. */
24
+ name: string;
25
+ /** Shadow-bucket S3 endpoint URL. */
26
+ endpoint: string;
27
+ /**
28
+ * Dual-write new objects back to the shadow bucket.
29
+ *
30
+ * @default false
31
+ */
32
+ writeThrough?: boolean;
33
+ }
34
+ export interface BucketProps {
35
+ /**
36
+ * Tigris bucket / add-on name. Globally unique, DNS-compatible
37
+ * (lowercase letters, digits, hyphens), must start with a letter,
38
+ * max 63 characters. If omitted, a unique name is generated from
39
+ * the stack, stage and logical ID. Changing it replaces the Bucket.
40
+ */
41
+ name?: string;
42
+ /**
43
+ * Organization slug. Defaults to the current token's org
44
+ * (`getCurrentToken`). Changing it replaces the Bucket.
45
+ */
46
+ orgSlug?: string;
47
+ /**
48
+ * Serve objects without credentials. Default is private.
49
+ *
50
+ * @default false
51
+ */
52
+ public?: boolean;
53
+ /**
54
+ * Custom domain for public website hosting. Maps to Tigris
55
+ * `options.website.domain_name`. Empty string when omitted
56
+ * (the Tigris API requires the field).
57
+ */
58
+ domainName?: string;
59
+ /**
60
+ * Tigris accelerate. Default is off.
61
+ *
62
+ * @default false
63
+ */
64
+ accelerate?: boolean;
65
+ /**
66
+ * Shadow bucket for zero-downtime migration from another
67
+ * S3-compatible store. Every nested field is required when set.
68
+ */
69
+ shadowBucket?: BucketShadow;
70
+ }
71
+ export type Bucket = Resource<"Fly.Bucket", BucketProps, {
72
+ /** Fly GraphQL add-on id. Identity of the Bucket. */
73
+ addOnId: string;
74
+ /** Physical Tigris add-on / bucket name. */
75
+ name: string;
76
+ /** Observed provisioning status (`ready`, …). */
77
+ status: string | undefined;
78
+ /** Organization slug. */
79
+ orgSlug: string | undefined;
80
+ /** Whether the bucket is public. */
81
+ public: boolean;
82
+ /** Custom website domain, if set. */
83
+ domainName: string | undefined;
84
+ /** Tigris accelerate. */
85
+ accelerate: boolean;
86
+ /** Tigris SSO dashboard URL, if the API returned one. */
87
+ ssoLink: string | undefined;
88
+ /** RFC3339 creation timestamp. */
89
+ createdAt: string | undefined;
90
+ /**
91
+ * `AWS_ACCESS_KEY_ID` from `createAddOn.environment`. Never logged.
92
+ */
93
+ accessKeyId: Redacted.Redacted<string> | undefined;
94
+ /**
95
+ * `AWS_SECRET_ACCESS_KEY` from `createAddOn.environment`. Never logged.
96
+ */
97
+ secretAccessKey: Redacted.Redacted<string> | undefined;
98
+ /**
99
+ * `AWS_ENDPOINT_URL_S3` from `createAddOn.environment`. Never logged.
100
+ */
101
+ endpoint: Redacted.Redacted<string> | undefined;
102
+ /**
103
+ * `AWS_REGION` from `createAddOn.environment`. Never logged.
104
+ */
105
+ region: Redacted.Redacted<string> | undefined;
106
+ /**
107
+ * `BUCKET_NAME` from `createAddOn.environment`. Never logged.
108
+ */
109
+ bucketName: Redacted.Redacted<string> | undefined;
110
+ }, never, Providers>;
111
+ /**
112
+ * A Fly.Bucket is Tigris S3-compatible object storage, billed through
113
+ * Fly. It is an org-scoped GraphQL add-on (`AddOnType` `tigris`).
114
+ *
115
+ * @see https://fly.io/docs/tigris/
116
+ *
117
+ * ### Create a Bucket
118
+ * Alchemy generates a unique name unless you pass one.
119
+ *
120
+ * **Example:** Generated name
121
+ * ```typescript
122
+ * const data = yield* Fly.Bucket("Data");
123
+ * ```
124
+ *
125
+ * ### A stable name
126
+ * Pass `name` when you need a stable Tigris bucket name.
127
+ *
128
+ * **Example:** Explicit name
129
+ * ```typescript
130
+ * const data = yield* Fly.Bucket("Data", {
131
+ * name: "my-bucket",
132
+ * });
133
+ * ```
134
+ *
135
+ * :::caution[Changing `name` replaces the Bucket]
136
+ * Tigris cannot rename a bucket. Alchemy creates the new name, then
137
+ * deletes the old one.
138
+ * :::
139
+ *
140
+ * ### Organization
141
+ * Org defaults to the current token. Pass `orgSlug` to pin it.
142
+ *
143
+ * **Example:** Pin an org
144
+ * ```typescript
145
+ * const data = yield* Fly.Bucket("Data", {
146
+ * orgSlug: "my-org",
147
+ * });
148
+ * ```
149
+ *
150
+ * :::caution[Changing `orgSlug` replaces the Bucket]
151
+ * The bucket is created in the new org. The old bucket is deleted.
152
+ * :::
153
+ *
154
+ * ### Public access
155
+ * Buckets are private by default. `public: true` serves objects
156
+ * without credentials.
157
+ *
158
+ * **Example:** Public bucket
159
+ * ```typescript
160
+ * const assets = yield* Fly.Bucket("Assets", {
161
+ * public: true,
162
+ * });
163
+ * ```
164
+ *
165
+ * ### Custom domain
166
+ * `domainName` sets `website.domain_name` on the add-on. Point a
167
+ * CNAME at `{name}.t3.tigrisbucket.io`.
168
+ *
169
+ * **Example:** Custom domain
170
+ * ```typescript
171
+ * const assets = yield* Fly.Bucket("Assets", {
172
+ * public: true,
173
+ * domainName: "assets.example.com",
174
+ * });
175
+ * ```
176
+ *
177
+ * ### Put and get objects
178
+ * Tigris speaks the S3 API. Bind {@link PutObject} / {@link GetObject}
179
+ * (and the other S3 object ops) in Service init. Alchemy injects the
180
+ * Tigris endpoint and credentials; you never read `AWS_*` yourself.
181
+ *
182
+ * **Example:** Put an object from a Service
183
+ * ```typescript
184
+ * import * as HttpServerResponse from "effect/http/HttpServerResponse";
185
+ *
186
+ * export default class Api extends Fly.Service<Api>()(
187
+ * "Api",
188
+ * { app: Site, main: import.meta.url, port: 3000 },
189
+ * Effect.gen(function* () {
190
+ * const putObject = yield* Fly.PutObject(Data);
191
+ * const getObject = yield* Fly.GetObject(Data);
192
+ *
193
+ * return {
194
+ * fetch: Effect.gen(function* () {
195
+ * yield* putObject({
196
+ * Key: "hello.txt",
197
+ * Body: "hello",
198
+ * ContentType: "text/plain",
199
+ * });
200
+ * const obj = yield* getObject({ Key: "hello.txt" });
201
+ * return HttpServerResponse.json({ ok: obj.ETag !== undefined });
202
+ * }),
203
+ * };
204
+ * }).pipe(Effect.provide([Fly.PutObjectHttp, Fly.GetObjectHttp])),
205
+ * ) {}
206
+ * ```
207
+ *
208
+ * ### Fly.Secret
209
+ * You can also set each key yourself with {@link Secret}.
210
+ *
211
+ * **Example:** Manual secrets
212
+ * ```typescript
213
+ * yield* Fly.Secret("BucketName", {
214
+ * app: Site,
215
+ * name: "BUCKET_NAME",
216
+ * value: Data.bucketName,
217
+ * });
218
+ * ```
219
+ *
220
+ * @resource
221
+ * @product Bucket
222
+ */
223
+ export declare const Bucket: import("alchemy/Resource").ResourceClass<Bucket>;
224
+ declare const BucketNotCreated_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
225
+ readonly _tag: "Fly.BucketNotCreated";
226
+ } & Readonly<A>;
227
+ export declare class BucketNotCreated extends BucketNotCreated_base<{
228
+ resourceName: string;
229
+ }> {
230
+ }
231
+ declare const BucketOrgMissing_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
232
+ readonly _tag: "Fly.BucketOrgMissing";
233
+ } & Readonly<A>;
234
+ export declare class BucketOrgMissing extends BucketOrgMissing_base<{
235
+ orgSlug: string;
236
+ }> {
237
+ }
238
+ declare const BucketProvisionFailed_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
239
+ readonly _tag: "Fly.BucketProvisionFailed";
240
+ } & Readonly<A>;
241
+ export declare class BucketProvisionFailed extends BucketProvisionFailed_base<{
242
+ resourceName: string;
243
+ status: string | undefined;
244
+ errorMessage: string | undefined;
245
+ }> {
246
+ }
247
+ export declare const listTigrisAddOns: () => Effect.Effect<AddOnsResponseEdgesItemNode[], addons.FlyIoOpError, addons.FlyIoOpContext>;
248
+ export declare const BucketProvider: () => import("effect/Layer").Layer<Provider.Provider<Bucket>, never, import("alchemy/Stack").Stack | import("alchemy/Stage").Stage | addons.FlyIoOpContext>;
249
+ declare const BucketSecretVersionMissing_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
250
+ readonly _tag: "Fly.BucketSecretVersionMissing";
251
+ } & Readonly<A>;
252
+ declare class BucketSecretVersionMissing extends BucketSecretVersionMissing_base<{
253
+ appName: string;
254
+ }> {
255
+ }
256
+ /**
257
+ * Write Tigris `AWS_*` / `BUCKET_NAME` secrets onto an App. Called from
258
+ * {@link Service} reconcile so the secrets exist before Machines boot.
259
+ *
260
+ * Looks up the add-on by id/name (retrying while Tigris is still
261
+ * provisioning) and also copies any already-evaluated `AWS_*` /
262
+ * `BUCKET_NAME` values from binding env — GraphQL `environment` is often
263
+ * empty after create. A missing add-on may use bound values only when the
264
+ * bucket name, credential pair, and S3 endpoint are complete. Partial values
265
+ * are never written. Region is optional, as in the Tigris bindings.
266
+ * Without an attachment, only an explicit `BUCKET_NAME` requests this mode;
267
+ * ordinary AWS region or credential settings do not imply a Bucket.
268
+ * Returns the highest accepted secret-version floor, or `undefined` when
269
+ * no Bucket was requested; this is not a vault snapshot.
270
+ */
271
+ export declare const attachBucketSecrets: (appName: string, attached: readonly {
272
+ name: string;
273
+ id?: string;
274
+ /** Credentials from the bound Bucket's attributes. */
275
+ values?: Record<string, string>;
276
+ }[], boundEnv?: Record<string, string> | undefined) => Effect.Effect<number | undefined, import("@distilled.cloud/fly-io").BadRequest | BucketSecretVersionMissing | import("@distilled.cloud/fly-io").Conflict | import("@distilled.cloud/fly-io").Forbidden | import("@distilled.cloud/fly-io").NotFound | TigrisCredentialsMissing | addons.FlyIoOpError, addons.FlyIoOpContext>;
277
+ export {};
278
+ //# sourceMappingURL=Bucket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bucket.d.ts","sourceRoot":"","sources":["../src/Bucket.ts"],"names":[],"mappings":"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"}