@alchemy.run/fly 0.0.0 → 2.0.0-beta.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +338 -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 +55 -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 +20 -0
- package/lib/PostgresMigrations.d.ts.map +1 -0
- package/lib/PostgresMigrations.js +58 -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 +611 -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 +11 -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 +1017 -0
- package/lib/Service.d.ts.map +1 -0
- package/lib/Service.js +1430 -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 +471 -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 +89 -0
- package/lib/Website/Astro.d.ts.map +1 -0
- package/lib/Website/Astro.js +54 -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 +212 -0
- package/lib/Website/FrameworkSite.d.ts.map +1 -0
- package/lib/Website/FrameworkSite.js +205 -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 +162 -0
- package/lib/Website/StaticSite.d.ts.map +1 -0
- package/lib/Website/StaticSite.js +180 -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 +112 -0
- package/lib/Website/Vite.d.ts.map +1 -0
- package/lib/Website/Vite.js +100 -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 +460 -0
- package/lib/bluegreen.js.map +1 -0
- package/lib/hosted.d.ts +171 -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 +158 -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 +514 -0
- package/src/AuthProvider.ts +68 -0
- package/src/BindService.ts +303 -0
- package/src/Bootstrap.ts +66 -0
- package/src/Bucket.ts +918 -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 +75 -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 +1270 -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 +93 -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 +823 -0
- package/src/RedisBinding.ts +64 -0
- package/src/RedisHttp.ts +14 -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 +1968 -0
- package/src/Sign.ts +46 -0
- package/src/SignHttp.ts +44 -0
- package/src/Sprite.ts +673 -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 +292 -0
- package/src/Website/Astro.ts +92 -0
- package/src/Website/Foldkit.ts +54 -0
- package/src/Website/FrameworkSite.ts +449 -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 +295 -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 +121 -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 +711 -0
- package/src/globals.d.ts +2 -0
- package/src/hosted.ts +667 -0
- package/src/index.ts +64 -0
- package/src/internal/RemoteBuilder.ts +242 -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,38 @@
|
|
|
1
|
+
import * as Command from "alchemy/Command";
|
|
2
|
+
import * as Provider from "alchemy/Provider";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as Credentials from "./Credentials.ts";
|
|
5
|
+
declare const Providers_base: Provider.ProviderCollection<Providers, "Fly">;
|
|
6
|
+
export declare class Providers extends Providers_base {
|
|
7
|
+
}
|
|
8
|
+
export type ProviderRequirements = Layer.Services<ReturnType<typeof providers>>;
|
|
9
|
+
/**
|
|
10
|
+
* Build a layer that registers Fly resource providers, the Fly
|
|
11
|
+
* `AuthProvider`, the resolved `Credentials`, and an `HttpClient`. Include
|
|
12
|
+
* this from your stack alongside other cloud `providers()` layers.
|
|
13
|
+
*
|
|
14
|
+
* Resource providers are inserted into {@link Provider.collection} as they
|
|
15
|
+
* land. The collection starts empty so App / Machine / Service agents can
|
|
16
|
+
* make a single minimal insertion.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import * as Alchemy from "alchemy";
|
|
21
|
+
* import * as Fly from "@alchemy.run/fly";
|
|
22
|
+
* import * as Effect from "effect/Effect";
|
|
23
|
+
*
|
|
24
|
+
* export default Alchemy.Stack(
|
|
25
|
+
* "MyStack",
|
|
26
|
+
* {
|
|
27
|
+
* providers: Fly.providers(),
|
|
28
|
+
* state: Alchemy.localState(),
|
|
29
|
+
* },
|
|
30
|
+
* Effect.gen(function* () {
|
|
31
|
+
* return {};
|
|
32
|
+
* }),
|
|
33
|
+
* );
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare const providers: () => Layer.Layer<import("./Checkpoint.ts").Checkpoint | import("./ConnectPostgres.ts").ConnectPostgres | Credentials.Credentials | import("alchemy/Auth/Credentials").CredentialsStore | import("./Decrypt.ts").Decrypt | import("./DeleteObject.ts").DeleteObject | import("./Encrypt.ts").Encrypt | import("./Exec.ts").Exec | import("./Environment.ts").FlyEnvironment | import("./GetObject.ts").GetObject | import("./GetSecret.ts").GetSecret | import("./HeadObject.ts").HeadObject | import("effect/http/HttpClient").HttpClient | import("./ListObjectsV2.ts").ListObjectsV2 | import("./ListSecrets.ts").ListSecrets | import("./MountVolume.ts").MountVolume | import("alchemy/Auth/Profile").ProfileStore | Provider.Provider<Command.Build> | Provider.Provider<Command.Dev> | Provider.Provider<Command.Exec> | Providers | import("./PutObject.ts").PutObject | import("./ReadRedis.ts").ReadRedis | import("./ReadWriteRedis.ts").ReadWriteRedis | import("./Sign.ts").Sign | import("./Verify.ts").Verify | import("./WriteCertificates.ts").WriteCertificates | import("./WriteRedis.ts").WriteRedis | import("./WriteSecret.ts").WriteSecret, never, import("alchemy/AlchemyContext").AlchemyContext | import("alchemy/Artifacts").ArtifactStore | import("alchemy/Auth/Registry").AuthProviders | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("alchemy/Stack").Stack | import("alchemy/Stage").Stage>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=Providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Providers.d.ts","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAO7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAOtC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;;AA+BhD,qBAAa,SAAU,SAAQ,cAA+C;CAAG;AAEjF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,SAAS,i8CA2EnB,CAAC"}
|
package/lib/Providers.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { CredentialsStoreLive } from "alchemy/Auth/Credentials";
|
|
2
|
+
import { ProfileStoreLive } from "alchemy/Auth/Profile";
|
|
3
|
+
import * as Command from "alchemy/Command";
|
|
4
|
+
import * as Provider from "alchemy/Provider";
|
|
5
|
+
import { Random, RandomProvider } from "alchemy/Random";
|
|
6
|
+
import { Server as WebsiteServer, ServerProvider as WebsiteServerProvider, } from "alchemy/Website/Server";
|
|
7
|
+
import * as FetchHttpClient from "effect/http/FetchHttpClient";
|
|
8
|
+
import * as Layer from "effect/Layer";
|
|
9
|
+
import { App, AppProvider } from "./App.js";
|
|
10
|
+
import { FlyAuth } from "./AuthProvider.js";
|
|
11
|
+
import { Bucket, BucketProvider } from "./Bucket.js";
|
|
12
|
+
import { Certificate, CertificateProvider } from "./Certificate.js";
|
|
13
|
+
import { CheckpointHttp } from "./CheckpointHttp.js";
|
|
14
|
+
import { ConnectPostgresHttp } from "./ConnectPostgresHttp.js";
|
|
15
|
+
import * as Credentials from "./Credentials.js";
|
|
16
|
+
import { DecryptHttp } from "./DecryptHttp.js";
|
|
17
|
+
import { DeleteObjectHttp } from "./DeleteObjectHttp.js";
|
|
18
|
+
import { EncryptHttp } from "./EncryptHttp.js";
|
|
19
|
+
import { fromCredentials } from "./Environment.js";
|
|
20
|
+
import { ExecHttp } from "./ExecHttp.js";
|
|
21
|
+
import { GetObjectHttp } from "./GetObjectHttp.js";
|
|
22
|
+
import { GetSecretHttp } from "./GetSecretHttp.js";
|
|
23
|
+
import { HeadObjectHttp } from "./HeadObjectHttp.js";
|
|
24
|
+
import { IpAssignment, IpAssignmentProvider } from "./IpAssignment.js";
|
|
25
|
+
import { ListObjectsV2Http } from "./ListObjectsV2Http.js";
|
|
26
|
+
import { ListSecretsHttp } from "./ListSecretsHttp.js";
|
|
27
|
+
import { Machine, MachineProvider } from "./Machine.js";
|
|
28
|
+
import { MountVolumeLive } from "./MountVolume.js";
|
|
29
|
+
import { Postgres, PostgresProvider } from "./Postgres.js";
|
|
30
|
+
import { PutObjectHttp } from "./PutObjectHttp.js";
|
|
31
|
+
import { ReadRedisHttp } from "./ReadRedisHttp.js";
|
|
32
|
+
import { ReadWriteRedisHttp } from "./ReadWriteRedisHttp.js";
|
|
33
|
+
import { Redis, RedisProvider } from "./Redis.js";
|
|
34
|
+
import { Secret, SecretProvider } from "./Secret.js";
|
|
35
|
+
import { SecretKey, SecretKeyProvider } from "./SecretKey.js";
|
|
36
|
+
import { Service, ServiceProvider } from "./Service.js";
|
|
37
|
+
import { SignHttp } from "./SignHttp.js";
|
|
38
|
+
import { Sprite, SpriteProvider } from "./Sprite.js";
|
|
39
|
+
import { VerifyHttp } from "./VerifyHttp.js";
|
|
40
|
+
import { VolumeSnapshot, VolumeSnapshotProvider } from "./VolumeSnapshot.js";
|
|
41
|
+
import { AssetDeployment, AssetDeploymentProvider } from "./Website/AssetDeployment.js";
|
|
42
|
+
import { WriteCertificatesHttp } from "./WriteCertificatesHttp.js";
|
|
43
|
+
import { WriteRedisHttp } from "./WriteRedisHttp.js";
|
|
44
|
+
import { WriteSecretHttp } from "./WriteSecretHttp.js";
|
|
45
|
+
export class Providers extends Provider.ProviderCollection()("Fly") {
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Build a layer that registers Fly resource providers, the Fly
|
|
49
|
+
* `AuthProvider`, the resolved `Credentials`, and an `HttpClient`. Include
|
|
50
|
+
* this from your stack alongside other cloud `providers()` layers.
|
|
51
|
+
*
|
|
52
|
+
* Resource providers are inserted into {@link Provider.collection} as they
|
|
53
|
+
* land. The collection starts empty so App / Machine / Service agents can
|
|
54
|
+
* make a single minimal insertion.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* import * as Alchemy from "alchemy";
|
|
59
|
+
* import * as Fly from "@alchemy.run/fly";
|
|
60
|
+
* import * as Effect from "effect/Effect";
|
|
61
|
+
*
|
|
62
|
+
* export default Alchemy.Stack(
|
|
63
|
+
* "MyStack",
|
|
64
|
+
* {
|
|
65
|
+
* providers: Fly.providers(),
|
|
66
|
+
* state: Alchemy.localState(),
|
|
67
|
+
* },
|
|
68
|
+
* Effect.gen(function* () {
|
|
69
|
+
* return {};
|
|
70
|
+
* }),
|
|
71
|
+
* );
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export const providers = () => Layer.effect(Providers, Provider.collection([
|
|
75
|
+
App,
|
|
76
|
+
AssetDeployment,
|
|
77
|
+
Bucket,
|
|
78
|
+
Certificate,
|
|
79
|
+
IpAssignment,
|
|
80
|
+
Machine,
|
|
81
|
+
Postgres,
|
|
82
|
+
Random,
|
|
83
|
+
Redis,
|
|
84
|
+
Secret,
|
|
85
|
+
SecretKey,
|
|
86
|
+
Service,
|
|
87
|
+
Sprite,
|
|
88
|
+
VolumeSnapshot,
|
|
89
|
+
WebsiteServer,
|
|
90
|
+
])).pipe(Layer.provide(Layer.mergeAll(AppProvider(), AssetDeploymentProvider(), BucketProvider(), CertificateProvider(), IpAssignmentProvider(), MachineProvider(), PostgresProvider(), RandomProvider(), RedisProvider(), SecretProvider(), SecretKeyProvider(), ServiceProvider(), SpriteProvider(), VolumeSnapshotProvider(), WebsiteServerProvider())),
|
|
91
|
+
// The binding layers are mutually independent — they all draw on the
|
|
92
|
+
// Credentials/HttpClient layers below. Merge them into one group so
|
|
93
|
+
// `.pipe` stays under its 20-argument overload ceiling.
|
|
94
|
+
Layer.provideMerge(Layer.mergeAll(MountVolumeLive, ConnectPostgresHttp, PutObjectHttp, GetObjectHttp, DeleteObjectHttp, HeadObjectHttp, ListObjectsV2Http, ReadRedisHttp, WriteRedisHttp, ReadWriteRedisHttp, CheckpointHttp, ExecHttp, GetSecretHttp, ListSecretsHttp, WriteSecretHttp, WriteCertificatesHttp, EncryptHttp, DecryptHttp, SignHttp, VerifyHttp)), Layer.provideMerge(fromCredentials()), Layer.provideMerge(Credentials.fromAuthProvider()), Layer.provideMerge(FlyAuth), Layer.provideMerge(ProfileStoreLive), Layer.provideMerge(CredentialsStoreLive), Layer.provideMerge(FetchHttpClient.layer), Layer.provideMerge(Command.providers()), Layer.orDie);
|
|
95
|
+
//# sourceMappingURL=Providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Providers.js","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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 PutObjectRequest extends Omit<S3.PutObjectRequest, "Bucket"> {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Runtime binding for Tigris `PutObject` over the S3 API.
|
|
11
|
+
*
|
|
12
|
+
* Bind this operation to a {@link Bucket} in Service init. The Tigris
|
|
13
|
+
* bucket name, endpoint, and credentials are injected automatically.
|
|
14
|
+
* Provide {@link PutObjectHttp}.
|
|
15
|
+
*
|
|
16
|
+
*
|
|
17
|
+
* ### Writing Objects
|
|
18
|
+
* **Example:** Put an Object
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const putObject = yield* Fly.PutObject(Data);
|
|
21
|
+
*
|
|
22
|
+
* yield* putObject({
|
|
23
|
+
* Key: "hello.txt",
|
|
24
|
+
* Body: "Hello, world!",
|
|
25
|
+
* ContentType: "text/plain",
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @binding
|
|
30
|
+
* @product Bucket
|
|
31
|
+
*/
|
|
32
|
+
export interface PutObject extends Binding.Service<PutObject, "Fly.PutObject", (bucket: Bucket) => Effect.Effect<(request: PutObjectRequest) => Effect.Effect<S3.PutObjectOutput, S3.PutObjectError | TigrisCredentialsMissing, RuntimeContext>>> {
|
|
33
|
+
}
|
|
34
|
+
export declare const PutObject: PutObject;
|
|
35
|
+
//# sourceMappingURL=PutObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PutObject.d.ts","sourceRoot":"","sources":["../src/PutObject.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,gBAAiB,SAAQ,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;CAAG;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO,CAAC,OAAO,CAChD,SAAS,EACT,eAAe,EACf,CACE,MAAM,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAChB,CACE,OAAO,EAAE,gBAAgB,KACtB,MAAM,CAAC,MAAM,CAChB,EAAE,CAAC,eAAe,EAClB,EAAE,CAAC,cAAc,GAAG,wBAAwB,EAC5C,cAAc,CACf,CACF,CACF;CAAG;AAEJ,eAAO,MAAM,SAAS,WAA8C,CAAC"}
|
package/lib/PutObject.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PutObject.js","sourceRoot":"","sources":["../src/PutObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA+C3C,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 { PutObject } from "./PutObject.ts";
|
|
3
|
+
/**
|
|
4
|
+
* HTTP implementation of {@link PutObject}. Calls distilled S3
|
|
5
|
+
* `putObject` against the Tigris endpoint with the bucket's credentials.
|
|
6
|
+
*
|
|
7
|
+
* @layer
|
|
8
|
+
* @product Bucket
|
|
9
|
+
* @provides Fly.PutObject
|
|
10
|
+
*/
|
|
11
|
+
export declare const PutObjectHttp: Layer.Layer<PutObject, never, never>;
|
|
12
|
+
//# sourceMappingURL=PutObjectHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PutObjectHttp.d.ts","sourceRoot":"","sources":["../src/PutObjectHttp.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 { PutObject } from "./PutObject.js";
|
|
5
|
+
/**
|
|
6
|
+
* HTTP implementation of {@link PutObject}. Calls distilled S3
|
|
7
|
+
* `putObject` against the Tigris endpoint with the bucket's credentials.
|
|
8
|
+
*
|
|
9
|
+
* @layer
|
|
10
|
+
* @product Bucket
|
|
11
|
+
* @provides Fly.PutObject
|
|
12
|
+
*/
|
|
13
|
+
export const PutObjectHttp = Layer.effect(PutObject, makeTigrisS3Binding({
|
|
14
|
+
tag: "Fly.PutObject",
|
|
15
|
+
operation: S3.putObject,
|
|
16
|
+
}));
|
|
17
|
+
//# sourceMappingURL=PutObjectHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PutObjectHttp.js","sourceRoot":"","sources":["../src/PutObjectHttp.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,26 @@
|
|
|
1
|
+
import type { ReadClient } from "@alchemy.run/redis";
|
|
2
|
+
import * as Binding from "alchemy/Binding";
|
|
3
|
+
import type * as Effect from "effect/Effect";
|
|
4
|
+
import type { Redis } from "./Redis.ts";
|
|
5
|
+
/**
|
|
6
|
+
* Bind a {@link Redis} database with read access (`get`, `ping`).
|
|
7
|
+
*
|
|
8
|
+
* `ReadRedis` is the Context tag, the type, and the callable —
|
|
9
|
+
* `yield* Fly.ReadRedis(Cache)`. Provide {@link ReadRedisHttp}.
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* ### Read
|
|
13
|
+
* **Example:** Get a key
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const cache = yield* Fly.ReadRedis(Cache);
|
|
16
|
+
* const value = yield* cache.get("marker");
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @binding
|
|
20
|
+
* @product Redis
|
|
21
|
+
*/
|
|
22
|
+
export interface ReadRedis extends Binding.Service<ReadRedis, "Fly.ReadRedis", (redis: Redis) => Effect.Effect<ReadRedisClient>> {
|
|
23
|
+
}
|
|
24
|
+
export declare const ReadRedis: ReadRedis;
|
|
25
|
+
export type ReadRedisClient = ReadClient;
|
|
26
|
+
//# sourceMappingURL=ReadRedis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadRedis.d.ts","sourceRoot":"","sources":["../src/ReadRedis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO,CAAC,OAAO,CAChD,SAAS,EACT,eAAe,EACf,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CACjD;CAAG;AAEJ,eAAO,MAAM,SAAS,WAA8C,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC"}
|
package/lib/ReadRedis.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadRedis.js","sourceRoot":"","sources":["../src/ReadRedis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA2B3C,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAY,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { ReadRedis } from "./ReadRedis.ts";
|
|
3
|
+
/**
|
|
4
|
+
* HTTP implementation of {@link ReadRedis}.
|
|
5
|
+
*
|
|
6
|
+
* @layer
|
|
7
|
+
* @product Redis
|
|
8
|
+
* @provides Fly.ReadRedis
|
|
9
|
+
*/
|
|
10
|
+
export declare const ReadRedisHttp: Layer.Layer<ReadRedis, never, never>;
|
|
11
|
+
//# sourceMappingURL=ReadRedisHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadRedisHttp.d.ts","sourceRoot":"","sources":["../src/ReadRedisHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,sCAKzB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { ReadRedis } from "./ReadRedis.js";
|
|
3
|
+
import { makeRedisBinding } from "./RedisBinding.js";
|
|
4
|
+
import { makeReadRedisClient } from "./RedisHttp.js";
|
|
5
|
+
/**
|
|
6
|
+
* HTTP implementation of {@link ReadRedis}.
|
|
7
|
+
*
|
|
8
|
+
* @layer
|
|
9
|
+
* @product Redis
|
|
10
|
+
* @provides Fly.ReadRedis
|
|
11
|
+
*/
|
|
12
|
+
export const ReadRedisHttp = Layer.effect(ReadRedis, makeRedisBinding({
|
|
13
|
+
makeClient: makeReadRedisClient,
|
|
14
|
+
}));
|
|
15
|
+
//# sourceMappingURL=ReadRedisHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadRedisHttp.js","sourceRoot":"","sources":["../src/ReadRedisHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CACvC,SAAS,EACT,gBAAgB,CAAC;IACf,UAAU,EAAE,mBAAmB;CAChC,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as Binding from "alchemy/Binding";
|
|
2
|
+
import type * as Effect from "effect/Effect";
|
|
3
|
+
import type { ReadRedisClient } from "./ReadRedis.ts";
|
|
4
|
+
import type { Redis } from "./Redis.ts";
|
|
5
|
+
import type { WriteRedisClient } from "./WriteRedis.ts";
|
|
6
|
+
/**
|
|
7
|
+
* Bind a {@link Redis} database with read + write access.
|
|
8
|
+
*
|
|
9
|
+
* `ReadWriteRedis` is the Context tag, the type, and the callable —
|
|
10
|
+
* `yield* Fly.ReadWriteRedis(Cache)`. Provide {@link ReadWriteRedisHttp}.
|
|
11
|
+
*
|
|
12
|
+
*
|
|
13
|
+
* ### Read and write
|
|
14
|
+
* **Example:** Round-trip a key
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const cache = yield* Fly.ReadWriteRedis(Cache);
|
|
17
|
+
* yield* cache.set("marker", "hello");
|
|
18
|
+
* const value = yield* cache.get("marker");
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @binding
|
|
22
|
+
* @product Redis
|
|
23
|
+
*/
|
|
24
|
+
export interface ReadWriteRedis extends Binding.Service<ReadWriteRedis, "Fly.ReadWriteRedis", (redis: Redis) => Effect.Effect<ReadWriteRedisClient>> {
|
|
25
|
+
}
|
|
26
|
+
export declare const ReadWriteRedis: ReadWriteRedis;
|
|
27
|
+
export interface ReadWriteRedisClient extends ReadRedisClient, WriteRedisClient {
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ReadWriteRedis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadWriteRedis.d.ts","sourceRoot":"","sources":["../src/ReadWriteRedis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO,CAAC,OAAO,CACrD,cAAc,EACd,oBAAoB,EACpB,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CACtD;CAAG;AAEJ,eAAO,MAAM,cAAc,gBAAwD,CAAC;AAEpF,MAAM,WAAW,oBAAqB,SAAQ,eAAe,EAAE,gBAAgB;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadWriteRedis.js","sourceRoot":"","sources":["../src/ReadWriteRedis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA8B3C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAiB,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { ReadWriteRedis } from "./ReadWriteRedis.ts";
|
|
3
|
+
/**
|
|
4
|
+
* HTTP implementation of {@link ReadWriteRedis}.
|
|
5
|
+
*
|
|
6
|
+
* @layer
|
|
7
|
+
* @product Redis
|
|
8
|
+
* @provides Fly.ReadWriteRedis
|
|
9
|
+
*/
|
|
10
|
+
export declare const ReadWriteRedisHttp: Layer.Layer<ReadWriteRedis, never, never>;
|
|
11
|
+
//# sourceMappingURL=ReadWriteRedisHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadWriteRedisHttp.d.ts","sourceRoot":"","sources":["../src/ReadWriteRedisHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,2CAK9B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { ReadWriteRedis } from "./ReadWriteRedis.js";
|
|
3
|
+
import { makeRedisBinding } from "./RedisBinding.js";
|
|
4
|
+
import { makeReadWriteRedisClient } from "./RedisHttp.js";
|
|
5
|
+
/**
|
|
6
|
+
* HTTP implementation of {@link ReadWriteRedis}.
|
|
7
|
+
*
|
|
8
|
+
* @layer
|
|
9
|
+
* @product Redis
|
|
10
|
+
* @provides Fly.ReadWriteRedis
|
|
11
|
+
*/
|
|
12
|
+
export const ReadWriteRedisHttp = Layer.effect(ReadWriteRedis, makeRedisBinding({
|
|
13
|
+
makeClient: makeReadWriteRedisClient,
|
|
14
|
+
}));
|
|
15
|
+
//# sourceMappingURL=ReadWriteRedisHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadWriteRedisHttp.js","sourceRoot":"","sources":["../src/ReadWriteRedisHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAC5C,cAAc,EACd,gBAAgB,CAAC;IACf,UAAU,EAAE,wBAAwB;CACrC,CAAC,CACH,CAAC"}
|
package/lib/Redis.d.ts
ADDED
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import type { AddOnPlansResponseEdgesItemNode, AddOnsResponseEdgesItemNode } from "@distilled.cloud/fly-io/addons";
|
|
2
|
+
import * as addons from "@distilled.cloud/fly-io/addons";
|
|
3
|
+
import * as Provider from "alchemy/Provider";
|
|
4
|
+
import { Resource } from "alchemy/Resource";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Redacted from "effect/Redacted";
|
|
7
|
+
import type { Providers } from "./Providers.ts";
|
|
8
|
+
export declare const DEFAULT_REDIS_REGION = "iad";
|
|
9
|
+
export declare const REDIS_ADDON_TYPE = "upstash_redis";
|
|
10
|
+
export declare const REDIS_PROVIDER = "upstash_redis";
|
|
11
|
+
export declare const REDIS_URL_ENV = "REDIS_URL";
|
|
12
|
+
export { CommandError as RedisCommandError, UrlMissing as RedisUrlMissing, } from "@alchemy.run/redis/Errors";
|
|
13
|
+
export interface RedisProps {
|
|
14
|
+
/**
|
|
15
|
+
* Upstash Redis database name. Globally unique in the org. If omitted,
|
|
16
|
+
* a unique name is generated from the stack, stage and logical ID.
|
|
17
|
+
* Changing it replaces the database.
|
|
18
|
+
*/
|
|
19
|
+
name?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Primary region (`iad`, `ord`, `sjc`, …). Fly cannot move a primary.
|
|
22
|
+
* Changing it replaces the database.
|
|
23
|
+
*
|
|
24
|
+
* @default "iad"
|
|
25
|
+
*/
|
|
26
|
+
primaryRegion?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Organization slug. Defaults to the current token's org. Changing it
|
|
29
|
+
* replaces the database.
|
|
30
|
+
*/
|
|
31
|
+
orgSlug?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Add-on plan id, name, or display name from `addOnPlans`. Default is
|
|
34
|
+
* the cheapest listed plan (free or pay-as-you-go). Fixed plans are
|
|
35
|
+
* billed. Default tests use the cheapest listed plan.
|
|
36
|
+
*/
|
|
37
|
+
plan?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Read-replica regions. Updated in place. Must not include the
|
|
40
|
+
* primary region.
|
|
41
|
+
*/
|
|
42
|
+
readRegions?: string[];
|
|
43
|
+
/**
|
|
44
|
+
* Evict keys when memory is full (cache workload). Updated in place.
|
|
45
|
+
*/
|
|
46
|
+
eviction?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Automatically upgrade a fixed plan when hitting resource limits.
|
|
49
|
+
* Ignored on pay-as-you-go.
|
|
50
|
+
*/
|
|
51
|
+
autoUpgrade?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* ProdPack add-on ($200/mo). Paid. Not enabled in default tests.
|
|
54
|
+
*/
|
|
55
|
+
prodPack?: boolean;
|
|
56
|
+
}
|
|
57
|
+
export type Redis = Resource<"Fly.Redis", RedisProps, {
|
|
58
|
+
/** Fly GraphQL add-on id. */
|
|
59
|
+
redisId: string;
|
|
60
|
+
/** Physical Upstash Redis name. */
|
|
61
|
+
name: string;
|
|
62
|
+
/** Primary region code. */
|
|
63
|
+
primaryRegion: string;
|
|
64
|
+
/** Observed read-replica regions. */
|
|
65
|
+
readRegions: string[];
|
|
66
|
+
/** Observed status (`ready`, `provisioning`, …). */
|
|
67
|
+
status: string | undefined;
|
|
68
|
+
/** Selected plan id, if the API returned one. */
|
|
69
|
+
planId: string | undefined;
|
|
70
|
+
/** Observed plan name (`Pay-as-you-go`, `Fixed 250MB`, …). */
|
|
71
|
+
planName: string | undefined;
|
|
72
|
+
/** Private 6PN address, if the API returned one. */
|
|
73
|
+
privateIp: string | undefined;
|
|
74
|
+
/** Organization slug. */
|
|
75
|
+
orgSlug: string | undefined;
|
|
76
|
+
/** Whether eviction is enabled. */
|
|
77
|
+
eviction: boolean | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Redacted Upstash connection URL. Bindings transport it to the
|
|
80
|
+
* runtime automatically. Service attachments also set `REDIS_URL`.
|
|
81
|
+
*/
|
|
82
|
+
url: Redacted.Redacted<string> | undefined;
|
|
83
|
+
}, never, Providers>;
|
|
84
|
+
/**
|
|
85
|
+
* Managed Upstash Redis in a Fly org. Bind {@link ReadRedis},
|
|
86
|
+
* {@link WriteRedis}, or {@link ReadWriteRedis} on a {@link Service}.
|
|
87
|
+
* Alchemy transports the redacted `url` Output to the runtime client
|
|
88
|
+
* and also writes `REDIS_URL` as an App secret for compatibility.
|
|
89
|
+
* Redis is not reachable from CI — drive it over HTTP.
|
|
90
|
+
*
|
|
91
|
+
* @see https://fly.io/docs/upstash/redis/
|
|
92
|
+
*
|
|
93
|
+
* ### Create Redis
|
|
94
|
+
* Alchemy generates a unique name unless you pass one. Default region is
|
|
95
|
+
* `iad`. Default plan is the cheapest `addOnPlans` row (free or
|
|
96
|
+
* pay-as-you-go).
|
|
97
|
+
*
|
|
98
|
+
* **Example:** Generated name
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const cache = yield* Fly.Redis("Cache");
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* :::note
|
|
104
|
+
* Prefer omitting `name` in tests and CI so names stay unique and
|
|
105
|
+
* reclaimable.
|
|
106
|
+
* :::
|
|
107
|
+
*
|
|
108
|
+
* ### A stable name
|
|
109
|
+
* Pass `name` when you want a stable Upstash database name.
|
|
110
|
+
*
|
|
111
|
+
* **Example:** Explicit name
|
|
112
|
+
* ```typescript
|
|
113
|
+
* const cache = yield* Fly.Redis("Cache", {
|
|
114
|
+
* name: "my-cache",
|
|
115
|
+
* primaryRegion: "iad",
|
|
116
|
+
* });
|
|
117
|
+
* ```
|
|
118
|
+
*
|
|
119
|
+
* :::caution[Changing `name` replaces Redis]
|
|
120
|
+
* Fly cannot rename an add-on. Alchemy deletes the old database first,
|
|
121
|
+
* then creates the new one.
|
|
122
|
+
* :::
|
|
123
|
+
*
|
|
124
|
+
* :::caution[Changing `primaryRegion` replaces Redis]
|
|
125
|
+
* The primary region is immutable. The old database is deleted first
|
|
126
|
+
* because the name cannot exist twice.
|
|
127
|
+
* :::
|
|
128
|
+
*
|
|
129
|
+
* ### Bind from a Service
|
|
130
|
+
* Yield {@link ReadWriteRedis} (or {@link ReadRedis} / {@link WriteRedis})
|
|
131
|
+
* in Service init. Provide the matching `*Http` layer.
|
|
132
|
+
*
|
|
133
|
+
* **Example:** Read and write
|
|
134
|
+
* ```typescript
|
|
135
|
+
* import * as HttpServerResponse from "effect/http/HttpServerResponse";
|
|
136
|
+
*
|
|
137
|
+
* const Cache = Fly.Redis("Cache");
|
|
138
|
+
*
|
|
139
|
+
* export default class Api extends Fly.Service<Api>()(
|
|
140
|
+
* "Api",
|
|
141
|
+
* { app: Site, main: import.meta.url, port: 3000 },
|
|
142
|
+
* Effect.gen(function* () {
|
|
143
|
+
* const cache = yield* Fly.ReadWriteRedis(Cache);
|
|
144
|
+
* return {
|
|
145
|
+
* fetch: Effect.gen(function* () {
|
|
146
|
+
* yield* cache.set("marker", "hello");
|
|
147
|
+
* const value = yield* cache.get("marker");
|
|
148
|
+
* return HttpServerResponse.json({ value });
|
|
149
|
+
* }),
|
|
150
|
+
* };
|
|
151
|
+
* }).pipe(Effect.provide(Fly.ReadWriteRedisHttp)),
|
|
152
|
+
* ) {}
|
|
153
|
+
* ```
|
|
154
|
+
*
|
|
155
|
+
* ### Eviction
|
|
156
|
+
* Enable eviction for cache workloads. Updated in place.
|
|
157
|
+
*
|
|
158
|
+
* **Example:** Eviction
|
|
159
|
+
* ```typescript
|
|
160
|
+
* const cache = yield* Fly.Redis("Cache", {
|
|
161
|
+
* eviction: true,
|
|
162
|
+
* });
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* ### Read replicas
|
|
166
|
+
* `readRegions` are extra replica regions. Updated in place.
|
|
167
|
+
*
|
|
168
|
+
* **Example:** Replica region
|
|
169
|
+
* ```typescript
|
|
170
|
+
* const cache = yield* Fly.Redis("Cache", {
|
|
171
|
+
* primaryRegion: "iad",
|
|
172
|
+
* readRegions: ["sjc"],
|
|
173
|
+
* });
|
|
174
|
+
* ```
|
|
175
|
+
*
|
|
176
|
+
* ### Plan
|
|
177
|
+
* Omit `plan` for the cheapest listed plan. Pass a plan id or display
|
|
178
|
+
* name to pin one. Fixed plans are billed.
|
|
179
|
+
*
|
|
180
|
+
* **Example:** Pin pay-as-you-go
|
|
181
|
+
* ```typescript
|
|
182
|
+
* const cache = yield* Fly.Redis("Cache", {
|
|
183
|
+
* plan: "Pay-as-you-go",
|
|
184
|
+
* });
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* :::caution[Fixed plans are billed]
|
|
188
|
+
* Fixed plans are billed monthly. Prefer omitting `plan` unless you
|
|
189
|
+
* need a specific size.
|
|
190
|
+
* :::
|
|
191
|
+
*
|
|
192
|
+
* @resource
|
|
193
|
+
* @product Redis
|
|
194
|
+
*/
|
|
195
|
+
export declare const Redis: import("alchemy/Resource").ResourceClass<Redis>;
|
|
196
|
+
declare const RedisNotCreated_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 & {
|
|
197
|
+
readonly _tag: "Fly.RedisNotCreated";
|
|
198
|
+
} & Readonly<A>;
|
|
199
|
+
export declare class RedisNotCreated extends RedisNotCreated_base<{
|
|
200
|
+
resourceName: string;
|
|
201
|
+
errorMessage?: string;
|
|
202
|
+
}> {
|
|
203
|
+
}
|
|
204
|
+
declare const RedisPlanNotFound_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 & {
|
|
205
|
+
readonly _tag: "Fly.RedisPlanNotFound";
|
|
206
|
+
} & Readonly<A>;
|
|
207
|
+
export declare class RedisPlanNotFound extends RedisPlanNotFound_base<{
|
|
208
|
+
plan: string;
|
|
209
|
+
}> {
|
|
210
|
+
}
|
|
211
|
+
declare const RedisOrgMissing_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 & {
|
|
212
|
+
readonly _tag: "Fly.RedisOrgMissing";
|
|
213
|
+
} & Readonly<A>;
|
|
214
|
+
export declare class RedisOrgMissing extends RedisOrgMissing_base<{
|
|
215
|
+
orgSlug: string;
|
|
216
|
+
}> {
|
|
217
|
+
}
|
|
218
|
+
declare const RedisPending_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 & {
|
|
219
|
+
readonly _tag: "Fly.RedisPending";
|
|
220
|
+
} & Readonly<A>;
|
|
221
|
+
declare class RedisPending extends RedisPending_base<{
|
|
222
|
+
redisId: string;
|
|
223
|
+
status: string;
|
|
224
|
+
}> {
|
|
225
|
+
}
|
|
226
|
+
type RedisPlan = AddOnPlansResponseEdgesItemNode;
|
|
227
|
+
export declare const isFixedRedisPlan: (plan: Pick<RedisPlan, "name" | "displayName">) => boolean;
|
|
228
|
+
export declare const listRedisAddOns: () => Effect.Effect<AddOnsResponseEdgesItemNode[], addons.FlyIoOpError, addons.FlyIoOpContext>;
|
|
229
|
+
export declare const listRedisPlans: () => Effect.Effect<addons.AddOnResponseAddOnPlan[], addons.FlyIoOpError, addons.FlyIoOpContext>;
|
|
230
|
+
export declare const findRedisAddOn: (input: {
|
|
231
|
+
id?: string;
|
|
232
|
+
name?: string;
|
|
233
|
+
}) => Effect.Effect<AddOnsResponseEdgesItemNode | undefined, addons.FlyIoOpError, addons.FlyIoOpContext>;
|
|
234
|
+
declare const RedisSecretVersionMissing_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 & {
|
|
235
|
+
readonly _tag: "Fly.RedisSecretVersionMissing";
|
|
236
|
+
} & Readonly<A>;
|
|
237
|
+
declare class RedisSecretVersionMissing extends RedisSecretVersionMissing_base<{
|
|
238
|
+
appName: string;
|
|
239
|
+
}> {
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Write `REDIS_URL` onto an App from attached Redis add-on names.
|
|
243
|
+
* Called from {@link Service} reconcile so the secret exists before
|
|
244
|
+
* Machines boot. Returns the highest accepted secret-version floor, or
|
|
245
|
+
* `undefined` when no secret was written; this is not a vault snapshot.
|
|
246
|
+
*/
|
|
247
|
+
export declare const attachRedisSecrets: (appName: string, attached: readonly {
|
|
248
|
+
name: string;
|
|
249
|
+
id?: string;
|
|
250
|
+
}[]) => Effect.Effect<number | undefined, import("@distilled.cloud/fly-io").BadRequest | import("@distilled.cloud/fly-io").Conflict | import("@distilled.cloud/fly-io").Forbidden | import("@distilled.cloud/fly-io").NotFound | RedisPending | RedisSecretVersionMissing | addons.FlyIoOpError, addons.FlyIoOpContext>;
|
|
251
|
+
export declare const RedisProvider: () => import("effect/Layer").Layer<Provider.Provider<Redis>, never, import("alchemy/Stack").Stack | import("alchemy/Stage").Stage | addons.FlyIoOpContext>;
|
|
252
|
+
//# sourceMappingURL=Redis.d.ts.map
|