@alchemy.run/fly 2.0.0-beta.85 → 2.0.0-beta.86
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/lib/App.d.ts +26 -4
- package/lib/App.d.ts.map +1 -1
- package/lib/App.js +25 -2
- package/lib/App.js.map +1 -1
- package/lib/AuthProvider.d.ts +1 -1
- package/lib/AuthProvider.d.ts.map +1 -1
- package/lib/AuthProvider.js.map +1 -1
- package/lib/BindService.d.ts +7 -7
- package/lib/BindService.d.ts.map +1 -1
- package/lib/BindService.js +20 -27
- package/lib/BindService.js.map +1 -1
- package/lib/Bootstrap.d.ts.map +1 -1
- package/lib/Bootstrap.js +2 -1
- package/lib/Bootstrap.js.map +1 -1
- package/lib/Bucket.d.ts +36 -2
- package/lib/Bucket.d.ts.map +1 -1
- package/lib/Bucket.js +181 -28
- package/lib/Bucket.js.map +1 -1
- package/lib/BucketBinding.d.ts.map +1 -1
- package/lib/BucketBinding.js.map +1 -1
- package/lib/Catalog.d.ts.map +1 -1
- package/lib/Catalog.js.map +1 -1
- package/lib/Certificate.d.ts +25 -1
- package/lib/Certificate.d.ts.map +1 -1
- package/lib/Certificate.js +18 -0
- package/lib/Certificate.js.map +1 -1
- package/lib/Checkpoint.d.ts.map +1 -1
- package/lib/Checkpoint.js.map +1 -1
- package/lib/CheckpointHttp.d.ts.map +1 -1
- package/lib/CheckpointHttp.js.map +1 -1
- package/lib/ConnectPostgres.d.ts.map +1 -1
- package/lib/ConnectPostgres.js.map +1 -1
- package/lib/ConnectPostgresHttp.d.ts.map +1 -1
- package/lib/ConnectPostgresHttp.js.map +1 -1
- package/lib/Contributions.d.ts +1 -1
- package/lib/Contributions.d.ts.map +1 -1
- package/lib/Contributions.js.map +1 -1
- package/lib/Credentials.d.ts +4 -3
- package/lib/Credentials.d.ts.map +1 -1
- package/lib/Credentials.js +9 -5
- package/lib/Credentials.js.map +1 -1
- package/lib/Decrypt.d.ts.map +1 -1
- package/lib/Decrypt.js.map +1 -1
- package/lib/DecryptHttp.d.ts.map +1 -1
- package/lib/DecryptHttp.js.map +1 -1
- package/lib/DeleteObject.d.ts.map +1 -1
- package/lib/DeleteObject.js.map +1 -1
- package/lib/DeleteObjectHttp.d.ts.map +1 -1
- package/lib/DeleteObjectHttp.js.map +1 -1
- package/lib/Deployment.d.ts.map +1 -1
- package/lib/Deployment.js.map +1 -1
- package/lib/DeploymentImages.d.ts.map +1 -1
- package/lib/DeploymentImages.js.map +1 -1
- package/lib/DeploymentState.d.ts.map +1 -1
- package/lib/DeploymentState.js.map +1 -1
- package/lib/Encrypt.d.ts.map +1 -1
- package/lib/Encrypt.js.map +1 -1
- package/lib/EncryptHttp.d.ts.map +1 -1
- package/lib/EncryptHttp.js.map +1 -1
- package/lib/Environment.d.ts.map +1 -1
- package/lib/Environment.js.map +1 -1
- package/lib/Errors.d.ts.map +1 -1
- package/lib/Errors.js.map +1 -1
- package/lib/Exec.d.ts.map +1 -1
- package/lib/Exec.js.map +1 -1
- package/lib/ExecHttp.d.ts.map +1 -1
- package/lib/ExecHttp.js.map +1 -1
- package/lib/GetObject.d.ts.map +1 -1
- package/lib/GetObject.js.map +1 -1
- package/lib/GetObjectHttp.d.ts.map +1 -1
- package/lib/GetObjectHttp.js.map +1 -1
- package/lib/GetSecret.d.ts.map +1 -1
- package/lib/GetSecret.js.map +1 -1
- package/lib/GetSecretHttp.d.ts.map +1 -1
- package/lib/GetSecretHttp.js.map +1 -1
- package/lib/HeadObject.d.ts.map +1 -1
- package/lib/HeadObject.js.map +1 -1
- package/lib/HeadObjectHttp.d.ts.map +1 -1
- package/lib/HeadObjectHttp.js.map +1 -1
- package/lib/IpAssignment.d.ts +24 -1
- package/lib/IpAssignment.d.ts.map +1 -1
- package/lib/IpAssignment.js +17 -0
- package/lib/IpAssignment.js.map +1 -1
- package/lib/ListObjectsV2.d.ts.map +1 -1
- package/lib/ListObjectsV2.js.map +1 -1
- package/lib/ListObjectsV2Http.d.ts.map +1 -1
- package/lib/ListObjectsV2Http.js.map +1 -1
- package/lib/ListSecrets.d.ts.map +1 -1
- package/lib/ListSecrets.js.map +1 -1
- package/lib/ListSecretsHttp.d.ts.map +1 -1
- package/lib/ListSecretsHttp.js.map +1 -1
- package/lib/Machine.d.ts +26 -1
- package/lib/Machine.d.ts.map +1 -1
- package/lib/Machine.js +16 -1
- package/lib/Machine.js.map +1 -1
- package/lib/MachineContainers.d.ts.map +1 -1
- package/lib/MachineContainers.js.map +1 -1
- package/lib/Metadata.d.ts.map +1 -1
- package/lib/Metadata.js.map +1 -1
- package/lib/MountVolume.d.ts +7 -2
- package/lib/MountVolume.d.ts.map +1 -1
- package/lib/MountVolume.js.map +1 -1
- package/lib/Postgres.d.ts +33 -1
- package/lib/Postgres.d.ts.map +1 -1
- package/lib/Postgres.js +20 -0
- package/lib/Postgres.js.map +1 -1
- package/lib/PostgresMigrations.d.ts.map +1 -1
- package/lib/PostgresMigrations.js.map +1 -1
- package/lib/Providers.d.ts +1 -1
- package/lib/Providers.d.ts.map +1 -1
- package/lib/Providers.js.map +1 -1
- package/lib/PutObject.d.ts.map +1 -1
- package/lib/PutObject.js.map +1 -1
- package/lib/PutObjectHttp.d.ts.map +1 -1
- package/lib/PutObjectHttp.js.map +1 -1
- package/lib/ReadRedis.d.ts.map +1 -1
- package/lib/ReadRedis.js.map +1 -1
- package/lib/ReadRedisHttp.d.ts.map +1 -1
- package/lib/ReadRedisHttp.js.map +1 -1
- package/lib/ReadWriteRedis.d.ts.map +1 -1
- package/lib/ReadWriteRedis.js.map +1 -1
- package/lib/ReadWriteRedisHttp.d.ts.map +1 -1
- package/lib/ReadWriteRedisHttp.js.map +1 -1
- package/lib/Redis.d.ts +21 -1
- package/lib/Redis.d.ts.map +1 -1
- package/lib/Redis.js +28 -0
- package/lib/Redis.js.map +1 -1
- package/lib/RedisBinding.d.ts.map +1 -1
- package/lib/RedisBinding.js.map +1 -1
- package/lib/RedisHttp.d.ts.map +1 -1
- package/lib/RedisHttp.js.map +1 -1
- package/lib/Region.d.ts.map +1 -1
- package/lib/Region.js.map +1 -1
- package/lib/Secret.d.ts +22 -1
- package/lib/Secret.d.ts.map +1 -1
- package/lib/Secret.js +15 -0
- package/lib/Secret.js.map +1 -1
- package/lib/SecretHttp.d.ts.map +1 -1
- package/lib/SecretHttp.js.map +1 -1
- package/lib/SecretKey.d.ts +22 -1
- package/lib/SecretKey.d.ts.map +1 -1
- package/lib/SecretKey.js +15 -0
- package/lib/SecretKey.js.map +1 -1
- package/lib/SecretKeyHttp.d.ts.map +1 -1
- package/lib/SecretKeyHttp.js.map +1 -1
- package/lib/Service.d.ts +96 -21
- package/lib/Service.d.ts.map +1 -1
- package/lib/Service.js +251 -37
- package/lib/Service.js.map +1 -1
- package/lib/Sign.d.ts.map +1 -1
- package/lib/Sign.js.map +1 -1
- package/lib/SignHttp.d.ts.map +1 -1
- package/lib/SignHttp.js.map +1 -1
- package/lib/Sprite.d.ts +22 -3
- package/lib/Sprite.d.ts.map +1 -1
- package/lib/Sprite.js +15 -0
- package/lib/Sprite.js.map +1 -1
- package/lib/SpriteHttp.d.ts.map +1 -1
- package/lib/SpriteHttp.js.map +1 -1
- package/lib/Verify.d.ts.map +1 -1
- package/lib/Verify.js.map +1 -1
- package/lib/VerifyHttp.d.ts.map +1 -1
- package/lib/VerifyHttp.js.map +1 -1
- package/lib/Volume.d.ts +3 -3
- package/lib/Volume.d.ts.map +1 -1
- package/lib/Volume.js +17 -1
- package/lib/Volume.js.map +1 -1
- package/lib/VolumeSnapshot.d.ts +32 -1
- package/lib/VolumeSnapshot.d.ts.map +1 -1
- package/lib/VolumeSnapshot.js +23 -0
- package/lib/VolumeSnapshot.js.map +1 -1
- package/lib/Website/AssetDeployment.d.ts.map +1 -1
- package/lib/Website/AssetDeployment.js.map +1 -1
- package/lib/Website/Astro.d.ts.map +1 -1
- package/lib/Website/Astro.js.map +1 -1
- package/lib/Website/Foldkit.d.ts.map +1 -1
- package/lib/Website/Foldkit.js.map +1 -1
- package/lib/Website/FrameworkSite.d.ts.map +1 -1
- package/lib/Website/FrameworkSite.js.map +1 -1
- package/lib/Website/Nextjs.d.ts.map +1 -1
- package/lib/Website/Nextjs.js.map +1 -1
- package/lib/Website/Nuxt.d.ts.map +1 -1
- package/lib/Website/Nuxt.js.map +1 -1
- package/lib/Website/Octane.d.ts.map +1 -1
- package/lib/Website/Octane.js.map +1 -1
- package/lib/Website/ReactRouter.d.ts.map +1 -1
- package/lib/Website/ReactRouter.js.map +1 -1
- package/lib/Website/SolidStart.d.ts.map +1 -1
- package/lib/Website/SolidStart.js.map +1 -1
- package/lib/Website/StaticSite.d.ts.map +1 -1
- package/lib/Website/StaticSite.js.map +1 -1
- package/lib/Website/SvelteKit.d.ts.map +1 -1
- package/lib/Website/SvelteKit.js.map +1 -1
- package/lib/Website/TanStackStart.d.ts.map +1 -1
- package/lib/Website/TanStackStart.js.map +1 -1
- package/lib/Website/Vinext.d.ts.map +1 -1
- package/lib/Website/Vinext.js.map +1 -1
- package/lib/Website/Vite.d.ts.map +1 -1
- package/lib/Website/Vite.js.map +1 -1
- package/lib/Website/Vocs.d.ts.map +1 -1
- package/lib/Website/Vocs.js.map +1 -1
- package/lib/Website/Waku.d.ts.map +1 -1
- package/lib/Website/Waku.js.map +1 -1
- package/lib/Website/index.d.ts.map +1 -1
- package/lib/Website/index.js.map +1 -1
- package/lib/WriteCertificates.d.ts.map +1 -1
- package/lib/WriteCertificates.js.map +1 -1
- package/lib/WriteCertificatesHttp.d.ts.map +1 -1
- package/lib/WriteCertificatesHttp.js.map +1 -1
- package/lib/WriteRedis.d.ts.map +1 -1
- package/lib/WriteRedis.js.map +1 -1
- package/lib/WriteRedisHttp.d.ts.map +1 -1
- package/lib/WriteRedisHttp.js.map +1 -1
- package/lib/WriteSecret.d.ts.map +1 -1
- package/lib/WriteSecret.js.map +1 -1
- package/lib/WriteSecretHttp.d.ts.map +1 -1
- package/lib/WriteSecretHttp.js.map +1 -1
- package/lib/bluegreen.d.ts +5 -4
- package/lib/bluegreen.d.ts.map +1 -1
- package/lib/bluegreen.js +1 -1
- package/lib/bluegreen.js.map +1 -1
- package/lib/hosted.d.ts +16 -0
- package/lib/hosted.d.ts.map +1 -1
- package/lib/hosted.js +101 -11
- package/lib/hosted.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internal/Oidc.d.ts +15 -0
- package/lib/internal/Oidc.d.ts.map +1 -0
- package/lib/internal/Oidc.js +73 -0
- package/lib/internal/Oidc.js.map +1 -0
- package/lib/internal/RemoteBuilder.d.ts.map +1 -1
- package/lib/internal/RemoteBuilder.js.map +1 -1
- package/lib/leases.d.ts +6 -2
- package/lib/leases.d.ts.map +1 -1
- package/lib/leases.js +25 -5
- package/lib/leases.js.map +1 -1
- package/lib/ports.d.ts.map +1 -1
- package/lib/ports.js.map +1 -1
- package/lib/replicas.d.ts +38 -26
- package/lib/replicas.d.ts.map +1 -1
- package/lib/replicas.js +57 -2
- package/lib/replicas.js.map +1 -1
- package/lib/rpc.d.ts +14 -12
- package/lib/rpc.d.ts.map +1 -1
- package/lib/rpc.js +38 -40
- package/lib/rpc.js.map +1 -1
- package/package.json +15 -15
- package/src/App.ts +36 -3
- package/src/BindService.ts +27 -34
- package/src/Bootstrap.ts +2 -0
- package/src/Bucket.ts +264 -33
- package/src/Certificate.ts +32 -1
- package/src/Credentials.ts +9 -5
- package/src/IpAssignment.ts +31 -1
- package/src/Machine.ts +34 -1
- package/src/MountVolume.ts +5 -2
- package/src/Postgres.ts +43 -1
- package/src/Redis.ts +43 -1
- package/src/Secret.ts +29 -1
- package/src/SecretKey.ts +29 -1
- package/src/Service.ts +389 -70
- package/src/Sprite.ts +34 -8
- package/src/Volume.ts +25 -1
- package/src/VolumeSnapshot.ts +39 -1
- package/src/bluegreen.ts +4 -1
- package/src/hosted.ts +118 -13
- package/src/internal/Oidc.ts +99 -0
- package/src/leases.ts +35 -7
- package/src/replicas.ts +63 -2
- package/src/rpc.ts +37 -40
package/lib/Service.d.ts
CHANGED
|
@@ -2,12 +2,11 @@ import * as machines from "@distilled.cloud/fly-io/machines";
|
|
|
2
2
|
import { AlchemyContext } from "alchemy/AlchemyContext";
|
|
3
3
|
import { Platform, type Main, type MainRpc, type PlatformProps } from "alchemy/Platform";
|
|
4
4
|
import * as Provider from "alchemy/Provider";
|
|
5
|
-
import type { Resource } from "alchemy/Resource";
|
|
5
|
+
import type { LookupMethod, Resource } from "alchemy/Resource";
|
|
6
6
|
import type { ServerHost } from "alchemy/Runtime/Process";
|
|
7
7
|
import { Stack } from "alchemy/Stack";
|
|
8
8
|
import * as Effect from "effect/Effect";
|
|
9
9
|
import * as Layer from "effect/Layer";
|
|
10
|
-
import * as Redacted from "effect/Redacted";
|
|
11
10
|
import { App } from "./App.ts";
|
|
12
11
|
import { type MachineDeploy, type MachineShutdown, type MachineCheck } from "./Deployment.ts";
|
|
13
12
|
import { type FlyBuildOptions, type FlyHostRuntimeContext } from "./hosted.ts";
|
|
@@ -74,18 +73,21 @@ export interface ServiceProps extends PlatformProps {
|
|
|
74
73
|
* @default 7780
|
|
75
74
|
*/
|
|
76
75
|
bindingPort?: number;
|
|
77
|
-
/**
|
|
78
|
-
* Caller token for bound callers. Set automatically from an
|
|
79
|
-
* `Alchemy.Random` child resource; do not pass it.
|
|
80
|
-
* @internal
|
|
81
|
-
*/
|
|
82
|
-
rpcToken?: Redacted.Redacted<string>;
|
|
83
76
|
/**
|
|
84
77
|
* Module entrypoint bundled with rolldown and baked into a Docker
|
|
85
78
|
* image pushed to `registry.fly.io`. Typically `import.meta.url`.
|
|
86
79
|
* A content-hash change updates the workload using the selected deployment strategy.
|
|
80
|
+
* Set this or {@link context}.
|
|
81
|
+
*/
|
|
82
|
+
main?: string;
|
|
83
|
+
/**
|
|
84
|
+
* A Docker build context whose `Dockerfile` builds the Service's image
|
|
85
|
+
* as it is, on a Fly remote builder (or locally with
|
|
86
|
+
* `build: { remote: false }`), for `linux/amd64`. The image's own
|
|
87
|
+
* `CMD` runs. A change to any file in it updates the workload. Set this
|
|
88
|
+
* or {@link main}.
|
|
87
89
|
*/
|
|
88
|
-
|
|
90
|
+
context?: string;
|
|
89
91
|
/**
|
|
90
92
|
* Region or regions to run in (`"iad"`, `["iad", "lhr"]`). The
|
|
91
93
|
* Service runs `count` Machines in each region behind one hostname;
|
|
@@ -207,6 +209,18 @@ export interface ServiceEndpoint {
|
|
|
207
209
|
*/
|
|
208
210
|
url: string | undefined;
|
|
209
211
|
}
|
|
212
|
+
/** An App secret a {@link Service} wrote. Never the plaintext. */
|
|
213
|
+
export interface BoundSecret {
|
|
214
|
+
/**
|
|
215
|
+
* Name of the App secret, scoped to the Service
|
|
216
|
+
* (`ALCHEMY_<hash>_<ENV_VAR>`). The Machine maps it back to its env var.
|
|
217
|
+
*/
|
|
218
|
+
name: string;
|
|
219
|
+
/** Fly's digest of the value after the write. */
|
|
220
|
+
digest: string;
|
|
221
|
+
/** sha256 of `<name>:<value>` for the value written. Never the plaintext. */
|
|
222
|
+
sha256: string;
|
|
223
|
+
}
|
|
210
224
|
export type Service = Resource<"Fly.Service", ServiceProps, {
|
|
211
225
|
/** Whether recovery must finish an interrupted deployment. */
|
|
212
226
|
rolloutPending?: boolean;
|
|
@@ -219,8 +233,19 @@ export type Service = Resource<"Fly.Service", ServiceProps, {
|
|
|
219
233
|
* shared App's network. `undefined` for the organization's default.
|
|
220
234
|
*/
|
|
221
235
|
network?: string;
|
|
222
|
-
/**
|
|
223
|
-
|
|
236
|
+
/**
|
|
237
|
+
* App secrets the Service wrote from bound `Config` and Redacted
|
|
238
|
+
* values, by the env var they set: the scoped secret name, Fly's
|
|
239
|
+
* digest after the write and a sha256 of the value.
|
|
240
|
+
*/
|
|
241
|
+
secrets?: Record<string, BoundSecret>;
|
|
242
|
+
/** App-secrets version that holds {@link secrets}. */
|
|
243
|
+
secretsVersion?: number;
|
|
244
|
+
/**
|
|
245
|
+
* Slug of the organization the App is in. Its Machines' OIDC tokens are
|
|
246
|
+
* issued by `https://oidc.fly.io/{orgSlug}`.
|
|
247
|
+
*/
|
|
248
|
+
orgSlug?: string;
|
|
224
249
|
/** Fly Machine id of replica 0. */
|
|
225
250
|
machineId: string;
|
|
226
251
|
/** Fly Machine ids of every replica. */
|
|
@@ -271,7 +296,20 @@ export type Service = Resource<"Fly.Service", ServiceProps, {
|
|
|
271
296
|
code: {
|
|
272
297
|
hash: string;
|
|
273
298
|
};
|
|
274
|
-
}, ServiceBinding, Providers>;
|
|
299
|
+
}, ServiceBinding, Providers, ServiceLookup>;
|
|
300
|
+
/**
|
|
301
|
+
* Props for {@link Service.lookup}: find a Service this stack doesn't
|
|
302
|
+
* manage by its App, and its name when the App holds several.
|
|
303
|
+
*/
|
|
304
|
+
export interface ServiceLookup {
|
|
305
|
+
/** Fly App name the Service's Machines run in. */
|
|
306
|
+
appName: string;
|
|
307
|
+
/**
|
|
308
|
+
* Machine name of the Service, for an App that runs several. Omit it to
|
|
309
|
+
* take every Machine in the App.
|
|
310
|
+
*/
|
|
311
|
+
name?: string;
|
|
312
|
+
}
|
|
275
313
|
export declare const isService: (value: unknown) => value is Service;
|
|
276
314
|
export type ServiceServices = ServerHost;
|
|
277
315
|
/**
|
|
@@ -460,9 +498,9 @@ export type ServiceRuntimeContext = FlyHostRuntimeContext;
|
|
|
460
498
|
* ### Call another Service
|
|
461
499
|
* A Service can return methods next to `fetch`. Another Service calls
|
|
462
500
|
* them by binding it with {@link bindService}, which returns a typed
|
|
463
|
-
* client. Binding makes the caller deploy after the Service
|
|
464
|
-
* callers that bind a Service
|
|
465
|
-
*
|
|
501
|
+
* client. Binding makes the caller deploy after the Service and records
|
|
502
|
+
* the caller's App on it, so only callers that bind a Service can call
|
|
503
|
+
* its methods.
|
|
466
504
|
*
|
|
467
505
|
* **Example:** A private Service with methods
|
|
468
506
|
* ```typescript
|
|
@@ -496,9 +534,10 @@ export type ServiceRuntimeContext = FlyHostRuntimeContext;
|
|
|
496
534
|
* ```
|
|
497
535
|
*
|
|
498
536
|
* Calls use plain HTTP to `privateUrl` inside Fly's WireGuard-encrypted
|
|
499
|
-
* private network. The Service accepts a method call only with
|
|
500
|
-
*
|
|
501
|
-
*
|
|
537
|
+
* private network. The Service accepts a method call only with a
|
|
538
|
+
* `Fly-Src` signature from Fly's proxy naming the App of a Service that
|
|
539
|
+
* binds it, so neither the public internet nor any other App can call
|
|
540
|
+
* it, and no caller holds a key. A public
|
|
502
541
|
* Service publishes an extra plain-HTTP port for bound callers,
|
|
503
542
|
* `bindingPort` (default 7780), since its own ports are an HTTPS
|
|
504
543
|
* redirect and HTTPS. `client.fetch` sends a request to the Service's
|
|
@@ -649,8 +688,18 @@ export type ServiceRuntimeContext = FlyHostRuntimeContext;
|
|
|
649
688
|
*
|
|
650
689
|
* ### Config
|
|
651
690
|
* Yield `Config` in init. Alchemy reads the value from the env of
|
|
652
|
-
* whoever deploys and
|
|
653
|
-
* to copy it into `env
|
|
691
|
+
* whoever deploys and stores it as a secret on the Service's App, so
|
|
692
|
+
* there is no need to copy it into `env` and it never appears in the
|
|
693
|
+
* Machine config. Redacted outputs of bound resources are stored the
|
|
694
|
+
* same way. The secret's name is scoped to the Service
|
|
695
|
+
* (`ALCHEMY_<hash>_API_KEY`) and the Machine maps it back to `API_KEY`,
|
|
696
|
+
* so it never collides with `Fly.Secret`, `fly secrets set` or an
|
|
697
|
+
* attachment. The bound value wins over an App secret already named
|
|
698
|
+
* `API_KEY`, which stays in the App untouched. The Machine sees the
|
|
699
|
+
* App's other secrets as they were at deploy; one set later with
|
|
700
|
+
* `fly secrets set` reaches it on the next deploy. A Service in a shared
|
|
701
|
+
* App (`app`) writes the values into the Machine env instead, because
|
|
702
|
+
* Fly gives every App secret to every Machine in the App.
|
|
654
703
|
*
|
|
655
704
|
* `Config.Redacted("API_KEY")` is `Redacted<string>`. Unwrap with
|
|
656
705
|
* `Redacted.value` only where you need the raw string.
|
|
@@ -788,6 +837,20 @@ export type ServiceRuntimeContext = FlyHostRuntimeContext;
|
|
|
788
837
|
* ) {}
|
|
789
838
|
* ```
|
|
790
839
|
*
|
|
840
|
+
* ### Run your own image
|
|
841
|
+
* `context` builds a directory's `Dockerfile` as it is, on a Fly remote
|
|
842
|
+
* builder, and runs the image's own `CMD`. A change to any file in the
|
|
843
|
+
* directory updates the Machines.
|
|
844
|
+
*
|
|
845
|
+
* **Example:** A Dockerfile build
|
|
846
|
+
* ```typescript
|
|
847
|
+
* const worker = yield* Fly.Service("Worker", {
|
|
848
|
+
* context: "./worker",
|
|
849
|
+
* public: false,
|
|
850
|
+
* services: [],
|
|
851
|
+
* });
|
|
852
|
+
* ```
|
|
853
|
+
*
|
|
791
854
|
* ### Custom proxy services
|
|
792
855
|
* `services` defaults to HTTP 80 (redirecting to HTTPS) + HTTPS 443
|
|
793
856
|
* toward `port`, or plain HTTP 80 for a private Service. Pass a custom
|
|
@@ -950,10 +1013,22 @@ export type ServiceRuntimeContext = FlyHostRuntimeContext;
|
|
|
950
1013
|
* See the [deployment guide](/fly/compute/deployments) for recovery,
|
|
951
1014
|
* idle capacity, application responsibilities, and verification limits.
|
|
952
1015
|
*
|
|
1016
|
+
* ### Looking up an existing Service
|
|
1017
|
+
* `Service.lookup` references a Service Alchemy doesn't manage (deployed
|
|
1018
|
+
* with `fly deploy` or by another stack). It is read during plan/deploy,
|
|
1019
|
+
* never created, updated or deleted, and `url`, `endpoints` and
|
|
1020
|
+
* `privateUrl` come from the Machines and addresses Fly reports.
|
|
1021
|
+
*
|
|
1022
|
+
* **Example:** Call a Service another stack deployed
|
|
1023
|
+
* ```typescript
|
|
1024
|
+
* const api = Fly.Service.lookup({ appName: "my-api" });
|
|
1025
|
+
* const url = api.privateUrl;
|
|
1026
|
+
* ```
|
|
1027
|
+
*
|
|
953
1028
|
* @resource
|
|
954
1029
|
* @product Service
|
|
955
1030
|
*/
|
|
956
|
-
export declare const Service: Platform<Service, ServiceServices, ServiceShape, ServiceRuntimeContext>;
|
|
1031
|
+
export declare const Service: Platform<Service, ServiceServices, ServiceShape, ServiceRuntimeContext> & LookupMethod<Service>;
|
|
957
1032
|
declare const ServiceNotCreated_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 & {
|
|
958
1033
|
readonly _tag: "Fly.ServiceNotCreated";
|
|
959
1034
|
} & Readonly<A>;
|
package/lib/Service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.d.ts","
|
|
1
|
+
{"version":3,"file":"Service.d.ts","sources":["../src/Service.ts"],"names":[],"mappings":"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"}
|