- setup.ts now downloads Alpine Linux minirootfs instead of Ubuntu squashfs - Installs Alpine packages (openssh, python3, curl, ca-certificates) in chroot - Fixes install script failing on non-Alpine base rootfs (adduser syntax) - Clean up unused imports and lint warnings Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
import { homedir } from "node:os";
|
|
import { join } from "node:path";
|
|
|
|
const HOME = homedir();
|
|
|
|
export const CONFIG = {
|
|
firecrackerBin: "/usr/local/bin/firecracker",
|
|
baseDir: join(HOME, ".fireclaw"),
|
|
kernelPath: join(HOME, ".fireclaw", "vmlinux"),
|
|
baseRootfs: join(HOME, ".fireclaw", "base-rootfs.ext4"),
|
|
runsDir: join(HOME, ".fireclaw", "runs"),
|
|
sshKeyPath: join(HOME, ".fireclaw", "id_ed25519"),
|
|
sshPubKeyPath: join(HOME, ".fireclaw", "id_ed25519.pub"),
|
|
socketDir: "/tmp/fireclaw",
|
|
ipPoolFile: join(HOME, ".fireclaw", "ip-pool.json"),
|
|
ipPoolLock: join(HOME, ".fireclaw", "ip-pool.lock"),
|
|
|
|
bridge: {
|
|
name: "fcbr0",
|
|
ip: "172.16.0.1",
|
|
subnet: "172.16.0.0/24",
|
|
netmask: "255.255.255.0",
|
|
gateway: "172.16.0.1",
|
|
prefix: "172.16.0",
|
|
minHost: 2,
|
|
maxHost: 254,
|
|
},
|
|
|
|
vm: {
|
|
vcpuCount: 1,
|
|
memSizeMib: 256,
|
|
defaultTimeoutMs: 60_000,
|
|
bootTimeoutMs: 15_000,
|
|
sshPollIntervalMs: 100,
|
|
},
|
|
|
|
snapshot: {
|
|
rootfsPath: join(HOME, ".fireclaw", "snapshot-rootfs.ext4"),
|
|
statePath: join(HOME, ".fireclaw", "snapshot.state"),
|
|
memPath: join(HOME, ".fireclaw", "snapshot.mem"),
|
|
tapDevice: "fctap200",
|
|
ip: "172.16.0.200",
|
|
octet: 200,
|
|
},
|
|
|
|
workspacesDir: join(HOME, ".fireclaw", "workspaces"),
|
|
workspaceSizeMib: 64,
|
|
|
|
assets: {
|
|
kernelUrl:
|
|
"https://s3.amazonaws.com/spec.ccfc.min/firecracker-ci/v1.11/x86_64/vmlinux-5.10.225",
|
|
},
|
|
} as const;
|