@alchemy.run/fly 0.0.0-stage → 2.0.0-beta.84

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 +61 -2
  3. package/lib/App.d.ts +230 -0
  4. package/lib/App.d.ts.map +1 -0
  5. package/lib/App.js +340 -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 +59 -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 +35 -0
  176. package/lib/PostgresMigrations.d.ts.map +1 -0
  177. package/lib/PostgresMigrations.js +110 -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 +608 -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 +8 -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 +1022 -0
  240. package/lib/Service.d.ts.map +1 -0
  241. package/lib/Service.js +1397 -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 +469 -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 +87 -0
  280. package/lib/Website/Astro.d.ts.map +1 -0
  281. package/lib/Website/Astro.js +55 -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 +175 -0
  288. package/lib/Website/FrameworkSite.d.ts.map +1 -0
  289. package/lib/Website/FrameworkSite.js +162 -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 +155 -0
  312. package/lib/Website/StaticSite.d.ts.map +1 -0
  313. package/lib/Website/StaticSite.js +168 -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 +103 -0
  328. package/lib/Website/Vite.d.ts.map +1 -0
  329. package/lib/Website/Vite.js +91 -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 +458 -0
  370. package/lib/bluegreen.js.map +1 -0
  371. package/lib/hosted.d.ts +172 -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 +145 -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 +97 -3
  400. package/src/App.ts +516 -0
  401. package/src/AuthProvider.ts +68 -0
  402. package/src/BindService.ts +304 -0
  403. package/src/Bootstrap.ts +66 -0
  404. package/src/Bucket.ts +916 -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 +102 -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 +1268 -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 +153 -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 +820 -0
  452. package/src/RedisBinding.ts +64 -0
  453. package/src/RedisHttp.ts +11 -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 +1934 -0
  460. package/src/Sign.ts +46 -0
  461. package/src/SignHttp.ts +44 -0
  462. package/src/Sprite.ts +671 -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 +294 -0
  469. package/src/Website/Astro.ts +87 -0
  470. package/src/Website/Foldkit.ts +54 -0
  471. package/src/Website/FrameworkSite.ts +363 -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 +275 -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 +112 -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 +708 -0
  492. package/src/globals.d.ts +2 -0
  493. package/src/hosted.ts +668 -0
  494. package/src/index.ts +64 -0
  495. package/src/internal/RemoteBuilder.ts +224 -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,376 @@
1
+ import * as machines from "@distilled.cloud/fly-io/machines";
2
+ import { isResolved } from "alchemy/Diff";
3
+ import * as Provider from "alchemy/Provider";
4
+ import { Resource } from "alchemy/Resource";
5
+ import * as Data from "effect/Data";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Schedule from "effect/Schedule";
8
+ import { listOwnedApps } from "./App.js";
9
+ const resolveIpAssignmentProps = (props) => Effect.gen(function* () {
10
+ const resolved = Effect.isEffect(props) ? yield* props : props;
11
+ if (globalThis.__ALCHEMY_RUNTIME__)
12
+ return resolved;
13
+ const app = Effect.isEffect(resolved.app)
14
+ ? yield* resolved.app
15
+ : resolved.app;
16
+ return { ...resolved, app };
17
+ });
18
+ const IpAssignmentResource = Resource("Fly.IpAssignment");
19
+ /**
20
+ * A Fly.IpAssignment is an address on an {@link App}. A {@link Service}
21
+ * publishes ports. Fly's proxy load-balances `{app}.fly.dev` across
22
+ * Machines that publish a proxy service.
23
+ *
24
+ * Identity is the allocated `ip`. There is no in-place update.
25
+ *
26
+ * @see https://fly.io/docs/networking/services/
27
+ *
28
+ * ### Shared IPv4
29
+ * `shared_v4` is a shared Anycast IPv4. It is free. This is what you
30
+ * want for fly.dev over IPv4. Yield it next to the Service.
31
+ *
32
+ * **Example:** Allocate shared_v4
33
+ * ```typescript
34
+ * export const PublicIp = Fly.IpAssignment("Shared", {
35
+ * app: Site,
36
+ * type: "shared_v4",
37
+ * });
38
+ * ```
39
+ *
40
+ * :::caution[Changing `type` or `app` replaces the assignment]
41
+ * A new address is allocated. The old one is released.
42
+ * :::
43
+ *
44
+ * ### Dedicated IPv6
45
+ * `v6` is a dedicated IPv6. It is free.
46
+ *
47
+ * **Example:** Allocate v6
48
+ * ```typescript
49
+ * export const V6 = Fly.IpAssignment("V6", {
50
+ * app: Site,
51
+ * type: "v6",
52
+ * });
53
+ * ```
54
+ *
55
+ * ### Dedicated IPv4
56
+ * `v4` is a billed dedicated IPv4. It may 400 if the org has no
57
+ * quota. Prefer `shared_v4` or `v6` in tests.
58
+ *
59
+ * **Example:** Allocate v4
60
+ * ```typescript
61
+ * export const Dedicated = Fly.IpAssignment("Dedicated", {
62
+ * app: Site,
63
+ * type: "v4",
64
+ * });
65
+ * ```
66
+ *
67
+ * ### Flycast (private IPv6)
68
+ * `private_v6` is a Flycast address. Fly's proxy serves it only inside
69
+ * the organization's private network, at `{app}.flycast`. It is free.
70
+ * Use it for a backend that another App calls and the internet must
71
+ * not reach. Requests still go through the proxy, so blue/green
72
+ * cordoning, `autostart`, and `autostop` keep working. Allocate no
73
+ * public address on the same App.
74
+ *
75
+ * **Example:** Allocate private_v6
76
+ * ```typescript
77
+ * export const Private = Fly.IpAssignment("Private", {
78
+ * app: Backend,
79
+ * type: "private_v6",
80
+ * });
81
+ * ```
82
+ *
83
+ * ### Region
84
+ * `region` pins a dedicated address. Shared Anycast ignores it. See
85
+ * [Regions](/fly/compute/regions) for the list of codes.
86
+ *
87
+ * **Example:** Dedicated IPv4 in iad
88
+ * ```typescript
89
+ * export const Dedicated = Fly.IpAssignment("Dedicated", {
90
+ * app: Site,
91
+ * type: "v4",
92
+ * region: "iad",
93
+ * });
94
+ * ```
95
+ *
96
+ * :::caution[Changing `region` replaces the assignment]
97
+ * A new address is allocated in the new region.
98
+ * :::
99
+ *
100
+ * ### Service name
101
+ * `serviceName` binds the address to a Fly proxy service. Changing it
102
+ * replaces the assignment.
103
+ *
104
+ * **Example:** Bind to a named service
105
+ * ```typescript
106
+ * export const PublicIp = Fly.IpAssignment("Shared", {
107
+ * app: Site,
108
+ * type: "shared_v4",
109
+ * serviceName: "http",
110
+ * });
111
+ * ```
112
+ *
113
+ * :::caution[Changing `serviceName` replaces the assignment]
114
+ * A new address is allocated bound to the new service.
115
+ * :::
116
+ *
117
+ * ### Isolated network
118
+ * `network` names the private network a `private_v6` address is
119
+ * reachable from. Create-only.
120
+ *
121
+ * **Example:** Custom network
122
+ * ```typescript
123
+ * export const Private = Fly.IpAssignment("Private", {
124
+ * app: Backend,
125
+ * type: "private_v6",
126
+ * network: "tenant-a",
127
+ * });
128
+ * ```
129
+ *
130
+ * :::caution[Changing `network` replaces the assignment]
131
+ * A new address is allocated on the new network.
132
+ * :::
133
+ *
134
+ * ### Organization
135
+ * `orgSlug` defaults to the current token's org. It is not a
136
+ * replacement key.
137
+ *
138
+ * **Example:** Pin an org
139
+ * ```typescript
140
+ * export const PublicIp = Fly.IpAssignment("Shared", {
141
+ * app: Site,
142
+ * type: "shared_v4",
143
+ * orgSlug: "my-org",
144
+ * });
145
+ * ```
146
+ *
147
+ * ### Yield with a Service
148
+ * Allocate the address on the same App as the Service. `api.url` is
149
+ * `https://{appName}.fly.dev`.
150
+ *
151
+ * **Example:** Stack outputs
152
+ * ```typescript
153
+ * export default Alchemy.Stack(
154
+ * "MyApp",
155
+ * { providers: Fly.providers(), state: Alchemy.localState() },
156
+ * Effect.gen(function* () {
157
+ * const api = yield* Api;
158
+ * const ip = yield* PublicIp;
159
+ * return { url: api.url, ip: ip.ip };
160
+ * }),
161
+ * );
162
+ * ```
163
+ *
164
+ * @resource
165
+ * @product App
166
+ */
167
+ export const IpAssignment = Object.assign((id, props) => IpAssignmentResource(id, resolveIpAssignmentProps(props)), IpAssignmentResource);
168
+ export class IpAssignmentNotCreated extends Data.TaggedError("Fly.IpAssignmentNotCreated") {
169
+ }
170
+ export class IpAssignmentAppMissing extends Data.TaggedError("Fly.IpAssignmentAppMissing") {
171
+ }
172
+ const appNameOf = (value) => {
173
+ if (value === null || typeof value !== "object")
174
+ return undefined;
175
+ const rec = value;
176
+ if (typeof rec.appName === "string" && rec.appName.length > 0) {
177
+ return rec.appName;
178
+ }
179
+ if (typeof rec.name === "string" && rec.name.length > 0) {
180
+ return rec.name;
181
+ }
182
+ return undefined;
183
+ };
184
+ const asType = (value) => value === "v4" || value === "v6" || value === "shared_v4" || value === "private_v6"
185
+ ? value
186
+ : undefined;
187
+ /**
188
+ * Fly omits `type` from IP assignment responses. Only Flycast addresses carry
189
+ * a `network` (its name is empty for the organization's default network).
190
+ */
191
+ const isFlycast = (assignment) => assignment.network !== undefined && assignment.network !== null;
192
+ const networkOf = (assignment) => assignment.network?.name || undefined;
193
+ const inferType = (assignment, fallback) => {
194
+ const wire = asType(assignment.type);
195
+ if (wire !== undefined)
196
+ return wire;
197
+ if (assignment.shared === true)
198
+ return "shared_v4";
199
+ if (isFlycast(assignment))
200
+ return "private_v6";
201
+ const ip = assignment.ip ?? "";
202
+ if (ip.includes(":"))
203
+ return "v6";
204
+ if (fallback !== undefined)
205
+ return fallback;
206
+ return ip.length > 0 ? "v4" : (fallback ?? "v4");
207
+ };
208
+ const toAttrs = (appName, assignment, fallbackType) => {
209
+ const type = inferType(assignment, fallbackType);
210
+ return {
211
+ appName,
212
+ ip: assignment.ip ?? "",
213
+ type,
214
+ region: assignment.region,
215
+ serviceName: assignment.service_name,
216
+ shared: type === "shared_v4" || assignment.shared === true,
217
+ network: networkOf(assignment),
218
+ createdAt: assignment.created_at,
219
+ };
220
+ };
221
+ const matchesDesired = (assignment, news) => {
222
+ if (inferType(assignment, news.type) !== news.type)
223
+ return false;
224
+ if (news.type === "private_v6" && networkOf(assignment) !== news.network)
225
+ return false;
226
+ if (news.region !== undefined && assignment.region !== news.region) {
227
+ return false;
228
+ }
229
+ if (news.serviceName !== undefined && assignment.service_name !== news.serviceName) {
230
+ return false;
231
+ }
232
+ return true;
233
+ };
234
+ const listAssignments = (appName) => machines.listAppIPAssignments({ app_name: appName }).pipe(Effect.map((res) => res.ips ?? []), Effect.catchTag(["NotFound", "Forbidden"], () => Effect.succeed([])));
235
+ const findByIp = (appName, ip) => listAssignments(appName).pipe(Effect.map((ips) => ips.find((item) => item.ip === ip)));
236
+ const findMatching = (appName, news) => listAssignments(appName).pipe(Effect.map((ips) => ips.find((item) => matchesDesired(item, news))));
237
+ const waitUntilGone = (appName, ip) => findByIp(appName, ip).pipe(Effect.map((found) => found === undefined), Effect.repeat({ schedule: Schedule.spaced("1 second"), until: (gone) => gone, times: 8 }));
238
+ /** Whether the App has any address reachable from the internet. */
239
+ export const hasPublicAddress = (appName) => listAssignments(appName).pipe(Effect.map((ips) => ips.some((item) => inferType(item) !== "private_v6")));
240
+ /**
241
+ * Converge the addresses of an App a {@link Service} owns. Every owned App
242
+ * gets a Flycast address on its private network (the organization's
243
+ * default network when `network` is omitted). A public App also gets a
244
+ * shared IPv4 and an IPv6; a private one has every public address
245
+ * released. All three types are free.
246
+ */
247
+ export const syncOwnedAppAddresses = Effect.fn(function* (appName, isPublic, network) {
248
+ const observed = yield* listAssignments(appName);
249
+ const isDesiredFlycast = (item) => inferType(item) === "private_v6" && networkOf(item) === network;
250
+ if (!observed.some(isDesiredFlycast)) {
251
+ yield* machines
252
+ .createAppIPAssignment({ app_name: appName, type: "private_v6", network })
253
+ .pipe(Effect.catchTag("Conflict", () => Effect.succeed(undefined)));
254
+ }
255
+ if (isPublic) {
256
+ for (const type of ["shared_v4", "v6"]) {
257
+ if (observed.some((item) => inferType(item) === type))
258
+ continue;
259
+ yield* machines
260
+ .createAppIPAssignment({ app_name: appName, type })
261
+ .pipe(Effect.catchTag("Conflict", () => Effect.succeed(undefined)));
262
+ }
263
+ }
264
+ // Release public addresses of a private Service and Flycast addresses
265
+ // on any other network.
266
+ for (const item of observed) {
267
+ if (item.ip === undefined || isDesiredFlycast(item))
268
+ continue;
269
+ if (isPublic && inferType(item) !== "private_v6")
270
+ continue;
271
+ yield* machines
272
+ .deleteAppIPAssignment({ app_name: appName, ip: item.ip })
273
+ .pipe(Effect.catchTag("NotFound", () => Effect.void));
274
+ yield* waitUntilGone(appName, item.ip);
275
+ }
276
+ });
277
+ /**
278
+ * Add a Flycast address on `network` to an App a {@link Service} shares,
279
+ * so bound callers can reach it. Only ever adds; the address is removed
280
+ * with the App.
281
+ */
282
+ export const ensureFlycastAddress = Effect.fn(function* (appName, network) {
283
+ const observed = yield* listAssignments(appName);
284
+ if (observed.some((item) => inferType(item) === "private_v6" && networkOf(item) === network))
285
+ return;
286
+ yield* machines
287
+ .createAppIPAssignment({ app_name: appName, type: "private_v6", network })
288
+ .pipe(Effect.catchTag("Conflict", () => Effect.succeed(undefined)));
289
+ });
290
+ export const IpAssignmentProvider = () => Provider.succeed(IpAssignment, {
291
+ stables: ["ip", "appName", "type", "region"],
292
+ nuke: { dependsOn: ["Fly.App"] },
293
+ diff: Effect.fn(function* ({ news, olds, output }) {
294
+ if (news === undefined || !isResolved(news))
295
+ return undefined;
296
+ if (output === undefined)
297
+ return undefined;
298
+ const appName = appNameOf(news.app);
299
+ const appChanged = appName !== undefined && appName !== output.appName;
300
+ const typeChanged = news.type !== output.type;
301
+ const regionChanged = news.region !== undefined && news.region !== output.region;
302
+ const serviceChanged = news.serviceName !== undefined && news.serviceName !== output.serviceName;
303
+ const networkChanged = news.network !== (olds !== undefined ? olds.network : output.network);
304
+ if (appChanged || typeChanged || regionChanged || serviceChanged || networkChanged) {
305
+ return { action: "replace" };
306
+ }
307
+ return undefined;
308
+ }),
309
+ read: Effect.fn(function* ({ olds, output }) {
310
+ const appName = output?.appName ?? appNameOf(olds?.app);
311
+ if (appName === undefined)
312
+ return undefined;
313
+ const found = output?.ip !== undefined && output.ip.length > 0
314
+ ? yield* findByIp(appName, output.ip)
315
+ : olds !== undefined
316
+ ? yield* findMatching(appName, olds)
317
+ : undefined;
318
+ if (found === undefined || found.ip === undefined)
319
+ return undefined;
320
+ return toAttrs(appName, found, output?.type ?? olds?.type);
321
+ }),
322
+ list: Effect.fn(function* () {
323
+ const apps = yield* listOwnedApps();
324
+ const rows = yield* Effect.forEach(apps, (app) => listAssignments(app.appName).pipe(Effect.map((ips) => ips
325
+ .filter((item) => item.ip !== undefined && item.ip.length > 0)
326
+ .map((item) => toAttrs(app.appName, item)))), { concurrency: 8 });
327
+ return rows.flat();
328
+ }),
329
+ reconcile: Effect.fn(function* ({ news, output }) {
330
+ const props = news ?? {};
331
+ const appName = appNameOf(props.app) ?? output?.appName;
332
+ if (appName === undefined) {
333
+ return yield* new IpAssignmentAppMissing({ type: props.type });
334
+ }
335
+ // Observe by cached ip, then by desired type/region/service.
336
+ let current = output?.ip !== undefined && output.ip.length > 0
337
+ ? yield* findByIp(appName, output.ip)
338
+ : undefined;
339
+ if (current === undefined) {
340
+ current = yield* findMatching(appName, props);
341
+ }
342
+ if (current === undefined) {
343
+ const created = yield* machines
344
+ .createAppIPAssignment({
345
+ app_name: appName,
346
+ type: props.type,
347
+ region: props.region,
348
+ network: props.network,
349
+ org_slug: props.orgSlug,
350
+ service_name: props.serviceName,
351
+ })
352
+ .pipe(Effect.catchTag("Conflict", () => Effect.succeed(undefined)));
353
+ if (created !== undefined && created.ip !== undefined) {
354
+ current = created;
355
+ }
356
+ else {
357
+ current = yield* findMatching(appName, props);
358
+ }
359
+ }
360
+ if (current === undefined || current.ip === undefined) {
361
+ return yield* new IpAssignmentNotCreated({ appName, type: props.type });
362
+ }
363
+ return toAttrs(appName, current, props.type);
364
+ }),
365
+ delete: Effect.fn(function* ({ output }) {
366
+ const appName = output.appName;
367
+ const ip = output.ip;
368
+ if (appName.length === 0 || ip.length === 0)
369
+ return;
370
+ yield* machines
371
+ .deleteAppIPAssignment({ app_name: appName, ip })
372
+ .pipe(Effect.catchTag("NotFound", () => Effect.void));
373
+ yield* waitUntilGone(appName, ip);
374
+ }),
375
+ });
376
+ //# sourceMappingURL=IpAssignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IpAssignment.js","sourceRoot":"","sources":["../src/IpAssignment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
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
+ export interface ListObjectsV2Request extends Omit<S3.ListObjectsV2Request, "Bucket"> {
8
+ }
9
+ /**
10
+ * Runtime binding for Tigris `ListObjectsV2` over the S3 API.
11
+ *
12
+ * Bind this operation to a {@link Bucket} in Service init. Provide
13
+ * {@link ListObjectsV2Http}.
14
+ *
15
+ *
16
+ * ### Listing Objects
17
+ * **Example:** List Objects Under a Prefix
18
+ * ```typescript
19
+ * const listObjects = yield* Fly.ListObjectsV2(Data);
20
+ * const result = yield* listObjects({ Prefix: "jobs/", MaxKeys: 100 });
21
+ * ```
22
+ *
23
+ * @binding
24
+ * @product Bucket
25
+ */
26
+ export interface ListObjectsV2 extends Binding.Service<ListObjectsV2, "Fly.ListObjectsV2", (bucket: Bucket) => Effect.Effect<(request?: ListObjectsV2Request) => Effect.Effect<S3.ListObjectsV2Output, S3.ListObjectsV2Error | TigrisCredentialsMissing, RuntimeContext>>> {
27
+ }
28
+ export declare const ListObjectsV2: ListObjectsV2;
29
+ //# sourceMappingURL=ListObjectsV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListObjectsV2.d.ts","sourceRoot":"","sources":["../src/ListObjectsV2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,QAAQ,CAAC;CAAG;AAExF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,OAAO,CACpD,aAAa,EACb,mBAAmB,EACnB,CACE,MAAM,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAChB,CACE,OAAO,CAAC,EAAE,oBAAoB,KAC3B,MAAM,CAAC,MAAM,CAChB,EAAE,CAAC,mBAAmB,EACtB,EAAE,CAAC,kBAAkB,GAAG,wBAAwB,EAChD,cAAc,CACf,CACF,CACF;CAAG;AAEJ,eAAO,MAAM,aAAa,eAAsD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ export const ListObjectsV2 = Binding.Service("Fly.ListObjectsV2");
3
+ //# sourceMappingURL=ListObjectsV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListObjectsV2.js","sourceRoot":"","sources":["../src/ListObjectsV2.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAyC3C,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAgB,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ListObjectsV2 } from "./ListObjectsV2.ts";
3
+ /**
4
+ * HTTP implementation of {@link ListObjectsV2}. Calls distilled S3
5
+ * `listObjectsV2` against the Tigris endpoint with the bucket's credentials.
6
+ *
7
+ * @layer
8
+ * @product Bucket
9
+ * @provides Fly.ListObjectsV2
10
+ */
11
+ export declare const ListObjectsV2Http: Layer.Layer<ListObjectsV2, never, never>;
12
+ //# sourceMappingURL=ListObjectsV2Http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListObjectsV2Http.d.ts","sourceRoot":"","sources":["../src/ListObjectsV2Http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,0CAM7B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import * as S3 from "@distilled.cloud/aws/s3";
2
+ import * as Layer from "effect/Layer";
3
+ import { makeTigrisS3Binding } from "./BucketBinding.js";
4
+ import { ListObjectsV2 } from "./ListObjectsV2.js";
5
+ /**
6
+ * HTTP implementation of {@link ListObjectsV2}. Calls distilled S3
7
+ * `listObjectsV2` against the Tigris endpoint with the bucket's credentials.
8
+ *
9
+ * @layer
10
+ * @product Bucket
11
+ * @provides Fly.ListObjectsV2
12
+ */
13
+ export const ListObjectsV2Http = Layer.effect(ListObjectsV2, makeTigrisS3Binding({
14
+ tag: "Fly.ListObjectsV2",
15
+ operation: S3.listObjectsV2,
16
+ }));
17
+ //# sourceMappingURL=ListObjectsV2Http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListObjectsV2Http.js","sourceRoot":"","sources":["../src/ListObjectsV2Http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAC3C,aAAa,EACb,mBAAmB,CAAC;IAClB,GAAG,EAAE,mBAAmB;IACxB,SAAS,EAAE,EAAE,CAAC,aAAa;CAC5B,CAAC,CACH,CAAC"}
@@ -0,0 +1,53 @@
1
+ import type { AppSecrets, ListSecretsError } from "@distilled.cloud/fly-io/machines";
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 { App } from "./App.ts";
6
+ /**
7
+ * List Fly.io App secrets. Scoped to an {@link App}. Fly's list API
8
+ * is `GET /apps/{app}/secrets`, not a single Secret.
9
+ *
10
+ *
11
+ * ### List this App
12
+ * The App is fixed by `ListSecrets(app)`. Calls take no `app_name`.
13
+ * Provide {@link ListSecretsHttp}.
14
+ *
15
+ * Plaintext is only returned from inside a Machine in the same App.
16
+ * From a deploy-time Action you get metadata (name, digest,
17
+ * timestamps).
18
+ *
19
+ * **Example:** ListSecrets
20
+ * ```typescript
21
+ * const list = yield* Fly.ListSecrets(Site);
22
+ * const { secrets } = yield* list();
23
+ * ```
24
+ *
25
+ * ### List another App
26
+ * From an Action, the org `FLY_API_TOKEN` can list any App in the
27
+ * org. `ListSecrets(other)` is how you reach across Apps.
28
+ *
29
+ * From a Machine, deploy tokens are per-App. Mixing Apps on one host
30
+ * shares one `FLY_API_TOKEN` and is not supported.
31
+ *
32
+ * **Example:** Cross-app from an Action
33
+ * ```typescript
34
+ * const Seed = Alchemy.Action(
35
+ * "Seed",
36
+ * Effect.gen(function* () {
37
+ * const list = yield* Fly.ListSecrets(Other);
38
+ *
39
+ * return Effect.fn(function* () {
40
+ * const { secrets } = yield* list();
41
+ * return secrets;
42
+ * });
43
+ * }).pipe(Effect.provide(Fly.ListSecretsHttp)),
44
+ * );
45
+ * ```
46
+ *
47
+ * @binding
48
+ * @product Secret
49
+ */
50
+ export interface ListSecrets extends Binding.Service<ListSecrets, "Fly.ListSecrets", (app: App) => Effect.Effect<() => Effect.Effect<AppSecrets, ListSecretsError, RuntimeContext>>> {
51
+ }
52
+ export declare const ListSecrets: ListSecrets;
53
+ //# sourceMappingURL=ListSecrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListSecrets.d.ts","sourceRoot":"","sources":["../src/ListSecrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,OAAO,CAClD,WAAW,EACX,iBAAiB,EACjB,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAC/F;CAAG;AAEJ,eAAO,MAAM,WAAW,aAAkD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ export const ListSecrets = Binding.Service("Fly.ListSecrets");
3
+ //# sourceMappingURL=ListSecrets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListSecrets.js","sourceRoot":"","sources":["../src/ListSecrets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAuD3C,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAc,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ListSecrets } from "./ListSecrets.ts";
3
+ /**
4
+ * HTTP implementation of {@link ListSecrets}. Provide it on the
5
+ * {@link Service} or Action Effect.
6
+ *
7
+ *
8
+ * ### Provide the layer
9
+ * **Example:** On an Action
10
+ * ```typescript
11
+ * Effect.gen(function* () {
12
+ * const list = yield* Fly.ListSecrets(Site);
13
+ * // ...
14
+ * }).pipe(Effect.provide(Fly.ListSecretsHttp))
15
+ * ```
16
+ *
17
+ * @layer
18
+ * @product Secret
19
+ * @provides Fly.ListSecrets
20
+ */
21
+ export declare const ListSecretsHttp: Layer.Layer<ListSecrets, never, never>;
22
+ //# sourceMappingURL=ListSecretsHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListSecretsHttp.d.ts","sourceRoot":"","sources":["../src/ListSecretsHttp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,wCAgB4D,CAAC"}
@@ -0,0 +1,35 @@
1
+ import * as machines from "@distilled.cloud/fly-io/machines";
2
+ import * as Effect from "effect/Effect";
3
+ import * as FetchHttpClient from "effect/http/FetchHttpClient";
4
+ import * as Layer from "effect/Layer";
5
+ import { CredentialsFromAmbientOrEnv } from "./Credentials.js";
6
+ import { ListSecrets } from "./ListSecrets.js";
7
+ import { makeHttpAppBinding } from "./SecretHttp.js";
8
+ /**
9
+ * HTTP implementation of {@link ListSecrets}. Provide it on the
10
+ * {@link Service} or Action Effect.
11
+ *
12
+ *
13
+ * ### Provide the layer
14
+ * **Example:** On an Action
15
+ * ```typescript
16
+ * Effect.gen(function* () {
17
+ * const list = yield* Fly.ListSecrets(Site);
18
+ * // ...
19
+ * }).pipe(Effect.provide(Fly.ListSecretsHttp))
20
+ * ```
21
+ *
22
+ * @layer
23
+ * @product Secret
24
+ * @provides Fly.ListSecrets
25
+ */
26
+ export const ListSecretsHttp = Layer.effect(ListSecrets, Effect.suspend(() => makeHttpAppBinding({
27
+ makeClient: (auth, appName) => Effect.fn("Fly.ListSecrets")(function* () {
28
+ return yield* auth.authorize(machines.listSecrets({
29
+ app_name: yield* appName,
30
+ // Names are enough for the binding; plaintext is env-injected.
31
+ show_secrets: false,
32
+ }));
33
+ }),
34
+ }))).pipe(Layer.provide(FetchHttpClient.layer), Layer.provide(CredentialsFromAmbientOrEnv));
35
+ //# sourceMappingURL=ListSecretsHttp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListSecretsHttp.js","sourceRoot":"","sources":["../src/ListSecretsHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CACzC,WAAW,EACX,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,kBAAkB,CAAC;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAC5B,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC;QACpC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAC1B,QAAQ,CAAC,WAAW,CAAC;YACnB,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO;YACxB,+DAA+D;YAC/D,YAAY,EAAE,KAAK;SACpB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;CACL,CAAC,CACH,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC"}