@alchemy.run/fly 0.0.0 → 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.
- package/LICENSE +201 -0
- package/README.md +57 -4
- package/lib/App.d.ts +230 -0
- package/lib/App.d.ts.map +1 -0
- package/lib/App.js +340 -0
- package/lib/App.js.map +1 -0
- package/lib/AuthProvider.d.ts +22 -0
- package/lib/AuthProvider.d.ts.map +1 -0
- package/lib/AuthProvider.js +48 -0
- package/lib/AuthProvider.js.map +1 -0
- package/lib/BindService.d.ts +159 -0
- package/lib/BindService.d.ts.map +1 -0
- package/lib/BindService.js +222 -0
- package/lib/BindService.js.map +1 -0
- package/lib/Bootstrap.d.ts +8 -0
- package/lib/Bootstrap.d.ts.map +1 -0
- package/lib/Bootstrap.js +41 -0
- package/lib/Bootstrap.js.map +1 -0
- package/lib/Bucket.d.ts +278 -0
- package/lib/Bucket.d.ts.map +1 -0
- package/lib/Bucket.js +658 -0
- package/lib/Bucket.js.map +1 -0
- package/lib/BucketBinding.d.ts +33 -0
- package/lib/BucketBinding.d.ts.map +1 -0
- package/lib/BucketBinding.js +70 -0
- package/lib/BucketBinding.js.map +1 -0
- package/lib/Catalog.d.ts +28 -0
- package/lib/Catalog.d.ts.map +1 -0
- package/lib/Catalog.js +31 -0
- package/lib/Catalog.js.map +1 -0
- package/lib/Certificate.d.ts +189 -0
- package/lib/Certificate.d.ts.map +1 -0
- package/lib/Certificate.js +380 -0
- package/lib/Certificate.js.map +1 -0
- package/lib/Checkpoint.d.ts +55 -0
- package/lib/Checkpoint.d.ts.map +1 -0
- package/lib/Checkpoint.js +3 -0
- package/lib/Checkpoint.js.map +1 -0
- package/lib/CheckpointHttp.d.ts +22 -0
- package/lib/CheckpointHttp.d.ts.map +1 -0
- package/lib/CheckpointHttp.js +53 -0
- package/lib/CheckpointHttp.js.map +1 -0
- package/lib/ConnectPostgres.d.ts +58 -0
- package/lib/ConnectPostgres.d.ts.map +1 -0
- package/lib/ConnectPostgres.js +13 -0
- package/lib/ConnectPostgres.js.map +1 -0
- package/lib/ConnectPostgresHttp.d.ts +26 -0
- package/lib/ConnectPostgresHttp.d.ts.map +1 -0
- package/lib/ConnectPostgresHttp.js +57 -0
- package/lib/ConnectPostgresHttp.js.map +1 -0
- package/lib/Contributions.d.ts +7 -0
- package/lib/Contributions.d.ts.map +1 -0
- package/lib/Contributions.js +6 -0
- package/lib/Contributions.js.map +1 -0
- package/lib/Credentials.d.ts +33 -0
- package/lib/Credentials.d.ts.map +1 -0
- package/lib/Credentials.js +59 -0
- package/lib/Credentials.js.map +1 -0
- package/lib/Decrypt.d.ts +52 -0
- package/lib/Decrypt.d.ts.map +1 -0
- package/lib/Decrypt.js +3 -0
- package/lib/Decrypt.js.map +1 -0
- package/lib/DecryptHttp.d.ts +22 -0
- package/lib/DecryptHttp.d.ts.map +1 -0
- package/lib/DecryptHttp.js +43 -0
- package/lib/DecryptHttp.js.map +1 -0
- package/lib/DeleteObject.d.ts +29 -0
- package/lib/DeleteObject.d.ts.map +1 -0
- package/lib/DeleteObject.js +3 -0
- package/lib/DeleteObject.js.map +1 -0
- package/lib/DeleteObjectHttp.d.ts +12 -0
- package/lib/DeleteObjectHttp.d.ts.map +1 -0
- package/lib/DeleteObjectHttp.js +17 -0
- package/lib/DeleteObjectHttp.js.map +1 -0
- package/lib/Deployment.d.ts +51 -0
- package/lib/Deployment.d.ts.map +1 -0
- package/lib/Deployment.js +62 -0
- package/lib/Deployment.js.map +1 -0
- package/lib/DeploymentImages.d.ts +18 -0
- package/lib/DeploymentImages.d.ts.map +1 -0
- package/lib/DeploymentImages.js +61 -0
- package/lib/DeploymentImages.js.map +1 -0
- package/lib/DeploymentState.d.ts +17 -0
- package/lib/DeploymentState.d.ts.map +1 -0
- package/lib/DeploymentState.js +87 -0
- package/lib/DeploymentState.js.map +1 -0
- package/lib/Encrypt.d.ts +50 -0
- package/lib/Encrypt.d.ts.map +1 -0
- package/lib/Encrypt.js +3 -0
- package/lib/Encrypt.js.map +1 -0
- package/lib/EncryptHttp.d.ts +22 -0
- package/lib/EncryptHttp.d.ts.map +1 -0
- package/lib/EncryptHttp.js +39 -0
- package/lib/EncryptHttp.js.map +1 -0
- package/lib/Environment.d.ts +45 -0
- package/lib/Environment.d.ts.map +1 -0
- package/lib/Environment.js +43 -0
- package/lib/Environment.js.map +1 -0
- package/lib/Errors.d.ts +18 -0
- package/lib/Errors.d.ts.map +1 -0
- package/lib/Errors.js +13 -0
- package/lib/Errors.js.map +1 -0
- package/lib/Exec.d.ts +41 -0
- package/lib/Exec.d.ts.map +1 -0
- package/lib/Exec.js +3 -0
- package/lib/Exec.js.map +1 -0
- package/lib/ExecHttp.d.ts +22 -0
- package/lib/ExecHttp.d.ts.map +1 -0
- package/lib/ExecHttp.js +39 -0
- package/lib/ExecHttp.js.map +1 -0
- package/lib/GetObject.d.ts +34 -0
- package/lib/GetObject.d.ts.map +1 -0
- package/lib/GetObject.js +3 -0
- package/lib/GetObject.js.map +1 -0
- package/lib/GetObjectHttp.d.ts +12 -0
- package/lib/GetObjectHttp.d.ts.map +1 -0
- package/lib/GetObjectHttp.js +17 -0
- package/lib/GetObjectHttp.js.map +1 -0
- package/lib/GetSecret.d.ts +44 -0
- package/lib/GetSecret.d.ts.map +1 -0
- package/lib/GetSecret.js +3 -0
- package/lib/GetSecret.js.map +1 -0
- package/lib/GetSecretHttp.d.ts +22 -0
- package/lib/GetSecretHttp.d.ts.map +1 -0
- package/lib/GetSecretHttp.js +50 -0
- package/lib/GetSecretHttp.js.map +1 -0
- package/lib/HeadObject.d.ts +29 -0
- package/lib/HeadObject.d.ts.map +1 -0
- package/lib/HeadObject.js +3 -0
- package/lib/HeadObject.js.map +1 -0
- package/lib/HeadObjectHttp.d.ts +12 -0
- package/lib/HeadObjectHttp.d.ts.map +1 -0
- package/lib/HeadObjectHttp.js +17 -0
- package/lib/HeadObjectHttp.js.map +1 -0
- package/lib/IpAssignment.d.ts +258 -0
- package/lib/IpAssignment.d.ts.map +1 -0
- package/lib/IpAssignment.js +376 -0
- package/lib/IpAssignment.js.map +1 -0
- package/lib/ListObjectsV2.d.ts +29 -0
- package/lib/ListObjectsV2.d.ts.map +1 -0
- package/lib/ListObjectsV2.js +3 -0
- package/lib/ListObjectsV2.js.map +1 -0
- package/lib/ListObjectsV2Http.d.ts +12 -0
- package/lib/ListObjectsV2Http.d.ts.map +1 -0
- package/lib/ListObjectsV2Http.js +17 -0
- package/lib/ListObjectsV2Http.js.map +1 -0
- package/lib/ListSecrets.d.ts +53 -0
- package/lib/ListSecrets.d.ts.map +1 -0
- package/lib/ListSecrets.js +3 -0
- package/lib/ListSecrets.js.map +1 -0
- package/lib/ListSecretsHttp.d.ts +22 -0
- package/lib/ListSecretsHttp.d.ts.map +1 -0
- package/lib/ListSecretsHttp.js +35 -0
- package/lib/ListSecretsHttp.js.map +1 -0
- package/lib/Machine.d.ts +802 -0
- package/lib/Machine.d.ts.map +1 -0
- package/lib/Machine.js +773 -0
- package/lib/Machine.js.map +1 -0
- package/lib/MachineContainers.d.ts +44 -0
- package/lib/MachineContainers.d.ts.map +1 -0
- package/lib/MachineContainers.js +115 -0
- package/lib/MachineContainers.js.map +1 -0
- package/lib/Metadata.d.ts +109 -0
- package/lib/Metadata.d.ts.map +1 -0
- package/lib/Metadata.js +159 -0
- package/lib/Metadata.js.map +1 -0
- package/lib/MountVolume.d.ts +295 -0
- package/lib/MountVolume.d.ts.map +1 -0
- package/lib/MountVolume.js +20 -0
- package/lib/MountVolume.js.map +1 -0
- package/lib/Postgres.d.ts +298 -0
- package/lib/Postgres.d.ts.map +1 -0
- package/lib/Postgres.js +508 -0
- package/lib/Postgres.js.map +1 -0
- package/lib/PostgresMigrations.d.ts +35 -0
- package/lib/PostgresMigrations.d.ts.map +1 -0
- package/lib/PostgresMigrations.js +110 -0
- package/lib/PostgresMigrations.js.map +1 -0
- package/lib/Providers.d.ts +38 -0
- package/lib/Providers.d.ts.map +1 -0
- package/lib/Providers.js +95 -0
- package/lib/Providers.js.map +1 -0
- package/lib/PutObject.d.ts +35 -0
- package/lib/PutObject.d.ts.map +1 -0
- package/lib/PutObject.js +3 -0
- package/lib/PutObject.js.map +1 -0
- package/lib/PutObjectHttp.d.ts +12 -0
- package/lib/PutObjectHttp.d.ts.map +1 -0
- package/lib/PutObjectHttp.js +17 -0
- package/lib/PutObjectHttp.js.map +1 -0
- package/lib/ReadRedis.d.ts +26 -0
- package/lib/ReadRedis.d.ts.map +1 -0
- package/lib/ReadRedis.js +3 -0
- package/lib/ReadRedis.js.map +1 -0
- package/lib/ReadRedisHttp.d.ts +11 -0
- package/lib/ReadRedisHttp.d.ts.map +1 -0
- package/lib/ReadRedisHttp.js +15 -0
- package/lib/ReadRedisHttp.js.map +1 -0
- package/lib/ReadWriteRedis.d.ts +29 -0
- package/lib/ReadWriteRedis.d.ts.map +1 -0
- package/lib/ReadWriteRedis.js +3 -0
- package/lib/ReadWriteRedis.js.map +1 -0
- package/lib/ReadWriteRedisHttp.d.ts +11 -0
- package/lib/ReadWriteRedisHttp.d.ts.map +1 -0
- package/lib/ReadWriteRedisHttp.js +15 -0
- package/lib/ReadWriteRedisHttp.js.map +1 -0
- package/lib/Redis.d.ts +252 -0
- package/lib/Redis.d.ts.map +1 -0
- package/lib/Redis.js +608 -0
- package/lib/Redis.js.map +1 -0
- package/lib/RedisBinding.d.ts +7 -0
- package/lib/RedisBinding.d.ts.map +1 -0
- package/lib/RedisBinding.js +53 -0
- package/lib/RedisBinding.js.map +1 -0
- package/lib/RedisHttp.d.ts +8 -0
- package/lib/RedisHttp.d.ts.map +1 -0
- package/lib/RedisHttp.js +8 -0
- package/lib/RedisHttp.js.map +1 -0
- package/lib/Region.d.ts +16 -0
- package/lib/Region.d.ts.map +1 -0
- package/lib/Region.js +13 -0
- package/lib/Region.js.map +1 -0
- package/lib/Secret.d.ts +190 -0
- package/lib/Secret.d.ts.map +1 -0
- package/lib/Secret.js +310 -0
- package/lib/Secret.js.map +1 -0
- package/lib/SecretHttp.d.ts +54 -0
- package/lib/SecretHttp.d.ts.map +1 -0
- package/lib/SecretHttp.js +66 -0
- package/lib/SecretHttp.js.map +1 -0
- package/lib/SecretKey.d.ts +164 -0
- package/lib/SecretKey.d.ts.map +1 -0
- package/lib/SecretKey.js +277 -0
- package/lib/SecretKey.js.map +1 -0
- package/lib/SecretKeyHttp.d.ts +14 -0
- package/lib/SecretKeyHttp.d.ts.map +1 -0
- package/lib/SecretKeyHttp.js +5 -0
- package/lib/SecretKeyHttp.js.map +1 -0
- package/lib/Service.d.ts +1022 -0
- package/lib/Service.d.ts.map +1 -0
- package/lib/Service.js +1397 -0
- package/lib/Service.js.map +1 -0
- package/lib/Sign.d.ts +36 -0
- package/lib/Sign.d.ts.map +1 -0
- package/lib/Sign.js +3 -0
- package/lib/Sign.js.map +1 -0
- package/lib/SignHttp.d.ts +22 -0
- package/lib/SignHttp.d.ts.map +1 -0
- package/lib/SignHttp.js +36 -0
- package/lib/SignHttp.js.map +1 -0
- package/lib/Sprite.d.ts +283 -0
- package/lib/Sprite.d.ts.map +1 -0
- package/lib/Sprite.js +469 -0
- package/lib/Sprite.js.map +1 -0
- package/lib/SpriteHttp.d.ts +25 -0
- package/lib/SpriteHttp.d.ts.map +1 -0
- package/lib/SpriteHttp.js +33 -0
- package/lib/SpriteHttp.js.map +1 -0
- package/lib/Verify.d.ts +37 -0
- package/lib/Verify.d.ts.map +1 -0
- package/lib/Verify.js +3 -0
- package/lib/Verify.js.map +1 -0
- package/lib/VerifyHttp.d.ts +22 -0
- package/lib/VerifyHttp.d.ts.map +1 -0
- package/lib/VerifyHttp.js +38 -0
- package/lib/VerifyHttp.js.map +1 -0
- package/lib/Volume.d.ts +53 -0
- package/lib/Volume.d.ts.map +1 -0
- package/lib/Volume.js +188 -0
- package/lib/Volume.js.map +1 -0
- package/lib/VolumeSnapshot.d.ts +135 -0
- package/lib/VolumeSnapshot.d.ts.map +1 -0
- package/lib/VolumeSnapshot.js +213 -0
- package/lib/VolumeSnapshot.js.map +1 -0
- package/lib/Website/AssetDeployment.d.ts +43 -0
- package/lib/Website/AssetDeployment.d.ts.map +1 -0
- package/lib/Website/AssetDeployment.js +162 -0
- package/lib/Website/AssetDeployment.js.map +1 -0
- package/lib/Website/Astro.d.ts +87 -0
- package/lib/Website/Astro.d.ts.map +1 -0
- package/lib/Website/Astro.js +55 -0
- package/lib/Website/Astro.js.map +1 -0
- package/lib/Website/Foldkit.d.ts +52 -0
- package/lib/Website/Foldkit.d.ts.map +1 -0
- package/lib/Website/Foldkit.js +45 -0
- package/lib/Website/Foldkit.js.map +1 -0
- package/lib/Website/FrameworkSite.d.ts +175 -0
- package/lib/Website/FrameworkSite.d.ts.map +1 -0
- package/lib/Website/FrameworkSite.js +162 -0
- package/lib/Website/FrameworkSite.js.map +1 -0
- package/lib/Website/Nextjs.d.ts +54 -0
- package/lib/Website/Nextjs.d.ts.map +1 -0
- package/lib/Website/Nextjs.js +46 -0
- package/lib/Website/Nextjs.js.map +1 -0
- package/lib/Website/Nuxt.d.ts +51 -0
- package/lib/Website/Nuxt.d.ts.map +1 -0
- package/lib/Website/Nuxt.js +36 -0
- package/lib/Website/Nuxt.js.map +1 -0
- package/lib/Website/Octane.d.ts +49 -0
- package/lib/Website/Octane.d.ts.map +1 -0
- package/lib/Website/Octane.js +39 -0
- package/lib/Website/Octane.js.map +1 -0
- package/lib/Website/ReactRouter.d.ts +80 -0
- package/lib/Website/ReactRouter.d.ts.map +1 -0
- package/lib/Website/ReactRouter.js +70 -0
- package/lib/Website/ReactRouter.js.map +1 -0
- package/lib/Website/SolidStart.d.ts +93 -0
- package/lib/Website/SolidStart.d.ts.map +1 -0
- package/lib/Website/SolidStart.js +71 -0
- package/lib/Website/SolidStart.js.map +1 -0
- package/lib/Website/StaticSite.d.ts +155 -0
- package/lib/Website/StaticSite.d.ts.map +1 -0
- package/lib/Website/StaticSite.js +168 -0
- package/lib/Website/StaticSite.js.map +1 -0
- package/lib/Website/SvelteKit.d.ts +52 -0
- package/lib/Website/SvelteKit.d.ts.map +1 -0
- package/lib/Website/SvelteKit.js +37 -0
- package/lib/Website/SvelteKit.js.map +1 -0
- package/lib/Website/TanStackStart.d.ts +76 -0
- package/lib/Website/TanStackStart.d.ts.map +1 -0
- package/lib/Website/TanStackStart.js +66 -0
- package/lib/Website/TanStackStart.js.map +1 -0
- package/lib/Website/Vinext.d.ts +73 -0
- package/lib/Website/Vinext.d.ts.map +1 -0
- package/lib/Website/Vinext.js +67 -0
- package/lib/Website/Vinext.js.map +1 -0
- package/lib/Website/Vite.d.ts +103 -0
- package/lib/Website/Vite.d.ts.map +1 -0
- package/lib/Website/Vite.js +91 -0
- package/lib/Website/Vite.js.map +1 -0
- package/lib/Website/Vocs.d.ts +52 -0
- package/lib/Website/Vocs.d.ts.map +1 -0
- package/lib/Website/Vocs.js +38 -0
- package/lib/Website/Vocs.js.map +1 -0
- package/lib/Website/Waku.d.ts +64 -0
- package/lib/Website/Waku.d.ts.map +1 -0
- package/lib/Website/Waku.js +39 -0
- package/lib/Website/Waku.js.map +1 -0
- package/lib/Website/index.d.ts +17 -0
- package/lib/Website/index.d.ts.map +1 -0
- package/lib/Website/index.js +17 -0
- package/lib/Website/index.js.map +1 -0
- package/lib/WriteCertificates.d.ts +63 -0
- package/lib/WriteCertificates.d.ts.map +1 -0
- package/lib/WriteCertificates.js +3 -0
- package/lib/WriteCertificates.js.map +1 -0
- package/lib/WriteCertificatesHttp.d.ts +25 -0
- package/lib/WriteCertificatesHttp.d.ts.map +1 -0
- package/lib/WriteCertificatesHttp.js +67 -0
- package/lib/WriteCertificatesHttp.js.map +1 -0
- package/lib/WriteRedis.d.ts +26 -0
- package/lib/WriteRedis.d.ts.map +1 -0
- package/lib/WriteRedis.js +3 -0
- package/lib/WriteRedis.js.map +1 -0
- package/lib/WriteRedisHttp.d.ts +11 -0
- package/lib/WriteRedisHttp.d.ts.map +1 -0
- package/lib/WriteRedisHttp.js +15 -0
- package/lib/WriteRedisHttp.js.map +1 -0
- package/lib/WriteSecret.d.ts +68 -0
- package/lib/WriteSecret.d.ts.map +1 -0
- package/lib/WriteSecret.js +4 -0
- package/lib/WriteSecret.js.map +1 -0
- package/lib/WriteSecretHttp.d.ts +26 -0
- package/lib/WriteSecretHttp.d.ts.map +1 -0
- package/lib/WriteSecretHttp.js +54 -0
- package/lib/WriteSecretHttp.js.map +1 -0
- package/lib/bluegreen.d.ts +36 -0
- package/lib/bluegreen.d.ts.map +1 -0
- package/lib/bluegreen.js +458 -0
- package/lib/bluegreen.js.map +1 -0
- package/lib/hosted.d.ts +172 -0
- package/lib/hosted.d.ts.map +1 -0
- package/lib/hosted.js +458 -0
- package/lib/hosted.js.map +1 -0
- package/lib/index.d.ts +65 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +63 -0
- package/lib/index.js.map +1 -0
- package/lib/internal/RemoteBuilder.d.ts +28 -0
- package/lib/internal/RemoteBuilder.d.ts.map +1 -0
- package/lib/internal/RemoteBuilder.js +145 -0
- package/lib/internal/RemoteBuilder.js.map +1 -0
- package/lib/leases.d.ts +53 -0
- package/lib/leases.d.ts.map +1 -0
- package/lib/leases.js +279 -0
- package/lib/leases.js.map +1 -0
- package/lib/ports.d.ts +51 -0
- package/lib/ports.d.ts.map +1 -0
- package/lib/ports.js +123 -0
- package/lib/ports.js.map +1 -0
- package/lib/replicas.d.ts +270 -0
- package/lib/replicas.d.ts.map +1 -0
- package/lib/replicas.js +969 -0
- package/lib/replicas.js.map +1 -0
- package/lib/rpc.d.ts +35 -0
- package/lib/rpc.d.ts.map +1 -0
- package/lib/rpc.js +113 -0
- package/lib/rpc.js.map +1 -0
- package/package.json +83 -3
- package/src/App.ts +516 -0
- package/src/AuthProvider.ts +68 -0
- package/src/BindService.ts +304 -0
- package/src/Bootstrap.ts +66 -0
- package/src/Bucket.ts +916 -0
- package/src/BucketBinding.ts +128 -0
- package/src/Catalog.ts +43 -0
- package/src/Certificate.ts +548 -0
- package/src/Checkpoint.ts +69 -0
- package/src/CheckpointHttp.ts +66 -0
- package/src/ConnectPostgres.ts +68 -0
- package/src/ConnectPostgresHttp.ts +77 -0
- package/src/Contributions.ts +9 -0
- package/src/Credentials.ts +102 -0
- package/src/Decrypt.ts +62 -0
- package/src/DecryptHttp.ts +52 -0
- package/src/DeleteObject.ts +43 -0
- package/src/DeleteObjectHttp.ts +20 -0
- package/src/Deployment.ts +121 -0
- package/src/DeploymentImages.ts +84 -0
- package/src/DeploymentState.ts +104 -0
- package/src/Encrypt.ts +60 -0
- package/src/EncryptHttp.ts +48 -0
- package/src/Environment.ts +81 -0
- package/src/Errors.ts +14 -0
- package/src/Exec.ts +50 -0
- package/src/ExecHttp.ts +47 -0
- package/src/GetObject.ts +48 -0
- package/src/GetObjectHttp.ts +20 -0
- package/src/GetSecret.ts +48 -0
- package/src/GetSecretHttp.ts +60 -0
- package/src/HeadObject.ts +43 -0
- package/src/HeadObjectHttp.ts +20 -0
- package/src/IpAssignment.ts +522 -0
- package/src/ListObjectsV2.ts +43 -0
- package/src/ListObjectsV2Http.ts +20 -0
- package/src/ListSecrets.ts +57 -0
- package/src/ListSecretsHttp.ts +43 -0
- package/src/Machine.ts +1268 -0
- package/src/MachineContainers.ts +152 -0
- package/src/Metadata.ts +195 -0
- package/src/MountVolume.ts +315 -0
- package/src/Postgres.ts +777 -0
- package/src/PostgresMigrations.ts +153 -0
- package/src/Providers.ts +155 -0
- package/src/PutObject.ts +49 -0
- package/src/PutObjectHttp.ts +20 -0
- package/src/ReadRedis.ts +31 -0
- package/src/ReadRedisHttp.ts +18 -0
- package/src/ReadWriteRedis.ts +33 -0
- package/src/ReadWriteRedisHttp.ts +18 -0
- package/src/Redis.ts +820 -0
- package/src/RedisBinding.ts +64 -0
- package/src/RedisHttp.ts +11 -0
- package/src/Region.ts +44 -0
- package/src/Secret.ts +405 -0
- package/src/SecretHttp.ts +149 -0
- package/src/SecretKey.ts +389 -0
- package/src/SecretKeyHttp.ts +23 -0
- package/src/Service.ts +1934 -0
- package/src/Sign.ts +46 -0
- package/src/SignHttp.ts +44 -0
- package/src/Sprite.ts +671 -0
- package/src/SpriteHttp.ts +50 -0
- package/src/Verify.ts +47 -0
- package/src/VerifyHttp.ts +46 -0
- package/src/Volume.ts +264 -0
- package/src/VolumeSnapshot.ts +321 -0
- package/src/Website/AssetDeployment.ts +294 -0
- package/src/Website/Astro.ts +87 -0
- package/src/Website/Foldkit.ts +54 -0
- package/src/Website/FrameworkSite.ts +363 -0
- package/src/Website/Nextjs.ts +50 -0
- package/src/Website/Nuxt.ts +48 -0
- package/src/Website/Octane.ts +44 -0
- package/src/Website/ReactRouter.ts +76 -0
- package/src/Website/SolidStart.ts +90 -0
- package/src/Website/StaticSite.ts +275 -0
- package/src/Website/SvelteKit.ts +49 -0
- package/src/Website/TanStackStart.ts +72 -0
- package/src/Website/Vinext.ts +79 -0
- package/src/Website/Vite.ts +112 -0
- package/src/Website/Vocs.ts +50 -0
- package/src/Website/Waku.ts +65 -0
- package/src/Website/index.ts +16 -0
- package/src/WriteCertificates.ts +90 -0
- package/src/WriteCertificatesHttp.ts +93 -0
- package/src/WriteRedis.ts +31 -0
- package/src/WriteRedisHttp.ts +18 -0
- package/src/WriteSecret.ts +86 -0
- package/src/WriteSecretHttp.ts +71 -0
- package/src/bluegreen.ts +708 -0
- package/src/globals.d.ts +2 -0
- package/src/hosted.ts +668 -0
- package/src/index.ts +64 -0
- package/src/internal/RemoteBuilder.ts +224 -0
- package/src/leases.ts +437 -0
- package/src/ports.ts +177 -0
- package/src/replicas.ts +1480 -0
- package/src/rpc.ts +136 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetObject.js","sourceRoot":"","sources":["../src/GetObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA8C3C,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAY,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { GetObject } from "./GetObject.ts";
|
|
3
|
+
/**
|
|
4
|
+
* HTTP implementation of {@link GetObject}. Calls distilled S3
|
|
5
|
+
* `getObject` against the Tigris endpoint with the bucket's credentials.
|
|
6
|
+
*
|
|
7
|
+
* @layer
|
|
8
|
+
* @product Bucket
|
|
9
|
+
* @provides Fly.GetObject
|
|
10
|
+
*/
|
|
11
|
+
export declare const GetObjectHttp: Layer.Layer<GetObject, never, never>;
|
|
12
|
+
//# sourceMappingURL=GetObjectHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetObjectHttp.d.ts","sourceRoot":"","sources":["../src/GetObjectHttp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,sCAMzB,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 { GetObject } from "./GetObject.js";
|
|
5
|
+
/**
|
|
6
|
+
* HTTP implementation of {@link GetObject}. Calls distilled S3
|
|
7
|
+
* `getObject` against the Tigris endpoint with the bucket's credentials.
|
|
8
|
+
*
|
|
9
|
+
* @layer
|
|
10
|
+
* @product Bucket
|
|
11
|
+
* @provides Fly.GetObject
|
|
12
|
+
*/
|
|
13
|
+
export const GetObjectHttp = Layer.effect(GetObject, makeTigrisS3Binding({
|
|
14
|
+
tag: "Fly.GetObject",
|
|
15
|
+
operation: S3.getObject,
|
|
16
|
+
}));
|
|
17
|
+
//# sourceMappingURL=GetObjectHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetObjectHttp.js","sourceRoot":"","sources":["../src/GetObjectHttp.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,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CACvC,SAAS,EACT,mBAAmB,CAAC;IAClB,GAAG,EAAE,eAAe;IACpB,SAAS,EAAE,EAAE,CAAC,SAAS;CACxB,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { AppSecret, GetSecretError } 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 { Secret } from "./Secret.ts";
|
|
6
|
+
/**
|
|
7
|
+
* Fetch one Fly.io App secret. The App and name are fixed by
|
|
8
|
+
* `GetSecret(secret)`. Calls take no `app_name`.
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* ### Read a secret
|
|
12
|
+
* Bind the client in init. Call it from `fetch` or an Action body.
|
|
13
|
+
* Provide {@link GetSecretHttp}. Alchemy transports the bound App name,
|
|
14
|
+
* secret name, and deployment's org token automatically. There is no
|
|
15
|
+
* need to configure `FLY_SECRET_*` environment variables.
|
|
16
|
+
*
|
|
17
|
+
* Fly only returns plaintext from a Machine in the same App. From a
|
|
18
|
+
* deploy-time Action you get metadata (name, digest, timestamps).
|
|
19
|
+
*
|
|
20
|
+
* **Example:** GetSecret
|
|
21
|
+
* ```typescript
|
|
22
|
+
* export default class Api extends Fly.Service<Api>()(
|
|
23
|
+
* "Api",
|
|
24
|
+
* { app: Site, main: import.meta.url, port: 3000 },
|
|
25
|
+
* Effect.gen(function* () {
|
|
26
|
+
* const get = yield* Fly.GetSecret(ApiToken);
|
|
27
|
+
*
|
|
28
|
+
* return {
|
|
29
|
+
* fetch: Effect.gen(function* () {
|
|
30
|
+
* const got = yield* get().pipe(Effect.orDie);
|
|
31
|
+
* return HttpServerResponse.json({ name: got.name });
|
|
32
|
+
* }),
|
|
33
|
+
* };
|
|
34
|
+
* }).pipe(Effect.provide(Fly.GetSecretHttp)),
|
|
35
|
+
* ) {}
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @binding
|
|
39
|
+
* @product Secret
|
|
40
|
+
*/
|
|
41
|
+
export interface GetSecret extends Binding.Service<GetSecret, "Fly.GetSecret", (secret: Secret) => Effect.Effect<() => Effect.Effect<AppSecret, GetSecretError, RuntimeContext>>> {
|
|
42
|
+
}
|
|
43
|
+
export declare const GetSecret: GetSecret;
|
|
44
|
+
//# sourceMappingURL=GetSecret.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetSecret.d.ts","sourceRoot":"","sources":["../src/GetSecret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClF,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;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO,CAAC,OAAO,CAChD,SAAS,EACT,eAAe,EACf,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAClG;CAAG;AAEJ,eAAO,MAAM,SAAS,WAA8C,CAAC"}
|
package/lib/GetSecret.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetSecret.js","sourceRoot":"","sources":["../src/GetSecret.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA8C3C,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAY,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { GetSecret } from "./GetSecret.ts";
|
|
3
|
+
/**
|
|
4
|
+
* HTTP implementation of {@link GetSecret}. Provide it on the
|
|
5
|
+
* {@link Service} or Action Effect.
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* ### Provide the layer
|
|
9
|
+
* **Example:** On a Service
|
|
10
|
+
* ```typescript
|
|
11
|
+
* Effect.gen(function* () {
|
|
12
|
+
* const get = yield* Fly.GetSecret(ApiToken);
|
|
13
|
+
* // ...
|
|
14
|
+
* }).pipe(Effect.provide(Fly.GetSecretHttp))
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @layer
|
|
18
|
+
* @product Secret
|
|
19
|
+
* @provides Fly.GetSecret
|
|
20
|
+
*/
|
|
21
|
+
export declare const GetSecretHttp: Layer.Layer<GetSecret, never, never>;
|
|
22
|
+
//# sourceMappingURL=GetSecretHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetSecretHttp.d.ts","sourceRoot":"","sources":["../src/GetSecretHttp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa,sCA+B8D,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as machines from "@distilled.cloud/fly-io/machines";
|
|
2
|
+
import * as Config from "effect/Config";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as FetchHttpClient from "effect/http/FetchHttpClient";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import * as Redacted from "effect/Redacted";
|
|
7
|
+
import { CredentialsFromAmbientOrEnv } from "./Credentials.js";
|
|
8
|
+
import { GetSecret } from "./GetSecret.js";
|
|
9
|
+
import { makeHttpSecretBinding } from "./SecretHttp.js";
|
|
10
|
+
/**
|
|
11
|
+
* HTTP implementation of {@link GetSecret}. Provide it on the
|
|
12
|
+
* {@link Service} or Action Effect.
|
|
13
|
+
*
|
|
14
|
+
*
|
|
15
|
+
* ### Provide the layer
|
|
16
|
+
* **Example:** On a Service
|
|
17
|
+
* ```typescript
|
|
18
|
+
* Effect.gen(function* () {
|
|
19
|
+
* const get = yield* Fly.GetSecret(ApiToken);
|
|
20
|
+
* // ...
|
|
21
|
+
* }).pipe(Effect.provide(Fly.GetSecretHttp))
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @layer
|
|
25
|
+
* @product Secret
|
|
26
|
+
* @provides Fly.GetSecret
|
|
27
|
+
*/
|
|
28
|
+
export const GetSecretHttp = Layer.effect(GetSecret, Effect.suspend(() => makeHttpSecretBinding({
|
|
29
|
+
makeClient: (auth, appName, secretName) => Effect.fn("Fly.GetSecret")(function* () {
|
|
30
|
+
const name = yield* secretName;
|
|
31
|
+
if (globalThis.__ALCHEMY_RUNTIME__) {
|
|
32
|
+
// Fly injects App secrets as env vars on the Machine. Prefer
|
|
33
|
+
// that over getSecret — org tokens still cannot read plaintext
|
|
34
|
+
// from outside the App, and the env is already the source of
|
|
35
|
+
// truth once the secret exists.
|
|
36
|
+
const fromEnv = yield* Config.Redacted(name).pipe(Effect.map((value) => ({
|
|
37
|
+
name,
|
|
38
|
+
value: Redacted.value(value),
|
|
39
|
+
})), Effect.orElseSucceed(() => undefined));
|
|
40
|
+
if (fromEnv !== undefined)
|
|
41
|
+
return fromEnv;
|
|
42
|
+
}
|
|
43
|
+
return yield* auth.authorize(machines.getSecret({
|
|
44
|
+
app_name: yield* appName,
|
|
45
|
+
secret_name: name,
|
|
46
|
+
show_secrets: globalThis.__ALCHEMY_RUNTIME__ === true,
|
|
47
|
+
}));
|
|
48
|
+
}),
|
|
49
|
+
}))).pipe(Layer.provide(FetchHttpClient.layer), Layer.provide(CredentialsFromAmbientOrEnv));
|
|
50
|
+
//# sourceMappingURL=GetSecretHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetSecretHttp.js","sourceRoot":"","sources":["../src/GetSecretHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CACvC,SAAS,EACT,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,qBAAqB,CAAC;IACpB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CACxC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;QAC/B,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACnC,6DAA6D;YAC7D,+DAA+D;YAC/D,6DAA6D;YAC7D,gCAAgC;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrB,IAAI;gBACJ,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;aAC7B,CAAC,CAAC,EACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CACtC,CAAC;YACF,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAC1B,QAAQ,CAAC,SAAS,CAAC;YACjB,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO;YACxB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,UAAU,CAAC,mBAAmB,KAAK,IAAI;SACtD,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"}
|
|
@@ -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 HeadObjectRequest extends Omit<S3.HeadObjectRequest, "Bucket"> {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Runtime binding for Tigris `HeadObject` over the S3 API.
|
|
11
|
+
*
|
|
12
|
+
* Bind this operation to a {@link Bucket} in Service init. Provide
|
|
13
|
+
* {@link HeadObjectHttp}.
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
* ### Inspecting Objects
|
|
17
|
+
* **Example:** Check an Object's Metadata
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const headObject = yield* Fly.HeadObject(Data);
|
|
20
|
+
* const head = yield* headObject({ Key: "hello.txt" });
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @binding
|
|
24
|
+
* @product Bucket
|
|
25
|
+
*/
|
|
26
|
+
export interface HeadObject extends Binding.Service<HeadObject, "Fly.HeadObject", (bucket: Bucket) => Effect.Effect<(request: HeadObjectRequest) => Effect.Effect<S3.HeadObjectOutput, S3.HeadObjectError | TigrisCredentialsMissing, RuntimeContext>>> {
|
|
27
|
+
}
|
|
28
|
+
export declare const HeadObject: HeadObject;
|
|
29
|
+
//# sourceMappingURL=HeadObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeadObject.d.ts","sourceRoot":"","sources":["../src/HeadObject.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,iBAAkB,SAAQ,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;CAAG;AAElF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAW,SAAQ,OAAO,CAAC,OAAO,CACjD,UAAU,EACV,gBAAgB,EAChB,CACE,MAAM,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAChB,CACE,OAAO,EAAE,iBAAiB,KACvB,MAAM,CAAC,MAAM,CAChB,EAAE,CAAC,gBAAgB,EACnB,EAAE,CAAC,eAAe,GAAG,wBAAwB,EAC7C,cAAc,CACf,CACF,CACF;CAAG;AAEJ,eAAO,MAAM,UAAU,YAAgD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeadObject.js","sourceRoot":"","sources":["../src/HeadObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAyC3C,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAa,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { HeadObject } from "./HeadObject.ts";
|
|
3
|
+
/**
|
|
4
|
+
* HTTP implementation of {@link HeadObject}. Calls distilled S3
|
|
5
|
+
* `headObject` against the Tigris endpoint with the bucket's credentials.
|
|
6
|
+
*
|
|
7
|
+
* @layer
|
|
8
|
+
* @product Bucket
|
|
9
|
+
* @provides Fly.HeadObject
|
|
10
|
+
*/
|
|
11
|
+
export declare const HeadObjectHttp: Layer.Layer<HeadObject, never, never>;
|
|
12
|
+
//# sourceMappingURL=HeadObjectHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeadObjectHttp.d.ts","sourceRoot":"","sources":["../src/HeadObjectHttp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,uCAM1B,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 { HeadObject } from "./HeadObject.js";
|
|
5
|
+
/**
|
|
6
|
+
* HTTP implementation of {@link HeadObject}. Calls distilled S3
|
|
7
|
+
* `headObject` against the Tigris endpoint with the bucket's credentials.
|
|
8
|
+
*
|
|
9
|
+
* @layer
|
|
10
|
+
* @product Bucket
|
|
11
|
+
* @provides Fly.HeadObject
|
|
12
|
+
*/
|
|
13
|
+
export const HeadObjectHttp = Layer.effect(HeadObject, makeTigrisS3Binding({
|
|
14
|
+
tag: "Fly.HeadObject",
|
|
15
|
+
operation: S3.headObject,
|
|
16
|
+
}));
|
|
17
|
+
//# sourceMappingURL=HeadObjectHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeadObjectHttp.js","sourceRoot":"","sources":["../src/HeadObjectHttp.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,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CACxC,UAAU,EACV,mBAAmB,CAAC;IAClB,GAAG,EAAE,gBAAgB;IACrB,SAAS,EAAE,EAAE,CAAC,UAAU;CACzB,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import * as machines from "@distilled.cloud/fly-io/machines";
|
|
2
|
+
import * as Provider from "alchemy/Provider";
|
|
3
|
+
import { Resource } from "alchemy/Resource";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import type { App } from "./App.ts";
|
|
6
|
+
import type { Providers } from "./Providers.ts";
|
|
7
|
+
/**
|
|
8
|
+
* A resource-valued prop: the resource itself, or an Effect that produces
|
|
9
|
+
* it (so `yield* App(...)` and `App(...)` both type-check).
|
|
10
|
+
*/
|
|
11
|
+
type Ref<T> = T | Effect.Effect<T, never, Providers>;
|
|
12
|
+
/**
|
|
13
|
+
* Fly IP family allocated onto an App. Dedicated `v4` is billed and may
|
|
14
|
+
* be rejected when the org has no IPv4 quota. Prefer `v6` (free) or
|
|
15
|
+
* `shared_v4` (free) in tests. `private_v6` is a Flycast address: it is
|
|
16
|
+
* reachable only from the organization's private network.
|
|
17
|
+
*/
|
|
18
|
+
export type IpAssignmentType = "v4" | "v6" | "shared_v4" | "private_v6";
|
|
19
|
+
export interface IpAssignmentProps {
|
|
20
|
+
/**
|
|
21
|
+
* Parent Fly App. Accepts a `Fly.App` resource or an Effect that
|
|
22
|
+
* produces one. Changing the App replaces the assignment.
|
|
23
|
+
*/
|
|
24
|
+
app: Ref<App>;
|
|
25
|
+
/**
|
|
26
|
+
* Address family to allocate. `v6` is a dedicated IPv6 (free).
|
|
27
|
+
* `shared_v4` is a shared Anycast IPv4 (free). `v4` is a dedicated
|
|
28
|
+
* IPv4 (billed; may 400 when the org is over quota). `private_v6` is
|
|
29
|
+
* a Flycast IPv6 (free) that Fly's proxy serves only inside the
|
|
30
|
+
* private network. Changing type replaces the assignment.
|
|
31
|
+
*/
|
|
32
|
+
type: IpAssignmentType;
|
|
33
|
+
/**
|
|
34
|
+
* Region for a dedicated address. Changing it replaces the assignment.
|
|
35
|
+
*/
|
|
36
|
+
region?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Private network a `private_v6` address is reachable from. Defaults
|
|
39
|
+
* to the organization's network. Create-only; changing it replaces.
|
|
40
|
+
*/
|
|
41
|
+
network?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Organization slug. Defaults to the current token's org. Not a
|
|
44
|
+
* replacement key.
|
|
45
|
+
*/
|
|
46
|
+
orgSlug?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Fly proxy service this address is bound to. Changing it replaces
|
|
49
|
+
* the assignment.
|
|
50
|
+
*/
|
|
51
|
+
serviceName?: string;
|
|
52
|
+
}
|
|
53
|
+
export type IpAssignment = Resource<"Fly.IpAssignment", IpAssignmentProps, {
|
|
54
|
+
/** Physical Fly App name the address is assigned to. */
|
|
55
|
+
appName: string;
|
|
56
|
+
/** Allocated address. Identity of the assignment. */
|
|
57
|
+
ip: string;
|
|
58
|
+
/** Observed address family. */
|
|
59
|
+
type: IpAssignmentType;
|
|
60
|
+
/** Region for a dedicated address, if set. */
|
|
61
|
+
region: string | undefined;
|
|
62
|
+
/** Fly proxy service this address is bound to, if set. */
|
|
63
|
+
serviceName: string | undefined;
|
|
64
|
+
/** Whether the address is a shared Anycast IPv4. */
|
|
65
|
+
shared: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Named private network a `private_v6` address is reachable from.
|
|
68
|
+
* `undefined` for the organization's default network and for public
|
|
69
|
+
* addresses.
|
|
70
|
+
*/
|
|
71
|
+
network: string | undefined;
|
|
72
|
+
/** RFC3339 creation timestamp, if the API returned one. */
|
|
73
|
+
createdAt: string | undefined;
|
|
74
|
+
}, never, Providers>;
|
|
75
|
+
declare const IpAssignmentResource: import("alchemy/Resource").ResourceClass<IpAssignment>;
|
|
76
|
+
/**
|
|
77
|
+
* A Fly.IpAssignment is an address on an {@link App}. A {@link Service}
|
|
78
|
+
* publishes ports. Fly's proxy load-balances `{app}.fly.dev` across
|
|
79
|
+
* Machines that publish a proxy service.
|
|
80
|
+
*
|
|
81
|
+
* Identity is the allocated `ip`. There is no in-place update.
|
|
82
|
+
*
|
|
83
|
+
* @see https://fly.io/docs/networking/services/
|
|
84
|
+
*
|
|
85
|
+
* ### Shared IPv4
|
|
86
|
+
* `shared_v4` is a shared Anycast IPv4. It is free. This is what you
|
|
87
|
+
* want for fly.dev over IPv4. Yield it next to the Service.
|
|
88
|
+
*
|
|
89
|
+
* **Example:** Allocate shared_v4
|
|
90
|
+
* ```typescript
|
|
91
|
+
* export const PublicIp = Fly.IpAssignment("Shared", {
|
|
92
|
+
* app: Site,
|
|
93
|
+
* type: "shared_v4",
|
|
94
|
+
* });
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* :::caution[Changing `type` or `app` replaces the assignment]
|
|
98
|
+
* A new address is allocated. The old one is released.
|
|
99
|
+
* :::
|
|
100
|
+
*
|
|
101
|
+
* ### Dedicated IPv6
|
|
102
|
+
* `v6` is a dedicated IPv6. It is free.
|
|
103
|
+
*
|
|
104
|
+
* **Example:** Allocate v6
|
|
105
|
+
* ```typescript
|
|
106
|
+
* export const V6 = Fly.IpAssignment("V6", {
|
|
107
|
+
* app: Site,
|
|
108
|
+
* type: "v6",
|
|
109
|
+
* });
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* ### Dedicated IPv4
|
|
113
|
+
* `v4` is a billed dedicated IPv4. It may 400 if the org has no
|
|
114
|
+
* quota. Prefer `shared_v4` or `v6` in tests.
|
|
115
|
+
*
|
|
116
|
+
* **Example:** Allocate v4
|
|
117
|
+
* ```typescript
|
|
118
|
+
* export const Dedicated = Fly.IpAssignment("Dedicated", {
|
|
119
|
+
* app: Site,
|
|
120
|
+
* type: "v4",
|
|
121
|
+
* });
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* ### Flycast (private IPv6)
|
|
125
|
+
* `private_v6` is a Flycast address. Fly's proxy serves it only inside
|
|
126
|
+
* the organization's private network, at `{app}.flycast`. It is free.
|
|
127
|
+
* Use it for a backend that another App calls and the internet must
|
|
128
|
+
* not reach. Requests still go through the proxy, so blue/green
|
|
129
|
+
* cordoning, `autostart`, and `autostop` keep working. Allocate no
|
|
130
|
+
* public address on the same App.
|
|
131
|
+
*
|
|
132
|
+
* **Example:** Allocate private_v6
|
|
133
|
+
* ```typescript
|
|
134
|
+
* export const Private = Fly.IpAssignment("Private", {
|
|
135
|
+
* app: Backend,
|
|
136
|
+
* type: "private_v6",
|
|
137
|
+
* });
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* ### Region
|
|
141
|
+
* `region` pins a dedicated address. Shared Anycast ignores it. See
|
|
142
|
+
* [Regions](/fly/compute/regions) for the list of codes.
|
|
143
|
+
*
|
|
144
|
+
* **Example:** Dedicated IPv4 in iad
|
|
145
|
+
* ```typescript
|
|
146
|
+
* export const Dedicated = Fly.IpAssignment("Dedicated", {
|
|
147
|
+
* app: Site,
|
|
148
|
+
* type: "v4",
|
|
149
|
+
* region: "iad",
|
|
150
|
+
* });
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* :::caution[Changing `region` replaces the assignment]
|
|
154
|
+
* A new address is allocated in the new region.
|
|
155
|
+
* :::
|
|
156
|
+
*
|
|
157
|
+
* ### Service name
|
|
158
|
+
* `serviceName` binds the address to a Fly proxy service. Changing it
|
|
159
|
+
* replaces the assignment.
|
|
160
|
+
*
|
|
161
|
+
* **Example:** Bind to a named service
|
|
162
|
+
* ```typescript
|
|
163
|
+
* export const PublicIp = Fly.IpAssignment("Shared", {
|
|
164
|
+
* app: Site,
|
|
165
|
+
* type: "shared_v4",
|
|
166
|
+
* serviceName: "http",
|
|
167
|
+
* });
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* :::caution[Changing `serviceName` replaces the assignment]
|
|
171
|
+
* A new address is allocated bound to the new service.
|
|
172
|
+
* :::
|
|
173
|
+
*
|
|
174
|
+
* ### Isolated network
|
|
175
|
+
* `network` names the private network a `private_v6` address is
|
|
176
|
+
* reachable from. Create-only.
|
|
177
|
+
*
|
|
178
|
+
* **Example:** Custom network
|
|
179
|
+
* ```typescript
|
|
180
|
+
* export const Private = Fly.IpAssignment("Private", {
|
|
181
|
+
* app: Backend,
|
|
182
|
+
* type: "private_v6",
|
|
183
|
+
* network: "tenant-a",
|
|
184
|
+
* });
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* :::caution[Changing `network` replaces the assignment]
|
|
188
|
+
* A new address is allocated on the new network.
|
|
189
|
+
* :::
|
|
190
|
+
*
|
|
191
|
+
* ### Organization
|
|
192
|
+
* `orgSlug` defaults to the current token's org. It is not a
|
|
193
|
+
* replacement key.
|
|
194
|
+
*
|
|
195
|
+
* **Example:** Pin an org
|
|
196
|
+
* ```typescript
|
|
197
|
+
* export const PublicIp = Fly.IpAssignment("Shared", {
|
|
198
|
+
* app: Site,
|
|
199
|
+
* type: "shared_v4",
|
|
200
|
+
* orgSlug: "my-org",
|
|
201
|
+
* });
|
|
202
|
+
* ```
|
|
203
|
+
*
|
|
204
|
+
* ### Yield with a Service
|
|
205
|
+
* Allocate the address on the same App as the Service. `api.url` is
|
|
206
|
+
* `https://{appName}.fly.dev`.
|
|
207
|
+
*
|
|
208
|
+
* **Example:** Stack outputs
|
|
209
|
+
* ```typescript
|
|
210
|
+
* export default Alchemy.Stack(
|
|
211
|
+
* "MyApp",
|
|
212
|
+
* { providers: Fly.providers(), state: Alchemy.localState() },
|
|
213
|
+
* Effect.gen(function* () {
|
|
214
|
+
* const api = yield* Api;
|
|
215
|
+
* const ip = yield* PublicIp;
|
|
216
|
+
* return { url: api.url, ip: ip.ip };
|
|
217
|
+
* }),
|
|
218
|
+
* );
|
|
219
|
+
* ```
|
|
220
|
+
*
|
|
221
|
+
* @resource
|
|
222
|
+
* @product App
|
|
223
|
+
*/
|
|
224
|
+
export declare const IpAssignment: typeof IpAssignmentResource;
|
|
225
|
+
declare const IpAssignmentNotCreated_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 & {
|
|
226
|
+
readonly _tag: "Fly.IpAssignmentNotCreated";
|
|
227
|
+
} & Readonly<A>;
|
|
228
|
+
export declare class IpAssignmentNotCreated extends IpAssignmentNotCreated_base<{
|
|
229
|
+
appName: string;
|
|
230
|
+
type: IpAssignmentType;
|
|
231
|
+
}> {
|
|
232
|
+
}
|
|
233
|
+
declare const IpAssignmentAppMissing_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 & {
|
|
234
|
+
readonly _tag: "Fly.IpAssignmentAppMissing";
|
|
235
|
+
} & Readonly<A>;
|
|
236
|
+
export declare class IpAssignmentAppMissing extends IpAssignmentAppMissing_base<{
|
|
237
|
+
type: IpAssignmentType;
|
|
238
|
+
}> {
|
|
239
|
+
}
|
|
240
|
+
/** Whether the App has any address reachable from the internet. */
|
|
241
|
+
export declare const hasPublicAddress: (appName: string) => Effect.Effect<boolean, machines.FlyIoOpError, machines.FlyIoOpContext>;
|
|
242
|
+
/**
|
|
243
|
+
* Converge the addresses of an App a {@link Service} owns. Every owned App
|
|
244
|
+
* gets a Flycast address on its private network (the organization's
|
|
245
|
+
* default network when `network` is omitted). A public App also gets a
|
|
246
|
+
* shared IPv4 and an IPv6; a private one has every public address
|
|
247
|
+
* released. All three types are free.
|
|
248
|
+
*/
|
|
249
|
+
export declare const syncOwnedAppAddresses: (appName: string, isPublic: boolean, network?: string | undefined) => Effect.Effect<void, import("@distilled.cloud/fly-io").BadRequest | import("@distilled.cloud/fly-io").Forbidden | machines.NetworkNotFound | import("@distilled.cloud/fly-io").NotFound | machines.FlyIoOpError, machines.FlyIoOpContext>;
|
|
250
|
+
/**
|
|
251
|
+
* Add a Flycast address on `network` to an App a {@link Service} shares,
|
|
252
|
+
* so bound callers can reach it. Only ever adds; the address is removed
|
|
253
|
+
* with the App.
|
|
254
|
+
*/
|
|
255
|
+
export declare const ensureFlycastAddress: (appName: string, network?: string | undefined) => Effect.Effect<void, import("@distilled.cloud/fly-io").BadRequest | import("@distilled.cloud/fly-io").Forbidden | machines.NetworkNotFound | import("@distilled.cloud/fly-io").NotFound | machines.FlyIoOpError, machines.FlyIoOpContext>;
|
|
256
|
+
export declare const IpAssignmentProvider: () => import("effect/Layer").Layer<Provider.Provider<IpAssignment>, never, machines.FlyIoOpContext>;
|
|
257
|
+
export {};
|
|
258
|
+
//# sourceMappingURL=IpAssignment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IpAssignment.d.ts","sourceRoot":"","sources":["../src/IpAssignment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAC;AAE7D,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;GAGG;AACH,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACd;;;;;;OAMG;IACH,IAAI,EAAE,gBAAgB,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,CACjC,kBAAkB,EAClB,iBAAiB,EACjB;IACE,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,0DAA0D;IAC1D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,EACD,KAAK,EACL,SAAS,CACV,CAAC;AAcF,QAAA,MAAM,oBAAoB,wDAA6C,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmJG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,oBAIjC,CAAC;;;;AAEF,qBAAa,sBAAuB,SAAQ,4BAA+C;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;CAAG;;;;AAEL,qBAAa,sBAAuB,SAAQ,4BAA+C;IACzF,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;CAAG;AA+FL,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,YAAa,MAAM,2EAG7C,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,gTA+BhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,6RAO/B,CAAC;AAEH,eAAO,MAAM,oBAAoB,qGAqG7B,CAAC"}
|