This repository has no description
868 B
30 lines
1import { Container } from "@cloudflare/containers";
2import type { DurableObject } from "cloudflare:workers";
3
4interface ContainerEnv {
5 CARRY_GITHUB_TOKEN: string;
6}
7
8export class StrataContainer extends Container<ContainerEnv> {
9 defaultPort = 8080;
10 sleepAfter = "5m";
11
12 constructor(ctx: DurableObject["ctx"], env: ContainerEnv) {
13 super(ctx, env);
14 // Set env vars before container starts — inject secret from worker binding
15 this.envVars = {
16 VAULT_PATH: "/data/vault",
17 CARRY_PATH: "/data/carry",
18 CARRY_BRANCH: "main",
19 ...(env.CARRY_GITHUB_TOKEN ? { CARRY_GITHUB_TOKEN: env.CARRY_GITHUB_TOKEN } : {}),
20 };
21 }
22
23 async onStart() {
24 console.log("[strata-container] started, carry token:", this.envVars?.CARRY_GITHUB_TOKEN ? "set" : "missing");
25 }
26
27 async onStop() {
28 console.log("[strata-container] stopped");
29 }
30}