Skip to content

Commit cbb0af4

Browse files
juliusmarmingecodex
andcommitted
Simplify relay infrastructure resource composition
Co-authored-by: codex <codex@users.noreply.github.com>
1 parent bf7f10a commit cbb0af4

6 files changed

Lines changed: 19 additions & 775 deletions

File tree

infra/relay/alchemy.run.ts

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,11 @@ import * as Cloudflare from "alchemy/Cloudflare";
44
import * as Drizzle from "alchemy/Drizzle";
55
import * as Effect from "effect/Effect";
66
import * as Layer from "effect/Layer";
7-
import * as Output from "alchemy/Output";
87
import * as Planetscale from "alchemy/Planetscale";
98
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
109

1110
import { PlanetscaleDatabase, RelayHyperdrive } from "./src/db.ts";
1211
import Api from "./src/worker.ts";
13-
import { ImportedCloudflareZoneProvider } from "./src/infra/ImportedCloudflareZone.ts";
14-
import {
15-
MANAGED_ENDPOINT_ZONE,
16-
RELAY_PUBLIC_SUBDOMAIN,
17-
relayWorkerDomainDnsTokenPolicies,
18-
} from "./src/infra/ManagedEndpointStackConfig.ts";
19-
import { WorkerCustomDomain, WorkerCustomDomainProvider } from "./src/infra/WorkerCustomDomain.ts";
2012

2113
export default Alchemy.Stack(
2214
"T3CodeRelay",
@@ -28,36 +20,19 @@ export default Alchemy.Stack(
2820
Drizzle.providers(),
2921
Planetscale.providers(),
3022
FetchHttpClient.layer,
31-
ImportedCloudflareZoneProvider(),
32-
WorkerCustomDomainProvider(),
3323
),
3424
state: Cloudflare.state(),
3525
},
3626
Effect.gen(function* () {
3727
const db = yield* PlanetscaleDatabase;
3828
const hyperdrive = yield* RelayHyperdrive;
3929
const api = yield* Api;
40-
const relayWorkerDomainDnsToken = yield* Cloudflare.AccountApiToken(
41-
"RelayWorkerDomainDnsToken",
42-
{
43-
name: "t3-code-relay-worker-domain-dns",
44-
policies: relayWorkerDomainDnsTokenPolicies({
45-
zoneId: MANAGED_ENDPOINT_ZONE.zoneId,
46-
}),
47-
},
48-
);
49-
const relayDomain = yield* WorkerCustomDomain("RelayWorkerDomain", {
50-
zoneId: MANAGED_ENDPOINT_ZONE.zoneId,
51-
workerName: api.workerName,
52-
subdomain: RELAY_PUBLIC_SUBDOMAIN,
53-
dnsApiToken: relayWorkerDomainDnsToken.value,
54-
});
5530

5631
return {
5732
databaseName: db.database.name,
5833
hyperdriveName: hyperdrive.name,
5934
workerName: api.workerName,
60-
url: Output.interpolate`https://${relayDomain.hostname}`,
35+
url: api.url,
6136
};
6237
}),
6338
);

infra/relay/src/db.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ export interface RelayDatabase extends EffectPgDatabase {
1212

1313
export class RelayDb extends Context.Service<RelayDb, RelayDatabase>()("RelayDb") {}
1414

15-
const relayPostgresDatabaseName = "t3coderelay-relaypostgresdatabase-dev-julius-qcduwqxl7fi3rjlx";
1615
export const relayPostgresDatabaseRegion = { slug: "us-west" } as const;
1716

1817
export const RelaySchema = Drizzle.Schema("RelaySchema", {
@@ -24,7 +23,6 @@ export const RelaySchema = Drizzle.Schema("RelaySchema", {
2423
export const PlanetscaleDatabase = Effect.gen(function* () {
2524
const schema = yield* RelaySchema;
2625
const database = yield* Planetscale.PostgresDatabase("RelayPostgresDatabase", {
27-
name: relayPostgresDatabaseName,
2826
region: relayPostgresDatabaseRegion,
2927
clusterSize: "PS_5",
3028
migrationsDir: schema.out,
@@ -33,7 +31,7 @@ export const PlanetscaleDatabase = Effect.gen(function* () {
3331
});
3432

3533
const runtimeRole = yield* Planetscale.PostgresRole("RelayPostgresRuntimeRole", {
36-
database: relayPostgresDatabaseName,
34+
database,
3735
inheritedRoles: ["pg_read_all_data", "pg_write_all_data"],
3836
});
3937

infra/relay/src/infra/ImportedCloudflareZone.ts

Lines changed: 0 additions & 180 deletions
This file was deleted.
Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,12 @@
11
export const MANAGED_ENDPOINT_ZONE = {
2+
name: "ineededadomain.com",
23
zoneId: "fcea40a6915723b0f5c4a9480eb3507b",
3-
baseSubdomain: "tunnels",
4+
accountId: "1468bbd99811cdaccfbb707dc725421a",
45
} as const;
56

6-
const relayPublicSubdomain = "t3code-relay";
7-
8-
export const RELAY_PUBLIC_SUBDOMAIN = relayPublicSubdomain;
9-
10-
export const relayPublicDomain = (zone: { readonly name: string }) =>
11-
`${relayPublicSubdomain}.${zone.name}`;
12-
13-
export const relayPublicOrigin = (zone: { readonly name: string }) =>
14-
`https://${relayPublicDomain(zone)}`;
15-
16-
export const managedEndpointBaseDomain = (zone: {
17-
readonly name: string;
18-
readonly baseSubdomain?: string;
19-
}) => zone.name;
7+
export const RELAY_PUBLIC_DOMAIN = `t3code-relay.${MANAGED_ENDPOINT_ZONE.name}`;
8+
export const RELAY_PUBLIC_ORIGIN = `https://${RELAY_PUBLIC_DOMAIN}`;
9+
export const MANAGED_ENDPOINT_BASE_DOMAIN = MANAGED_ENDPOINT_ZONE.name;
2010

2111
export function managedEndpointProvisionerTokenPolicies(input: {
2212
readonly accountId: string;
@@ -39,20 +29,3 @@ export function managedEndpointProvisionerTokenPolicies(input: {
3929
},
4030
];
4131
}
42-
43-
export function relayWorkerDomainDnsTokenPolicies(input: { readonly zoneId: string }) {
44-
return [
45-
{
46-
effect: "allow" as const,
47-
permissionGroups: [
48-
"DNS Read" as const,
49-
"DNS Write" as const,
50-
"Workers Routes Read" as const,
51-
"Workers Routes Write" as const,
52-
],
53-
resources: {
54-
[`com.cloudflare.api.account.zone.${input.zoneId}`]: "*",
55-
},
56-
},
57-
];
58-
}

0 commit comments

Comments
 (0)