Skip to content

Commit 1ddb087

Browse files
authored
chore(stats): retire legacy s3 lake (anomalyco#52515)
1 parent a79ecfe commit 1ddb087

2 files changed

Lines changed: 4 additions & 176 deletions

File tree

‎infra/lake.ts‎

Lines changed: 0 additions & 89 deletions
This file was deleted.

‎infra/stats.ts‎

Lines changed: 4 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,10 @@
1-
import { lakeCluster, tableBucket } from "./lake"
21
import { EMAILOCTOPUS_API_KEY } from "./app"
32
import { domain } from "./stage"
43

5-
////////////////
6-
// LAKE
7-
////////////////
8-
9-
const inferenceNamespace = new aws.s3tables.Namespace("LakeInferenceNamespace", {
10-
namespace: "inference",
11-
tableBucketArn: tableBucket.arn,
12-
})
13-
14-
new aws.s3tables.Table(
15-
"LakeInferenceEventTable",
16-
{
17-
name: "event",
18-
namespace: inferenceNamespace.namespace,
19-
tableBucketArn: inferenceNamespace.tableBucketArn,
20-
format: "ICEBERG",
21-
metadata: {
22-
iceberg: {
23-
schema: {
24-
fields: [
25-
{ name: "event_timestamp", type: "string", required: false },
26-
{ name: "event_date", type: "string", required: false },
27-
{ name: "event_type", type: "string", required: false },
28-
{ name: "dataset", type: "string", required: false },
29-
{ name: "cf_continent", type: "string", required: false },
30-
{ name: "cf_country", type: "string", required: false },
31-
{ name: "cf_city", type: "string", required: false },
32-
{ name: "cf_region", type: "string", required: false },
33-
{ name: "cf_latitude", type: "double", required: false },
34-
{ name: "cf_longitude", type: "double", required: false },
35-
{ name: "cf_timezone", type: "string", required: false },
36-
{ name: "duration", type: "double", required: false },
37-
{ name: "request_length", type: "long", required: false },
38-
{ name: "status", type: "int", required: false },
39-
{ name: "ip", type: "string", required: false },
40-
{ name: "is_stream", type: "boolean", required: false },
41-
{ name: "session", type: "string", required: false },
42-
{ name: "request", type: "string", required: false },
43-
{ name: "client", type: "string", required: false },
44-
{ name: "user_agent", type: "string", required: false },
45-
{ name: "model", type: "string", required: false },
46-
{ name: "model_tier", type: "string", required: false },
47-
{ name: "model_variant", type: "string", required: false },
48-
{ name: "source", type: "string", required: false },
49-
{ name: "provider", type: "string", required: false },
50-
{ name: "provider_model", type: "string", required: false },
51-
{ name: "llm_error_code", type: "int", required: false },
52-
{ name: "llm_error_message", type: "string", required: false },
53-
{ name: "error_response", type: "string", required: false },
54-
{ name: "error_type", type: "string", required: false },
55-
{ name: "error_message", type: "string", required: false },
56-
{ name: "error_cause", type: "string", required: false },
57-
{ name: "error_cause2", type: "string", required: false },
58-
{ name: "api_key", type: "string", required: false },
59-
{ name: "workspace", type: "string", required: false },
60-
{ name: "user_id", type: "string", required: false },
61-
{ name: "is_subscription", type: "boolean", required: false },
62-
{ name: "subscription", type: "string", required: false },
63-
{ name: "response_length", type: "long", required: false },
64-
{ name: "time_to_first_byte", type: "long", required: false },
65-
{ name: "timestamp_first_byte", type: "long", required: false },
66-
{ name: "timestamp_last_byte", type: "long", required: false },
67-
{ name: "tokens_input", type: "long", required: false },
68-
{ name: "tokens_output", type: "long", required: false },
69-
{ name: "tokens_reasoning", type: "long", required: false },
70-
{ name: "tokens_cache_read", type: "long", required: false },
71-
{ name: "tokens_cache_write_5m", type: "long", required: false },
72-
{ name: "tokens_cache_write_1h", type: "long", required: false },
73-
{ name: "cost_input_microcents", type: "long", required: false },
74-
{ name: "cost_output_microcents", type: "long", required: false },
75-
{ name: "cost_cache_read_microcents", type: "long", required: false },
76-
{ name: "cost_cache_write_microcents", type: "long", required: false },
77-
{ name: "cost_total_microcents", type: "long", required: false },
78-
{ name: "cost_input", type: "long", required: false },
79-
{ name: "cost_output", type: "long", required: false },
80-
{ name: "cost_cache_read", type: "long", required: false },
81-
{ name: "cost_cache_write_5m", type: "long", required: false },
82-
{ name: "cost_cache_write_1h", type: "long", required: false },
83-
{ name: "cost_total", type: "long", required: false },
84-
],
85-
},
86-
},
87-
},
88-
},
89-
{ deleteBeforeReplace: $app.stage !== "production", ignoreChanges: ["metadata"] },
90-
)
4+
// Keep the deployed names and arguments: the R2 stats sync still uses this VPC
5+
// and cluster after the legacy lake is removed.
6+
const lakeVpc = new sst.aws.Vpc("LakeVpc")
7+
const lakeCluster = new sst.aws.Cluster("LakeCluster", { vpc: lakeVpc })
918

929
////////////////
9310
// DATABASE

0 commit comments

Comments
 (0)