d75cc9325f
test / run tests/run_tests.py (pull_request) Successful in 16s
Introduce claude_bottle/bottles/ with a Bottle Protocol and a get_bottle_factory() that dispatches on CLAUDE_BOTTLE_PLATFORM (default "docker"). Move every Docker-specific subprocess.run call from cli/start.py, plus the orchestration of build, networks, the pipelock sidecar, container launch, and per-container provisioning (prompt, skills, ssh, .git), into create_docker_bottle. Drop bottles[].runtime from the manifest schema. Auto-detect whether gVisor is registered with the daemon and pass --runtime=runsc when it is; the preflight shows the resolved runtime so the choice is visible. Manifests still carrying 'runtime' get a clear error pointing at the auto-detect behavior, rather than silent ignore. Out of scope: cli/cleanup.py and cli/list.py still call docker directly. They enumerate active bottles across the host, which is a separate concern from "create a bottle" and is left for a follow-up that introduces a list_active/cleanup primitive on the factory.
64 lines
1.5 KiB
JSON
64 lines
1.5 KiB
JSON
{
|
|
"bottles": {
|
|
"default": {
|
|
"env": {},
|
|
"ssh": [],
|
|
"egress": {
|
|
"allowlist": [
|
|
"github.com",
|
|
"objects.githubusercontent.com",
|
|
"registry.npmjs.org"
|
|
]
|
|
}
|
|
},
|
|
|
|
"gitea-dev": {
|
|
"env": {
|
|
"GITEA_TOKEN": "?paste your Gitea API token",
|
|
"GITHUB_TOKEN": "${GH_PAT}",
|
|
"GIT_AUTHOR_NAME": "Eric Diderich",
|
|
"NODE_ENV": "development"
|
|
},
|
|
"ssh": [
|
|
{
|
|
"Host": "gitea",
|
|
"Hostname": "gitea.dideric.is",
|
|
"User": "git",
|
|
"Port": 30009,
|
|
"IdentityFile": "/Users/didericis/.ssh/id_ed25519_gitea",
|
|
"KnownHostKey": "gitea.dideric.is ssh-ed25519 AAAA..."
|
|
}
|
|
],
|
|
"egress": {
|
|
"allowlist": [
|
|
"github.com",
|
|
"objects.githubusercontent.com",
|
|
"registry.npmjs.org",
|
|
"pypi.org",
|
|
"files.pythonhosted.org"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
|
|
"agents": {
|
|
"researcher": {
|
|
"bottle": "default",
|
|
"skills": [],
|
|
"prompt": "You are a research assistant. Read widely, summarise concisely, and cite sources by URL. Do not write code unless explicitly asked."
|
|
},
|
|
|
|
"gitea-helper": {
|
|
"bottle": "gitea-dev",
|
|
"skills": ["init-prd"],
|
|
"prompt": "You help maintain Gitea-hosted projects. Prefer small, focused commits. Follow Conventional Commits. Run tests before pushing."
|
|
},
|
|
|
|
"minimal": {
|
|
"bottle": "default",
|
|
"skills": [],
|
|
"prompt": ""
|
|
}
|
|
}
|
|
}
|