@alchemy.run/fly 2.0.0-beta.85 → 2.0.0-beta.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/lib/App.d.ts +26 -4
  2. package/lib/App.d.ts.map +1 -1
  3. package/lib/App.js +25 -2
  4. package/lib/App.js.map +1 -1
  5. package/lib/AuthProvider.d.ts +1 -1
  6. package/lib/AuthProvider.d.ts.map +1 -1
  7. package/lib/AuthProvider.js.map +1 -1
  8. package/lib/BindService.d.ts +7 -7
  9. package/lib/BindService.d.ts.map +1 -1
  10. package/lib/BindService.js +20 -27
  11. package/lib/BindService.js.map +1 -1
  12. package/lib/Bootstrap.d.ts.map +1 -1
  13. package/lib/Bootstrap.js +2 -1
  14. package/lib/Bootstrap.js.map +1 -1
  15. package/lib/Bucket.d.ts +36 -2
  16. package/lib/Bucket.d.ts.map +1 -1
  17. package/lib/Bucket.js +181 -28
  18. package/lib/Bucket.js.map +1 -1
  19. package/lib/BucketBinding.d.ts.map +1 -1
  20. package/lib/BucketBinding.js.map +1 -1
  21. package/lib/Catalog.d.ts.map +1 -1
  22. package/lib/Catalog.js.map +1 -1
  23. package/lib/Certificate.d.ts +25 -1
  24. package/lib/Certificate.d.ts.map +1 -1
  25. package/lib/Certificate.js +18 -0
  26. package/lib/Certificate.js.map +1 -1
  27. package/lib/Checkpoint.d.ts.map +1 -1
  28. package/lib/Checkpoint.js.map +1 -1
  29. package/lib/CheckpointHttp.d.ts.map +1 -1
  30. package/lib/CheckpointHttp.js.map +1 -1
  31. package/lib/ConnectPostgres.d.ts.map +1 -1
  32. package/lib/ConnectPostgres.js.map +1 -1
  33. package/lib/ConnectPostgresHttp.d.ts.map +1 -1
  34. package/lib/ConnectPostgresHttp.js.map +1 -1
  35. package/lib/Contributions.d.ts +1 -1
  36. package/lib/Contributions.d.ts.map +1 -1
  37. package/lib/Contributions.js.map +1 -1
  38. package/lib/Credentials.d.ts +4 -3
  39. package/lib/Credentials.d.ts.map +1 -1
  40. package/lib/Credentials.js +9 -5
  41. package/lib/Credentials.js.map +1 -1
  42. package/lib/Decrypt.d.ts.map +1 -1
  43. package/lib/Decrypt.js.map +1 -1
  44. package/lib/DecryptHttp.d.ts.map +1 -1
  45. package/lib/DecryptHttp.js.map +1 -1
  46. package/lib/DeleteObject.d.ts.map +1 -1
  47. package/lib/DeleteObject.js.map +1 -1
  48. package/lib/DeleteObjectHttp.d.ts.map +1 -1
  49. package/lib/DeleteObjectHttp.js.map +1 -1
  50. package/lib/Deployment.d.ts.map +1 -1
  51. package/lib/Deployment.js.map +1 -1
  52. package/lib/DeploymentImages.d.ts.map +1 -1
  53. package/lib/DeploymentImages.js.map +1 -1
  54. package/lib/DeploymentState.d.ts.map +1 -1
  55. package/lib/DeploymentState.js.map +1 -1
  56. package/lib/Encrypt.d.ts.map +1 -1
  57. package/lib/Encrypt.js.map +1 -1
  58. package/lib/EncryptHttp.d.ts.map +1 -1
  59. package/lib/EncryptHttp.js.map +1 -1
  60. package/lib/Environment.d.ts.map +1 -1
  61. package/lib/Environment.js.map +1 -1
  62. package/lib/Errors.d.ts.map +1 -1
  63. package/lib/Errors.js.map +1 -1
  64. package/lib/Exec.d.ts.map +1 -1
  65. package/lib/Exec.js.map +1 -1
  66. package/lib/ExecHttp.d.ts.map +1 -1
  67. package/lib/ExecHttp.js.map +1 -1
  68. package/lib/GetObject.d.ts.map +1 -1
  69. package/lib/GetObject.js.map +1 -1
  70. package/lib/GetObjectHttp.d.ts.map +1 -1
  71. package/lib/GetObjectHttp.js.map +1 -1
  72. package/lib/GetSecret.d.ts.map +1 -1
  73. package/lib/GetSecret.js.map +1 -1
  74. package/lib/GetSecretHttp.d.ts.map +1 -1
  75. package/lib/GetSecretHttp.js.map +1 -1
  76. package/lib/HeadObject.d.ts.map +1 -1
  77. package/lib/HeadObject.js.map +1 -1
  78. package/lib/HeadObjectHttp.d.ts.map +1 -1
  79. package/lib/HeadObjectHttp.js.map +1 -1
  80. package/lib/IpAssignment.d.ts +24 -1
  81. package/lib/IpAssignment.d.ts.map +1 -1
  82. package/lib/IpAssignment.js +17 -0
  83. package/lib/IpAssignment.js.map +1 -1
  84. package/lib/ListObjectsV2.d.ts.map +1 -1
  85. package/lib/ListObjectsV2.js.map +1 -1
  86. package/lib/ListObjectsV2Http.d.ts.map +1 -1
  87. package/lib/ListObjectsV2Http.js.map +1 -1
  88. package/lib/ListSecrets.d.ts.map +1 -1
  89. package/lib/ListSecrets.js.map +1 -1
  90. package/lib/ListSecretsHttp.d.ts.map +1 -1
  91. package/lib/ListSecretsHttp.js.map +1 -1
  92. package/lib/Machine.d.ts +26 -1
  93. package/lib/Machine.d.ts.map +1 -1
  94. package/lib/Machine.js +16 -1
  95. package/lib/Machine.js.map +1 -1
  96. package/lib/MachineContainers.d.ts.map +1 -1
  97. package/lib/MachineContainers.js.map +1 -1
  98. package/lib/Metadata.d.ts.map +1 -1
  99. package/lib/Metadata.js.map +1 -1
  100. package/lib/MountVolume.d.ts +7 -2
  101. package/lib/MountVolume.d.ts.map +1 -1
  102. package/lib/MountVolume.js.map +1 -1
  103. package/lib/Postgres.d.ts +33 -1
  104. package/lib/Postgres.d.ts.map +1 -1
  105. package/lib/Postgres.js +20 -0
  106. package/lib/Postgres.js.map +1 -1
  107. package/lib/PostgresMigrations.d.ts.map +1 -1
  108. package/lib/PostgresMigrations.js.map +1 -1
  109. package/lib/Providers.d.ts +1 -1
  110. package/lib/Providers.d.ts.map +1 -1
  111. package/lib/Providers.js.map +1 -1
  112. package/lib/PutObject.d.ts.map +1 -1
  113. package/lib/PutObject.js.map +1 -1
  114. package/lib/PutObjectHttp.d.ts.map +1 -1
  115. package/lib/PutObjectHttp.js.map +1 -1
  116. package/lib/ReadRedis.d.ts.map +1 -1
  117. package/lib/ReadRedis.js.map +1 -1
  118. package/lib/ReadRedisHttp.d.ts.map +1 -1
  119. package/lib/ReadRedisHttp.js.map +1 -1
  120. package/lib/ReadWriteRedis.d.ts.map +1 -1
  121. package/lib/ReadWriteRedis.js.map +1 -1
  122. package/lib/ReadWriteRedisHttp.d.ts.map +1 -1
  123. package/lib/ReadWriteRedisHttp.js.map +1 -1
  124. package/lib/Redis.d.ts +21 -1
  125. package/lib/Redis.d.ts.map +1 -1
  126. package/lib/Redis.js +28 -0
  127. package/lib/Redis.js.map +1 -1
  128. package/lib/RedisBinding.d.ts.map +1 -1
  129. package/lib/RedisBinding.js.map +1 -1
  130. package/lib/RedisHttp.d.ts.map +1 -1
  131. package/lib/RedisHttp.js.map +1 -1
  132. package/lib/Region.d.ts.map +1 -1
  133. package/lib/Region.js.map +1 -1
  134. package/lib/Secret.d.ts +22 -1
  135. package/lib/Secret.d.ts.map +1 -1
  136. package/lib/Secret.js +15 -0
  137. package/lib/Secret.js.map +1 -1
  138. package/lib/SecretHttp.d.ts.map +1 -1
  139. package/lib/SecretHttp.js.map +1 -1
  140. package/lib/SecretKey.d.ts +22 -1
  141. package/lib/SecretKey.d.ts.map +1 -1
  142. package/lib/SecretKey.js +15 -0
  143. package/lib/SecretKey.js.map +1 -1
  144. package/lib/SecretKeyHttp.d.ts.map +1 -1
  145. package/lib/SecretKeyHttp.js.map +1 -1
  146. package/lib/Service.d.ts +96 -21
  147. package/lib/Service.d.ts.map +1 -1
  148. package/lib/Service.js +251 -37
  149. package/lib/Service.js.map +1 -1
  150. package/lib/Sign.d.ts.map +1 -1
  151. package/lib/Sign.js.map +1 -1
  152. package/lib/SignHttp.d.ts.map +1 -1
  153. package/lib/SignHttp.js.map +1 -1
  154. package/lib/Sprite.d.ts +22 -3
  155. package/lib/Sprite.d.ts.map +1 -1
  156. package/lib/Sprite.js +15 -0
  157. package/lib/Sprite.js.map +1 -1
  158. package/lib/SpriteHttp.d.ts.map +1 -1
  159. package/lib/SpriteHttp.js.map +1 -1
  160. package/lib/Verify.d.ts.map +1 -1
  161. package/lib/Verify.js.map +1 -1
  162. package/lib/VerifyHttp.d.ts.map +1 -1
  163. package/lib/VerifyHttp.js.map +1 -1
  164. package/lib/Volume.d.ts +3 -3
  165. package/lib/Volume.d.ts.map +1 -1
  166. package/lib/Volume.js +17 -1
  167. package/lib/Volume.js.map +1 -1
  168. package/lib/VolumeSnapshot.d.ts +32 -1
  169. package/lib/VolumeSnapshot.d.ts.map +1 -1
  170. package/lib/VolumeSnapshot.js +23 -0
  171. package/lib/VolumeSnapshot.js.map +1 -1
  172. package/lib/Website/AssetDeployment.d.ts.map +1 -1
  173. package/lib/Website/AssetDeployment.js.map +1 -1
  174. package/lib/Website/Astro.d.ts.map +1 -1
  175. package/lib/Website/Astro.js.map +1 -1
  176. package/lib/Website/Foldkit.d.ts.map +1 -1
  177. package/lib/Website/Foldkit.js.map +1 -1
  178. package/lib/Website/FrameworkSite.d.ts.map +1 -1
  179. package/lib/Website/FrameworkSite.js.map +1 -1
  180. package/lib/Website/Nextjs.d.ts.map +1 -1
  181. package/lib/Website/Nextjs.js.map +1 -1
  182. package/lib/Website/Nuxt.d.ts.map +1 -1
  183. package/lib/Website/Nuxt.js.map +1 -1
  184. package/lib/Website/Octane.d.ts.map +1 -1
  185. package/lib/Website/Octane.js.map +1 -1
  186. package/lib/Website/ReactRouter.d.ts.map +1 -1
  187. package/lib/Website/ReactRouter.js.map +1 -1
  188. package/lib/Website/SolidStart.d.ts.map +1 -1
  189. package/lib/Website/SolidStart.js.map +1 -1
  190. package/lib/Website/StaticSite.d.ts.map +1 -1
  191. package/lib/Website/StaticSite.js.map +1 -1
  192. package/lib/Website/SvelteKit.d.ts.map +1 -1
  193. package/lib/Website/SvelteKit.js.map +1 -1
  194. package/lib/Website/TanStackStart.d.ts.map +1 -1
  195. package/lib/Website/TanStackStart.js.map +1 -1
  196. package/lib/Website/Vinext.d.ts.map +1 -1
  197. package/lib/Website/Vinext.js.map +1 -1
  198. package/lib/Website/Vite.d.ts.map +1 -1
  199. package/lib/Website/Vite.js.map +1 -1
  200. package/lib/Website/Vocs.d.ts.map +1 -1
  201. package/lib/Website/Vocs.js.map +1 -1
  202. package/lib/Website/Waku.d.ts.map +1 -1
  203. package/lib/Website/Waku.js.map +1 -1
  204. package/lib/Website/index.d.ts.map +1 -1
  205. package/lib/Website/index.js.map +1 -1
  206. package/lib/WriteCertificates.d.ts.map +1 -1
  207. package/lib/WriteCertificates.js.map +1 -1
  208. package/lib/WriteCertificatesHttp.d.ts.map +1 -1
  209. package/lib/WriteCertificatesHttp.js.map +1 -1
  210. package/lib/WriteRedis.d.ts.map +1 -1
  211. package/lib/WriteRedis.js.map +1 -1
  212. package/lib/WriteRedisHttp.d.ts.map +1 -1
  213. package/lib/WriteRedisHttp.js.map +1 -1
  214. package/lib/WriteSecret.d.ts.map +1 -1
  215. package/lib/WriteSecret.js.map +1 -1
  216. package/lib/WriteSecretHttp.d.ts.map +1 -1
  217. package/lib/WriteSecretHttp.js.map +1 -1
  218. package/lib/bluegreen.d.ts +5 -4
  219. package/lib/bluegreen.d.ts.map +1 -1
  220. package/lib/bluegreen.js +1 -1
  221. package/lib/bluegreen.js.map +1 -1
  222. package/lib/hosted.d.ts +16 -0
  223. package/lib/hosted.d.ts.map +1 -1
  224. package/lib/hosted.js +101 -11
  225. package/lib/hosted.js.map +1 -1
  226. package/lib/index.d.ts.map +1 -1
  227. package/lib/index.js.map +1 -1
  228. package/lib/internal/Oidc.d.ts +15 -0
  229. package/lib/internal/Oidc.d.ts.map +1 -0
  230. package/lib/internal/Oidc.js +73 -0
  231. package/lib/internal/Oidc.js.map +1 -0
  232. package/lib/internal/RemoteBuilder.d.ts.map +1 -1
  233. package/lib/internal/RemoteBuilder.js.map +1 -1
  234. package/lib/leases.d.ts +6 -2
  235. package/lib/leases.d.ts.map +1 -1
  236. package/lib/leases.js +25 -5
  237. package/lib/leases.js.map +1 -1
  238. package/lib/ports.d.ts.map +1 -1
  239. package/lib/ports.js.map +1 -1
  240. package/lib/replicas.d.ts +38 -26
  241. package/lib/replicas.d.ts.map +1 -1
  242. package/lib/replicas.js +57 -2
  243. package/lib/replicas.js.map +1 -1
  244. package/lib/rpc.d.ts +14 -12
  245. package/lib/rpc.d.ts.map +1 -1
  246. package/lib/rpc.js +38 -40
  247. package/lib/rpc.js.map +1 -1
  248. package/package.json +15 -15
  249. package/src/App.ts +36 -3
  250. package/src/BindService.ts +27 -34
  251. package/src/Bootstrap.ts +2 -0
  252. package/src/Bucket.ts +264 -33
  253. package/src/Certificate.ts +32 -1
  254. package/src/Credentials.ts +9 -5
  255. package/src/IpAssignment.ts +31 -1
  256. package/src/Machine.ts +34 -1
  257. package/src/MountVolume.ts +5 -2
  258. package/src/Postgres.ts +43 -1
  259. package/src/Redis.ts +43 -1
  260. package/src/Secret.ts +29 -1
  261. package/src/SecretKey.ts +29 -1
  262. package/src/Service.ts +389 -70
  263. package/src/Sprite.ts +34 -8
  264. package/src/Volume.ts +25 -1
  265. package/src/VolumeSnapshot.ts +39 -1
  266. package/src/bluegreen.ts +4 -1
  267. package/src/hosted.ts +118 -13
  268. package/src/internal/Oidc.ts +99 -0
  269. package/src/leases.ts +35 -7
  270. package/src/replicas.ts +63 -2
  271. package/src/rpc.ts +37 -40
package/lib/Service.js CHANGED
@@ -5,9 +5,9 @@ import * as Bundle from "alchemy/Bundle/Bundle";
5
5
  import { deepEqual, isResolved } from "alchemy/Diff";
6
6
  import { Platform } from "alchemy/Platform";
7
7
  import * as Provider from "alchemy/Provider";
8
- import { makeRandom } from "alchemy/Random";
9
8
  import { packEnvValue } from "alchemy/RuntimeContext";
10
9
  import { Stack } from "alchemy/Stack";
10
+ import { sha256 } from "alchemy/Util/sha256";
11
11
  import * as Data from "effect/Data";
12
12
  import * as Effect from "effect/Effect";
13
13
  import * as Layer from "effect/Layer";
@@ -24,8 +24,8 @@ import { bindingPortOf, findPortConflict, portsOfFly } from "./ports.js";
24
24
  import { attachPostgresSecrets } from "./Postgres.js";
25
25
  import { attachRedisSecrets } from "./Redis.js";
26
26
  import { regionList } from "./Region.js";
27
- import { deleteReplicaSet, hasPublishedService, listReplicaSets, observeReplicaSet, reconcileReplicas, resolveCount, sameServices, toFlyService, volumeIdsOf, } from "./replicas.js";
28
- import { BINDING_PORT_ENV, DEFAULT_BINDING_PORT, RPC_ORG_ENV, RPC_TOKEN_ENV } from "./rpc.js";
27
+ import { deleteReplicaSet, hasPublishedService, listReplicaSets, lookupReplicaSet, observeReplicaSet, reconcileReplicas, resolveCount, sameServices, toFlyService, volumeIdsOf, } from "./replicas.js";
28
+ import { BINDING_PORT_ENV, DEFAULT_BINDING_PORT, RPC_CALLERS_ENV, RPC_ORG_ENV } from "./rpc.js";
29
29
  const DEFAULT_REGION = "iad";
30
30
  const DEFAULT_CPU_KIND = "shared";
31
31
  const DEFAULT_CPUS = 1;
@@ -212,9 +212,9 @@ export const isService = (value) => typeof value === "object" &&
212
212
  * ### Call another Service
213
213
  * A Service can return methods next to `fetch`. Another Service calls
214
214
  * them by binding it with {@link bindService}, which returns a typed
215
- * client. Binding makes the caller deploy after the Service, and only
216
- * callers that bind a Service receive its caller token, so only they
217
- * can call its methods.
215
+ * client. Binding makes the caller deploy after the Service and records
216
+ * the caller's App on it, so only callers that bind a Service can call
217
+ * its methods.
218
218
  *
219
219
  * **Example:** A private Service with methods
220
220
  * ```typescript
@@ -248,9 +248,10 @@ export const isService = (value) => typeof value === "object" &&
248
248
  * ```
249
249
  *
250
250
  * Calls use plain HTTP to `privateUrl` inside Fly's WireGuard-encrypted
251
- * private network. The Service accepts a method call only with its
252
- * caller token and a `Fly-Src` signature from Fly's proxy for the same
253
- * organization, so the public internet can never call it. A public
251
+ * private network. The Service accepts a method call only with a
252
+ * `Fly-Src` signature from Fly's proxy naming the App of a Service that
253
+ * binds it, so neither the public internet nor any other App can call
254
+ * it, and no caller holds a key. A public
254
255
  * Service publishes an extra plain-HTTP port for bound callers,
255
256
  * `bindingPort` (default 7780), since its own ports are an HTTPS
256
257
  * redirect and HTTPS. `client.fetch` sends a request to the Service's
@@ -401,8 +402,18 @@ export const isService = (value) => typeof value === "object" &&
401
402
  *
402
403
  * ### Config
403
404
  * Yield `Config` in init. Alchemy reads the value from the env of
404
- * whoever deploys and writes it onto the Machine, so there is no need
405
- * to copy it into `env`.
405
+ * whoever deploys and stores it as a secret on the Service's App, so
406
+ * there is no need to copy it into `env` and it never appears in the
407
+ * Machine config. Redacted outputs of bound resources are stored the
408
+ * same way. The secret's name is scoped to the Service
409
+ * (`ALCHEMY_<hash>_API_KEY`) and the Machine maps it back to `API_KEY`,
410
+ * so it never collides with `Fly.Secret`, `fly secrets set` or an
411
+ * attachment. The bound value wins over an App secret already named
412
+ * `API_KEY`, which stays in the App untouched. The Machine sees the
413
+ * App's other secrets as they were at deploy; one set later with
414
+ * `fly secrets set` reaches it on the next deploy. A Service in a shared
415
+ * App (`app`) writes the values into the Machine env instead, because
416
+ * Fly gives every App secret to every Machine in the App.
406
417
  *
407
418
  * `Config.Redacted("API_KEY")` is `Redacted<string>`. Unwrap with
408
419
  * `Redacted.value` only where you need the raw string.
@@ -540,6 +551,20 @@ export const isService = (value) => typeof value === "object" &&
540
551
  * ) {}
541
552
  * ```
542
553
  *
554
+ * ### Run your own image
555
+ * `context` builds a directory's `Dockerfile` as it is, on a Fly remote
556
+ * builder, and runs the image's own `CMD`. A change to any file in the
557
+ * directory updates the Machines.
558
+ *
559
+ * **Example:** A Dockerfile build
560
+ * ```typescript
561
+ * const worker = yield* Fly.Service("Worker", {
562
+ * context: "./worker",
563
+ * public: false,
564
+ * services: [],
565
+ * });
566
+ * ```
567
+ *
543
568
  * ### Custom proxy services
544
569
  * `services` defaults to HTTP 80 (redirecting to HTTPS) + HTTPS 443
545
570
  * toward `port`, or plain HTTP 80 for a private Service. Pass a custom
@@ -702,6 +727,18 @@ export const isService = (value) => typeof value === "object" &&
702
727
  * See the [deployment guide](/fly/compute/deployments) for recovery,
703
728
  * idle capacity, application responsibilities, and verification limits.
704
729
  *
730
+ * ### Looking up an existing Service
731
+ * `Service.lookup` references a Service Alchemy doesn't manage (deployed
732
+ * with `fly deploy` or by another stack). It is read during plan/deploy,
733
+ * never created, updated or deleted, and `url`, `endpoints` and
734
+ * `privateUrl` come from the Machines and addresses Fly reports.
735
+ *
736
+ * **Example:** Call a Service another stack deployed
737
+ * ```typescript
738
+ * const api = Fly.Service.lookup({ appName: "my-api" });
739
+ * const url = api.privateUrl;
740
+ * ```
741
+ *
705
742
  * @resource
706
743
  * @product Service
707
744
  */
@@ -716,8 +753,6 @@ export const Service = Platform("Fly.Service", {
716
753
  const app = Effect.isEffect(props.app)
717
754
  ? yield* props.app
718
755
  : props.app;
719
- // Only callers that bind this Service receive the token.
720
- const rpcToken = yield* makeRandom(`${id}RpcToken`);
721
756
  if (app !== undefined) {
722
757
  // Report the ports this Service publishes so the App can reject
723
758
  // two Services on the same port before either one is deployed.
@@ -727,7 +762,7 @@ export const Service = Platform("Fly.Service", {
727
762
  bindingPort: props.bindingPort,
728
763
  });
729
764
  }
730
- return { ...props, app, rpcToken };
765
+ return { ...props, app };
731
766
  }),
732
767
  });
733
768
  export class ServiceNotCreated extends Data.TaggedError("Fly.ServiceNotCreated") {
@@ -763,6 +798,104 @@ const toFlyGuest = (guest) => {
763
798
  fly.gpus = guest.gpus;
764
799
  return fly;
765
800
  };
801
+ /**
802
+ * Prefix of the App secrets a Service writes. Scoped to its FQN so they
803
+ * never share a name with `Fly.Secret`, `fly secrets set`, the
804
+ * Redis/Postgres/Bucket attachments, or another Service.
805
+ */
806
+ const boundSecretPrefix = Effect.fn(function* (fqn) {
807
+ const hash = yield* sha256(fqn);
808
+ return `ALCHEMY_${hash.slice(0, 8).toUpperCase()}_`;
809
+ });
810
+ /** A secret some Service wrote under its {@link boundSecretPrefix}. */
811
+ const SCOPED_SECRET = /^ALCHEMY_[0-9A-F]{8}_/;
812
+ /**
813
+ * Store bound `Config` and Redacted values as App secrets under names
814
+ * scoped to the Service; the Machine config maps each back to its env var
815
+ * (see {@link secretMappings}). Fly's digest is not a hash Alchemy can
816
+ * compute, so a value is unchanged only when its sha256 matches the last
817
+ * write and Fly still reports that write's digest. Deletes secrets under
818
+ * the Service's prefix that are no longer bound, including ones a crash
819
+ * left out of state; never touches any other secret. Returns what it now
820
+ * owns, the App's other secrets the Machine should still see, and the
821
+ * App-secrets version Machines must reach.
822
+ */
823
+ const syncBoundSecrets = Effect.fn(function* (appName, fqn, desired, previous) {
824
+ if (Object.keys(desired).length === 0 && Object.keys(previous.secrets).length === 0) {
825
+ return { secrets: {}, others: [], version: previous.version };
826
+ }
827
+ const prefix = yield* boundSecretPrefix(fqn);
828
+ const listDigests = machines
829
+ .listSecrets({ app_name: appName, show_secrets: false })
830
+ .pipe(Effect.map((listed) => new Map((listed.secrets ?? []).flatMap((secret) => secret.name === undefined ? [] : [[secret.name, secret.digest ?? ""]]))));
831
+ const observed = yield* listDigests;
832
+ const planned = yield* Effect.forEach(Object.entries(desired), ([envVar, value]) =>
833
+ // Salted with the scoped name, so equal values on different Services
834
+ // or Apps never share a hash in state.
835
+ sha256(`${prefix}${envVar}:${Redacted.value(value)}`).pipe(Effect.map((hash) => ({ envVar, name: `${prefix}${envVar}`, value, hash }))), { concurrency: "unbounded" });
836
+ const isUnchanged = ({ envVar, name, hash }) => {
837
+ const last = previous.secrets[envVar];
838
+ return (last !== undefined &&
839
+ last.name === name &&
840
+ last.sha256 === hash &&
841
+ observed.get(name) === last.digest);
842
+ };
843
+ const kept = planned.filter(isUnchanged);
844
+ const changed = planned.filter((entry) => !isUnchanged(entry));
845
+ const unbound = [...observed.keys()].filter((name) => name.startsWith(prefix) && !(name.slice(prefix.length) in desired));
846
+ const write = changed.length === 0
847
+ ? Effect.succeed({ version: undefined, written: [] })
848
+ : Effect.gen(function* () {
849
+ const response = yield* machines.updateSecrets({
850
+ app_name: appName,
851
+ values: Object.fromEntries(changed.map(({ name, value }) => [name, value])),
852
+ });
853
+ const digests = yield* listDigests;
854
+ return {
855
+ version: response.version ?? response.Version,
856
+ written: changed.map(({ envVar, name, hash }) => [
857
+ envVar,
858
+ { name, digest: digests.get(name) ?? "", sha256: hash },
859
+ ]),
860
+ };
861
+ });
862
+ const remove = Effect.forEach(unbound, (name) => machines.deleteSecret({ app_name: appName, secret_name: name }).pipe(Effect.map((response) => response.version ?? response.Version), Effect.catchTag("NotFound", () => Effect.succeed(undefined))), { concurrency: "unbounded" });
863
+ const [{ version: writeVersion, written }, deleteVersions] = yield* Effect.all([write, remove], {
864
+ concurrency: "unbounded",
865
+ });
866
+ const secrets = Object.fromEntries([
867
+ ...kept.map(({ envVar }) => [envVar, previous.secrets[envVar]]),
868
+ ...written,
869
+ ]);
870
+ const versions = [writeVersion, ...deleteVersions].filter((version) => version !== undefined && Number.isSafeInteger(version));
871
+ // A bound value wins over an App secret with the same env var name, as
872
+ // a Machine env var did; that secret stays in the App untouched.
873
+ const others = [...observed.keys()]
874
+ .filter((name) => !SCOPED_SECRET.test(name) && !(name in desired))
875
+ .sort();
876
+ return {
877
+ secrets,
878
+ others,
879
+ version: versions.length > 0 ? Math.max(...versions) : previous.version,
880
+ };
881
+ });
882
+ /**
883
+ * Fly maps a process's `secrets` entries from a scoped App secret to the
884
+ * env var the program reads, but only with `ignore_app_secrets`, which
885
+ * hides every App secret the process does not list. So the App's other
886
+ * secrets (attachments, `fly secrets set`) are listed under their own
887
+ * names, as they were at deploy.
888
+ */
889
+ const secretMappings = (bound) => {
890
+ const mapped = Object.entries(bound.secrets).map(([envVar, secret]) => ({
891
+ env_var: envVar,
892
+ name: secret.name,
893
+ }));
894
+ if (mapped.length === 0)
895
+ return undefined;
896
+ const entries = [...mapped, ...bound.others.map((name) => ({ env_var: name, name }))].sort((left, right) => left.env_var.localeCompare(right.env_var));
897
+ return [{ secrets: entries, ignore_app_secrets: true }];
898
+ };
766
899
  const desiredEnv = (props, bindingEnv, alchemyEnv, port) => ({
767
900
  ...toEnv(bindingEnv),
768
901
  ...alchemyEnv,
@@ -787,6 +920,7 @@ const buildConfig = (input) => ({
787
920
  mounts: input.mounts.length > 0 ? input.mounts : undefined,
788
921
  metadata: input.metadata,
789
922
  statics: input.statics !== undefined && input.statics.length > 0 ? input.statics : undefined,
923
+ processes: input.processes,
790
924
  });
791
925
  const sameImage = (machine, image) => {
792
926
  const configImage = machine.config?.image;
@@ -827,6 +961,17 @@ const sameStatics = (observed, desired) => {
827
961
  }));
828
962
  return deepEqual(normalize(observed), normalize(desired), { stripNullish: true });
829
963
  };
964
+ /** Fly fills an omitted secret `name` with its `env_var`. */
965
+ const sameProcesses = (observed, desired) => {
966
+ const normalize = (processes) => (processes ?? []).map((process) => ({
967
+ ...process,
968
+ secrets: process.secrets?.map((secret) => ({
969
+ env_var: secret.env_var,
970
+ name: secret.name || secret.env_var,
971
+ })),
972
+ }));
973
+ return deepEqual(normalize(observed), normalize(desired), { stripNullish: true });
974
+ };
830
975
  const configDrifted = (machine, desired) => {
831
976
  const config = machine.config;
832
977
  return (!sameImage(machine, desired.image) ||
@@ -835,7 +980,8 @@ const configDrifted = (machine, desired) => {
835
980
  !sameServices(config?.services, desired.services) ||
836
981
  !sameMounts(config?.mounts, desired.mounts) ||
837
982
  metadataChanged(config?.metadata, desired.metadata) ||
838
- !sameStatics(config?.statics, desired.statics));
983
+ !sameStatics(config?.statics, desired.statics) ||
984
+ !sameProcesses(config?.processes, desired.processes));
839
985
  };
840
986
  const withPort = (base, port, standard) => port === standard ? base : `${base}:${port}`;
841
987
  const isRedirect = (handlers, forceHttps) => forceHttps === true && handlers.includes("http") && !handlers.includes("tls");
@@ -1032,7 +1178,9 @@ const toAttrs = (set, codeHash, access) => ({
1032
1178
  appName: set.appName,
1033
1179
  ownsApp: access.ownsApp,
1034
1180
  network: normalizeNetwork(access.network),
1035
- rpcToken: access.rpcToken,
1181
+ secrets: access.secrets,
1182
+ secretsVersion: access.secretsVersion,
1183
+ orgSlug: access.orgSlug,
1036
1184
  ...endpointsOf(set, access),
1037
1185
  rolloutPending: set.rolloutPending,
1038
1186
  machineId: set.machineId,
@@ -1185,6 +1333,11 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1185
1333
  // effect-config form has been evaluated, so the object view is
1186
1334
  // safe to read.
1187
1335
  const statics = news;
1336
+ if (typeof statics.context === "string") {
1337
+ const hash = yield* hosted.contextHash(statics.context);
1338
+ if (hash !== output.code.hash)
1339
+ return { action: "update" };
1340
+ }
1188
1341
  if (isResolved({
1189
1342
  main: statics.main,
1190
1343
  build: statics.build,
@@ -1201,6 +1354,24 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1201
1354
  }
1202
1355
  return output.rolloutPending ? { action: "update" } : undefined;
1203
1356
  }),
1357
+ lookup: Effect.fn(function* ({ appName, name }) {
1358
+ const found = yield* lookupReplicaSet({ appName, name });
1359
+ if (found === undefined)
1360
+ return undefined;
1361
+ const app = yield* machines
1362
+ .getApp({ app_name: appName })
1363
+ .pipe(Effect.catchTag("NotFound", () => Effect.undefined));
1364
+ const attrs = toAttrs(found, "", {
1365
+ // Reported as Alchemy-owned only so the endpoints follow the App's
1366
+ // observed addresses, as a declared Service's own App's do.
1367
+ ownsApp: true,
1368
+ isPublic: yield* hasPublicAddress(appName),
1369
+ network: app?.network,
1370
+ bindingPort: DEFAULT_BINDING_PORT,
1371
+ orgSlug: app?.organization?.slug,
1372
+ });
1373
+ return { ...attrs, ownsApp: false };
1374
+ }),
1204
1375
  read: Effect.fn(function* ({ id, fqn, instanceId, olds, output }) {
1205
1376
  const ownsApp = output?.ownsApp ?? (olds !== undefined && olds.app === undefined);
1206
1377
  const appName = ownsApp
@@ -1238,7 +1409,7 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1238
1409
  isPublic: false,
1239
1410
  network: output?.network ?? olds?.network,
1240
1411
  bindingPort: olds?.bindingPort ?? DEFAULT_BINDING_PORT,
1241
- rpcToken: output?.rpcToken,
1412
+ orgSlug: output?.orgSlug ?? (yield* resolveOrgSlug()),
1242
1413
  });
1243
1414
  }
1244
1415
  return toAttrs(found, output?.code.hash ?? "", {
@@ -1246,7 +1417,9 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1246
1417
  isPublic: ownsApp && (yield* hasPublicAddress(found.appName)),
1247
1418
  network: output?.network ?? (ownsApp ? olds?.network : undefined),
1248
1419
  bindingPort: olds?.bindingPort ?? DEFAULT_BINDING_PORT,
1249
- rpcToken: output?.rpcToken,
1420
+ secrets: output?.secrets,
1421
+ secretsVersion: output?.secretsVersion,
1422
+ orgSlug: output?.orgSlug ?? (yield* resolveOrgSlug()),
1250
1423
  });
1251
1424
  }),
1252
1425
  list: Effect.fn(function* () {
@@ -1257,7 +1430,7 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1257
1430
  isPublic: true,
1258
1431
  network: undefined,
1259
1432
  bindingPort: DEFAULT_BINDING_PORT,
1260
- rpcToken: undefined,
1433
+ orgSlug: undefined,
1261
1434
  }));
1262
1435
  }),
1263
1436
  reconcile: Effect.fn(function* ({ id, fqn, instanceId, news, output, bindings, session }) {
@@ -1288,8 +1461,28 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1288
1461
  if (version !== undefined)
1289
1462
  secretVersions.push(version);
1290
1463
  }
1291
- const minSecretsVersion = secretVersions.length > 0 ? Math.max(...secretVersions) : undefined;
1292
1464
  const env = desiredEnv(props, bound.env, hosted.alchemyEnv, port);
1465
+ // Redacted values (every bound `Config`) become App secrets, but
1466
+ // only in an App the Service owns: Fly gives every App secret to
1467
+ // every Machine in the App. A plain `env` entry wins over a binding.
1468
+ const redacted = Object.keys(env).filter((key) => props.env?.[key] !== undefined
1469
+ ? Redacted.isRedacted(props.env[key])
1470
+ : bound.secretNames.includes(key));
1471
+ // Move them out of the plain env record before anything else reads it.
1472
+ const desiredSecrets = {};
1473
+ if (ownsApp) {
1474
+ for (const key of redacted) {
1475
+ desiredSecrets[key] = Redacted.make(env[key]);
1476
+ delete env[key];
1477
+ }
1478
+ }
1479
+ const boundSecrets = yield* syncBoundSecrets(appName, fqn, desiredSecrets, output?.appName === appName
1480
+ ? { secrets: output.secrets ?? {}, version: output.secretsVersion }
1481
+ : { secrets: {}, version: undefined });
1482
+ if (boundSecrets.version !== undefined)
1483
+ secretVersions.push(boundSecrets.version);
1484
+ const minSecretsVersion = secretVersions.length > 0 ? Math.max(...secretVersions) : undefined;
1485
+ const processes = secretMappings(boundSecrets);
1293
1486
  if (policy.shutdown && !props.isExternal) {
1294
1487
  env.ALCHEMY_FLY_SHUTDOWN_TIMEOUT_MS = String(policy.shutdown.timeoutMs);
1295
1488
  }
@@ -1300,27 +1493,36 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1300
1493
  const services = published.services;
1301
1494
  if (!ownsApp)
1302
1495
  yield* validateObservedPorts(appName, fqn, id, services);
1303
- if (props.rpcToken !== undefined)
1304
- env[RPC_TOKEN_ENV] = Redacted.value(props.rpcToken);
1496
+ // The Apps of the Services that bind this one; only they may call
1497
+ // its methods (see `serveFlyRpc`).
1498
+ if (bound.callers.length > 0)
1499
+ env[RPC_CALLERS_ENV] = bound.callers.join(",");
1305
1500
  for (const target of bound.targets) {
1306
1501
  const keys = boundTargetEnvKeys(target.service);
1307
1502
  env[keys.appName] = packEnvValue(target.appName);
1308
1503
  if (target.privateUrl !== undefined)
1309
1504
  env[keys.url] = packEnvValue(target.privateUrl);
1310
- if (target.rpcToken !== undefined)
1311
- env[keys.token] = packEnvValue(target.rpcToken);
1312
1505
  }
1313
1506
  env[RPC_ORG_ENV] = yield* resolveOrgSlug();
1314
1507
  if (published.added)
1315
1508
  env[BINDING_PORT_ENV] = String(bindingPort);
1316
1509
  const statics = toFlyStatics(props.statics);
1317
- const { imageRef, codeHash } = yield* hosted.resolveImage({
1318
- id,
1319
- appName,
1320
- props,
1321
- previousHash: output?.code.hash,
1322
- session,
1323
- });
1510
+ const { imageRef, codeHash } = props.context !== undefined
1511
+ ? yield* hosted.resolveContextImage({
1512
+ id,
1513
+ appName,
1514
+ context: props.context,
1515
+ remote: props.build?.remote,
1516
+ previousHash: output?.code.hash,
1517
+ session,
1518
+ })
1519
+ : yield* hosted.resolveImage({
1520
+ id,
1521
+ appName,
1522
+ props: props,
1523
+ previousHash: output?.code.hash,
1524
+ session,
1525
+ });
1324
1526
  const set = yield* reconcileReplicas({
1325
1527
  id,
1326
1528
  type: "Fly.Service",
@@ -1345,20 +1547,32 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1345
1547
  mounts: desired.mounts,
1346
1548
  metadata: desired.metadata,
1347
1549
  statics,
1550
+ processes,
1551
+ }),
1552
+ buildConfig: ({ mounts, metadata }) => buildConfig({
1553
+ image: imageRef,
1554
+ guest,
1555
+ env,
1556
+ services,
1557
+ mounts,
1558
+ metadata,
1559
+ statics,
1560
+ processes,
1348
1561
  }),
1349
- buildConfig: ({ mounts, metadata }) => buildConfig({ image: imageRef, guest, env, services, mounts, metadata, statics }),
1350
1562
  }).pipe(Effect.catchTag("Fly.ReplicaNotCreated", (error) => Effect.fail(new ServiceNotCreated({ resourceName: error.resourceName, appName: error.appName }))));
1351
1563
  return toAttrs(set, codeHash, {
1352
1564
  ownsApp,
1353
1565
  isPublic,
1354
1566
  network,
1355
1567
  bindingPort,
1356
- rpcToken: props.rpcToken,
1568
+ secrets: boundSecrets.secrets,
1569
+ secretsVersion: boundSecrets.version,
1570
+ orgSlug: yield* resolveOrgSlug(),
1357
1571
  });
1358
1572
  }),
1359
- // Create the App, its addresses, and the caller token before any
1360
- // Machine, so two Services that bind each other can both resolve
1361
- // the other's private address and token.
1573
+ // Create the App and its addresses before any Machine, so two
1574
+ // Services that bind each other can both resolve the other's App
1575
+ // and private address.
1362
1576
  precreate: Effect.fn(function* ({ id, news }) {
1363
1577
  const props = news;
1364
1578
  // Precreate runs before dependencies resolve. A Service placed in
@@ -1404,7 +1618,7 @@ export const ServiceProvider = () => Provider.effect(Service, Effect.gen(functio
1404
1618
  isPublic,
1405
1619
  network,
1406
1620
  bindingPort,
1407
- rpcToken: isResolved(props.rpcToken) ? props.rpcToken : undefined,
1621
+ orgSlug: yield* resolveOrgSlug(),
1408
1622
  });
1409
1623
  }),
1410
1624
  delete: Effect.fn(function* ({ id, fqn, instanceId, olds, output, force }) {
@@ -1 +1 @@
1
- {"version":3,"file":"Service.js","sourceRoot":"","sources":["../src/Service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Service.js","sources":["../src/Service.ts"],"names":[],"mappings":"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"}
package/lib/Sign.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Sign.d.ts","sourceRoot":"","sources":["../src/Sign.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,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,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,IAAK,SAAQ,OAAO,CAAC,OAAO,CAC3C,IAAI,EACJ,UAAU,EACV,CACE,GAAG,EAAE,SAAS,KACX,MAAM,CAAC,MAAM,CAChB,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,CACxF,CACF;CAAG;AAEJ,eAAO,MAAM,IAAI,MAAoC,CAAC"}
1
+ {"version":3,"file":"Sign.d.ts","sources":["../src/Sign.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,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,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,IAAK,SAAQ,OAAO,CAAC,OAAO,CAC3C,IAAI,EACJ,UAAU,EACV,CACE,GAAG,EAAE,SAAS,KACX,MAAM,CAAC,MAAM,CAChB,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,CACxF,CACF;CAAG;AAEJ,eAAO,MAAM,IAAI,MAAoC,CAAC"}