@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,93 @@
1
+ import {
2
+ MigrationError,
3
+ runMigrations,
4
+ withPgExecutor,
5
+ type NormalizedMigrationsInput,
6
+ type SqlExecutor,
7
+ type StampedMigrationsState,
8
+ } from "@alchemy.run/sql/Migrations";
9
+ import { stripSslQueryParams } from "@alchemy.run/sql/PostgresDriver";
10
+ import { applySqlImports } from "@alchemy.run/sql/SqlFile";
11
+ import * as Effect from "effect/Effect";
12
+ import * as Redacted from "effect/Redacted";
13
+
14
+ export { stripSslQueryParams };
15
+
16
+ const TRANSIENT_CONNECT_CODES = new Set([
17
+ "ENOTFOUND",
18
+ "EAI_AGAIN",
19
+ "ECONNREFUSED",
20
+ "ECONNRESET",
21
+ "ETIMEDOUT",
22
+ ]);
23
+
24
+ const isTransientConnectError = (cause: unknown): boolean => {
25
+ const code = (cause as { code?: unknown } | null | undefined)?.code;
26
+ return typeof code === "string" && TRANSIENT_CONNECT_CODES.has(code);
27
+ };
28
+
29
+ /**
30
+ * A verified-TLS `pg` session on a Fly Managed Postgres URI for the scope
31
+ * of `use`. A fresh cluster's hostname takes a moment to resolve, so
32
+ * connection failures are retried; one that persists is almost always a
33
+ * missing route — MPG hostnames only exist on the org's private network.
34
+ */
35
+ const withFlyPgExecutor = <A, E, R>(
36
+ connectionUri: Redacted.Redacted<string>,
37
+ use: (executor: SqlExecutor) => Effect.Effect<A, E, R>,
38
+ ): Effect.Effect<A, MigrationError | E, R> =>
39
+ withPgExecutor(
40
+ {
41
+ connectionString: connectionUri.pipe(Redacted.value, stripSslQueryParams),
42
+ ssl: { rejectUnauthorized: true },
43
+ },
44
+ use,
45
+ {
46
+ retryConnect: { while: isTransientConnectError, times: 15, interval: "3 seconds" },
47
+ onConnectFailure: (error) =>
48
+ isTransientConnectError(error.cause)
49
+ ? new MigrationError({
50
+ message:
51
+ `${error.message} — Fly Managed Postgres is only reachable ` +
52
+ "on the org's private network. Run the deploy behind a " +
53
+ "WireGuard peer or `fly mpg proxy`, or from a machine on " +
54
+ "6PN. See https://fly.io/docs/mpg/create-and-connect/",
55
+ cause: error.cause,
56
+ })
57
+ : error,
58
+ },
59
+ );
60
+
61
+ /**
62
+ * Fly Managed Postgres's migration adaptation is the shared pipeline
63
+ * with a connection-URI-scoped pg client as its executor. Use the
64
+ * direct (non-PgBouncer) URI so DDL and advisory locks work.
65
+ */
66
+ export const runPgMigrations = (options: {
67
+ connectionUri: Redacted.Redacted<string>;
68
+ input: NormalizedMigrationsInput;
69
+ stamped: StampedMigrationsState;
70
+ }) =>
71
+ runMigrations({
72
+ input: options.input,
73
+ stamped: options.stamped,
74
+ withExecutor: (apply) => withFlyPgExecutor(options.connectionUri, apply),
75
+ });
76
+
77
+ /** Run a single SQL script against the database (used for `importFiles`). */
78
+ export const runSql = (connectionUri: Redacted.Redacted<string>, sql: string) =>
79
+ withFlyPgExecutor(connectionUri, (executor) => executor.query(sql)).pipe(Effect.asVoid);
80
+
81
+ /** Apply `importFiles`, each once and again only when it changes. */
82
+ export const runImports = (
83
+ connectionUri: Redacted.Redacted<string>,
84
+ importFiles: ReadonlyArray<string>,
85
+ rootDir: string,
86
+ previous: Record<string, string>,
87
+ ) =>
88
+ applySqlImports({
89
+ importFiles,
90
+ rootDir,
91
+ previous,
92
+ apply: (file) => runSql(connectionUri, file.sql),
93
+ });
@@ -0,0 +1,155 @@
1
+ import { CredentialsStoreLive } from "alchemy/Auth/Credentials";
2
+ import { ProfileStoreLive } from "alchemy/Auth/Profile";
3
+ import * as Command from "alchemy/Command";
4
+ import * as Provider from "alchemy/Provider";
5
+ import { Random, RandomProvider } from "alchemy/Random";
6
+ import {
7
+ Server as WebsiteServer,
8
+ ServerProvider as WebsiteServerProvider,
9
+ } from "alchemy/Website/Server";
10
+ import * as FetchHttpClient from "effect/http/FetchHttpClient";
11
+ import * as Layer from "effect/Layer";
12
+ import { App, AppProvider } from "./App.ts";
13
+ import { FlyAuth } from "./AuthProvider.ts";
14
+ import { Bucket, BucketProvider } from "./Bucket.ts";
15
+ import { Certificate, CertificateProvider } from "./Certificate.ts";
16
+ import { CheckpointHttp } from "./CheckpointHttp.ts";
17
+ import { ConnectPostgresHttp } from "./ConnectPostgresHttp.ts";
18
+ import * as Credentials from "./Credentials.ts";
19
+ import { DecryptHttp } from "./DecryptHttp.ts";
20
+ import { DeleteObjectHttp } from "./DeleteObjectHttp.ts";
21
+ import { EncryptHttp } from "./EncryptHttp.ts";
22
+ import { fromCredentials } from "./Environment.ts";
23
+ import { ExecHttp } from "./ExecHttp.ts";
24
+ import { GetObjectHttp } from "./GetObjectHttp.ts";
25
+ import { GetSecretHttp } from "./GetSecretHttp.ts";
26
+ import { HeadObjectHttp } from "./HeadObjectHttp.ts";
27
+ import { IpAssignment, IpAssignmentProvider } from "./IpAssignment.ts";
28
+ import { ListObjectsV2Http } from "./ListObjectsV2Http.ts";
29
+ import { ListSecretsHttp } from "./ListSecretsHttp.ts";
30
+ import { Machine, MachineProvider } from "./Machine.ts";
31
+ import { MountVolumeLive } from "./MountVolume.ts";
32
+ import { Postgres, PostgresProvider } from "./Postgres.ts";
33
+ import { PutObjectHttp } from "./PutObjectHttp.ts";
34
+ import { ReadRedisHttp } from "./ReadRedisHttp.ts";
35
+ import { ReadWriteRedisHttp } from "./ReadWriteRedisHttp.ts";
36
+ import { Redis, RedisProvider } from "./Redis.ts";
37
+ import { Secret, SecretProvider } from "./Secret.ts";
38
+ import { SecretKey, SecretKeyProvider } from "./SecretKey.ts";
39
+ import { Service, ServiceProvider } from "./Service.ts";
40
+ import { SignHttp } from "./SignHttp.ts";
41
+ import { Sprite, SpriteProvider } from "./Sprite.ts";
42
+ import { VerifyHttp } from "./VerifyHttp.ts";
43
+ import { VolumeSnapshot, VolumeSnapshotProvider } from "./VolumeSnapshot.ts";
44
+ import { AssetDeployment, AssetDeploymentProvider } from "./Website/AssetDeployment.ts";
45
+ import { WriteCertificatesHttp } from "./WriteCertificatesHttp.ts";
46
+ import { WriteRedisHttp } from "./WriteRedisHttp.ts";
47
+ import { WriteSecretHttp } from "./WriteSecretHttp.ts";
48
+
49
+ export class Providers extends Provider.ProviderCollection<Providers>()("Fly") {}
50
+
51
+ export type ProviderRequirements = Layer.Services<ReturnType<typeof providers>>;
52
+
53
+ /**
54
+ * Build a layer that registers Fly resource providers, the Fly
55
+ * `AuthProvider`, the resolved `Credentials`, and an `HttpClient`. Include
56
+ * this from your stack alongside other cloud `providers()` layers.
57
+ *
58
+ * Resource providers are inserted into {@link Provider.collection} as they
59
+ * land. The collection starts empty so App / Machine / Service agents can
60
+ * make a single minimal insertion.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * import * as Alchemy from "alchemy";
65
+ * import * as Fly from "@alchemy.run/fly";
66
+ * import * as Effect from "effect/Effect";
67
+ *
68
+ * export default Alchemy.Stack(
69
+ * "MyStack",
70
+ * {
71
+ * providers: Fly.providers(),
72
+ * state: Alchemy.localState(),
73
+ * },
74
+ * Effect.gen(function* () {
75
+ * return {};
76
+ * }),
77
+ * );
78
+ * ```
79
+ */
80
+ export const providers = () =>
81
+ Layer.effect(
82
+ Providers,
83
+ Provider.collection([
84
+ App,
85
+ AssetDeployment,
86
+ Bucket,
87
+ Certificate,
88
+ IpAssignment,
89
+ Machine,
90
+ Postgres,
91
+ Random,
92
+ Redis,
93
+ Secret,
94
+ SecretKey,
95
+ Service,
96
+ Sprite,
97
+ VolumeSnapshot,
98
+ WebsiteServer,
99
+ ]),
100
+ ).pipe(
101
+ Layer.provide(
102
+ Layer.mergeAll(
103
+ AppProvider(),
104
+ AssetDeploymentProvider(),
105
+ BucketProvider(),
106
+ CertificateProvider(),
107
+ IpAssignmentProvider(),
108
+ MachineProvider(),
109
+ PostgresProvider(),
110
+ RandomProvider(),
111
+ RedisProvider(),
112
+ SecretProvider(),
113
+ SecretKeyProvider(),
114
+ ServiceProvider(),
115
+ SpriteProvider(),
116
+ VolumeSnapshotProvider(),
117
+ WebsiteServerProvider(),
118
+ ),
119
+ ),
120
+ // The binding layers are mutually independent — they all draw on the
121
+ // Credentials/HttpClient layers below. Merge them into one group so
122
+ // `.pipe` stays under its 20-argument overload ceiling.
123
+ Layer.provideMerge(
124
+ Layer.mergeAll(
125
+ MountVolumeLive,
126
+ ConnectPostgresHttp,
127
+ PutObjectHttp,
128
+ GetObjectHttp,
129
+ DeleteObjectHttp,
130
+ HeadObjectHttp,
131
+ ListObjectsV2Http,
132
+ ReadRedisHttp,
133
+ WriteRedisHttp,
134
+ ReadWriteRedisHttp,
135
+ CheckpointHttp,
136
+ ExecHttp,
137
+ GetSecretHttp,
138
+ ListSecretsHttp,
139
+ WriteSecretHttp,
140
+ WriteCertificatesHttp,
141
+ EncryptHttp,
142
+ DecryptHttp,
143
+ SignHttp,
144
+ VerifyHttp,
145
+ ),
146
+ ),
147
+ Layer.provideMerge(fromCredentials()),
148
+ Layer.provideMerge(Credentials.fromAuthProvider()),
149
+ Layer.provideMerge(FlyAuth),
150
+ Layer.provideMerge(ProfileStoreLive),
151
+ Layer.provideMerge(CredentialsStoreLive),
152
+ Layer.provideMerge(FetchHttpClient.layer),
153
+ Layer.provideMerge(Command.providers()),
154
+ Layer.orDie,
155
+ );
@@ -0,0 +1,49 @@
1
+ import type * as S3 from "@distilled.cloud/aws/s3";
2
+ import * as Binding from "alchemy/Binding";
3
+ import type { RuntimeContext } from "alchemy/RuntimeContext";
4
+ import type * as Effect from "effect/Effect";
5
+ import type { Bucket } from "./Bucket.ts";
6
+ import type { TigrisCredentialsMissing } from "./Errors.ts";
7
+
8
+ export interface PutObjectRequest extends Omit<S3.PutObjectRequest, "Bucket"> {}
9
+
10
+ /**
11
+ * Runtime binding for Tigris `PutObject` over the S3 API.
12
+ *
13
+ * Bind this operation to a {@link Bucket} in Service init. The Tigris
14
+ * bucket name, endpoint, and credentials are injected automatically.
15
+ * Provide {@link PutObjectHttp}.
16
+ *
17
+ *
18
+ * ### Writing Objects
19
+ * **Example:** Put an Object
20
+ * ```typescript
21
+ * const putObject = yield* Fly.PutObject(Data);
22
+ *
23
+ * yield* putObject({
24
+ * Key: "hello.txt",
25
+ * Body: "Hello, world!",
26
+ * ContentType: "text/plain",
27
+ * });
28
+ * ```
29
+ *
30
+ * @binding
31
+ * @product Bucket
32
+ */
33
+ export interface PutObject extends Binding.Service<
34
+ PutObject,
35
+ "Fly.PutObject",
36
+ (
37
+ bucket: Bucket,
38
+ ) => Effect.Effect<
39
+ (
40
+ request: PutObjectRequest,
41
+ ) => Effect.Effect<
42
+ S3.PutObjectOutput,
43
+ S3.PutObjectError | TigrisCredentialsMissing,
44
+ RuntimeContext
45
+ >
46
+ >
47
+ > {}
48
+
49
+ export const PutObject = Binding.Service<PutObject>("Fly.PutObject");
@@ -0,0 +1,20 @@
1
+ import * as S3 from "@distilled.cloud/aws/s3";
2
+ import * as Layer from "effect/Layer";
3
+ import { makeTigrisS3Binding } from "./BucketBinding.ts";
4
+ import { PutObject } from "./PutObject.ts";
5
+
6
+ /**
7
+ * HTTP implementation of {@link PutObject}. Calls distilled S3
8
+ * `putObject` against the Tigris endpoint with the bucket's credentials.
9
+ *
10
+ * @layer
11
+ * @product Bucket
12
+ * @provides Fly.PutObject
13
+ */
14
+ export const PutObjectHttp = Layer.effect(
15
+ PutObject,
16
+ makeTigrisS3Binding({
17
+ tag: "Fly.PutObject",
18
+ operation: S3.putObject,
19
+ }),
20
+ );
@@ -0,0 +1,31 @@
1
+ import type { ReadClient } from "@alchemy.run/redis";
2
+ import * as Binding from "alchemy/Binding";
3
+ import type * as Effect from "effect/Effect";
4
+ import type { Redis } from "./Redis.ts";
5
+
6
+ /**
7
+ * Bind a {@link Redis} database with read access (`get`, `ping`).
8
+ *
9
+ * `ReadRedis` is the Context tag, the type, and the callable —
10
+ * `yield* Fly.ReadRedis(Cache)`. Provide {@link ReadRedisHttp}.
11
+ *
12
+ *
13
+ * ### Read
14
+ * **Example:** Get a key
15
+ * ```typescript
16
+ * const cache = yield* Fly.ReadRedis(Cache);
17
+ * const value = yield* cache.get("marker");
18
+ * ```
19
+ *
20
+ * @binding
21
+ * @product Redis
22
+ */
23
+ export interface ReadRedis extends Binding.Service<
24
+ ReadRedis,
25
+ "Fly.ReadRedis",
26
+ (redis: Redis) => Effect.Effect<ReadRedisClient>
27
+ > {}
28
+
29
+ export const ReadRedis = Binding.Service<ReadRedis>("Fly.ReadRedis");
30
+
31
+ export type ReadRedisClient = ReadClient;
@@ -0,0 +1,18 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ReadRedis } from "./ReadRedis.ts";
3
+ import { makeRedisBinding } from "./RedisBinding.ts";
4
+ import { makeReadRedisClient } from "./RedisHttp.ts";
5
+
6
+ /**
7
+ * HTTP implementation of {@link ReadRedis}.
8
+ *
9
+ * @layer
10
+ * @product Redis
11
+ * @provides Fly.ReadRedis
12
+ */
13
+ export const ReadRedisHttp = Layer.effect(
14
+ ReadRedis,
15
+ makeRedisBinding({
16
+ makeClient: makeReadRedisClient,
17
+ }),
18
+ );
@@ -0,0 +1,33 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ import type * as Effect from "effect/Effect";
3
+ import type { ReadRedisClient } from "./ReadRedis.ts";
4
+ import type { Redis } from "./Redis.ts";
5
+ import type { WriteRedisClient } from "./WriteRedis.ts";
6
+
7
+ /**
8
+ * Bind a {@link Redis} database with read + write access.
9
+ *
10
+ * `ReadWriteRedis` is the Context tag, the type, and the callable —
11
+ * `yield* Fly.ReadWriteRedis(Cache)`. Provide {@link ReadWriteRedisHttp}.
12
+ *
13
+ *
14
+ * ### Read and write
15
+ * **Example:** Round-trip a key
16
+ * ```typescript
17
+ * const cache = yield* Fly.ReadWriteRedis(Cache);
18
+ * yield* cache.set("marker", "hello");
19
+ * const value = yield* cache.get("marker");
20
+ * ```
21
+ *
22
+ * @binding
23
+ * @product Redis
24
+ */
25
+ export interface ReadWriteRedis extends Binding.Service<
26
+ ReadWriteRedis,
27
+ "Fly.ReadWriteRedis",
28
+ (redis: Redis) => Effect.Effect<ReadWriteRedisClient>
29
+ > {}
30
+
31
+ export const ReadWriteRedis = Binding.Service<ReadWriteRedis>("Fly.ReadWriteRedis");
32
+
33
+ export interface ReadWriteRedisClient extends ReadRedisClient, WriteRedisClient {}
@@ -0,0 +1,18 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ReadWriteRedis } from "./ReadWriteRedis.ts";
3
+ import { makeRedisBinding } from "./RedisBinding.ts";
4
+ import { makeReadWriteRedisClient } from "./RedisHttp.ts";
5
+
6
+ /**
7
+ * HTTP implementation of {@link ReadWriteRedis}.
8
+ *
9
+ * @layer
10
+ * @product Redis
11
+ * @provides Fly.ReadWriteRedis
12
+ */
13
+ export const ReadWriteRedisHttp = Layer.effect(
14
+ ReadWriteRedis,
15
+ makeRedisBinding({
16
+ makeClient: makeReadWriteRedisClient,
17
+ }),
18
+ );