t3-code-android-nightly/.repos/alchemy-effect/packages/alchemy/test/Fly/fixtures/mounted-bluegreen.ts
Julius Marminge 6f9cea00ae
chore(refs): sync Effect and Alchemy references to 4.0.1 and beta.80 (#16170)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 13:22:30 -07:00

20 lines
655 B
TypeScript

import * as Fly from "@/Fly";
import * as Effect from "effect/Effect";
import * as HttpServerResponse from "effect/http/HttpServerResponse";
export const Site = Fly.App("Site");
export default class MountedBlueGreen extends Fly.Service<MountedBlueGreen>()(
"Mounted",
{
app: Site,
main: import.meta.url,
services: [],
checks: { ready: { type: "http", port: 3000, path: "/" } },
deploy: { strategy: "bluegreen" },
},
Effect.gen(function* () {
yield* Fly.MountVolume({ path: "/data", sizeGb: 1 });
return { fetch: Effect.succeed(HttpServerResponse.text("ready")) };
}).pipe(Effect.provide(Fly.MountVolumeLive)),
) {}