-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathcloud.yaml
More file actions
143 lines (129 loc) · 5.51 KB
/
Copy pathcloud.yaml
File metadata and controls
143 lines (129 loc) · 5.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# Cloud runner spec for `arnold cloud`.
#
# provider:
# Supported providers: ssh, local. Use ssh for the Hetzner agentbox.
provider: ssh
# Shared-instance model:
# The cloud image is a stable base. Operational logic ships through the
# on-volume arnold/megaplan source clone and is refreshed by `cloud chain`
# before the chain driver starts. Rebuild/redeploy is only needed when the
# thin bootstrap image itself changes.
#
# repo:
# url Git repository cloned into the persistent workspace volume.
# branch Branch checked out on first boot.
# workspace
# Absolute path inside the container where the repo lives. Leave
# omitted for `cloud chain` to derive an isolated shared-runner path
# like /workspace/<chain-name>/<repo>; set explicitly only when a
# specific fixed workspace is required.
repo:
url: https://github.com/peteromallet/VibeComfy.git
branch: main
# workspace: /workspace/app
# extra_repos:
# Optional sibling repos cloned into the volume alongside the primary
# `repo`. Useful when a chain or plan references multiple repos (e.g.
# app + worker + orchestrator + agent). Each repo needs a unique
# workspace path. The entrypoint clones-if-missing on every boot, so
# adding a new entry on a redeploy will fetch it without rebuilding.
# extra_repos:
# - url: https://github.com/example/worker.git
# branch: main
# workspace: /workspace/worker
# - url: https://github.com/example/agent.git
# branch: main
# workspace: /workspace/agent
# chain_session:
# tmux session name used by `arnold cloud chain` to host the chain
# runner. Leave omitted for `cloud chain` to derive a unique session from
# the local chain spec identity, with a matching per-chain log file. Override
# only when you need a stable, human-chosen slot.
# chain_session: megaplan-chain
# agents:
# `default` applies to every megaplan step. Add per-step overrides only when
# a specific phase should use a different agent.
agents:
default: codex
# execute: codex
# review: codex
# codex:
# Written to /root/.codex/config.toml on every boot.
codex:
model: gpt-5.4
reasoning: high
# mode behavior:
# | mode | agent session boot action | required fields |
# | auto | init plan if missing, then run `arnold auto --plan ...` | auto.plan_name, auto.idea_file |
# | chain | run `arnold chain start --spec ...` | chain.spec |
# | idle | start `bash -l` only | none |
# Missing auto.idea_file or chain.spec is a warning path in sprint 1: the
# container drops to idle instead of crashing so you can upload files manually.
mode: idle
# auto:
# Required only when mode=auto.
auto:
plan_name: my-plan
idea_file: /workspace/idea.txt
robustness: standard
# chain:
# Required only when mode=chain.
chain:
spec: /workspace/chain.yaml
# toolchains:
# Optional extra language toolchains layered into the cloud image.
# Use built-in aliases (`rust`, `go`, `java`) or a custom install snippet.
# toolchains:
# - rust
# - name: custom
# install: |
# RUN curl -fsSL https://example.com/tool/install.sh | bash
# megaplan:
# ref Branch/tag/SHA used for git installs.
# codex_auth Auth mode for the codex CLI. Defaults to `chatgpt`, which
# writes preferred_auth_method/forced_login_method=chatgpt so
# codex uses ChatGPT subscription OAuth even when OPENAI_API_KEY
# is present. During `cloud deploy` and `cloud chain`, megaplan
# best-effort seeds local ~/.codex/auth.json and ~/.hermes/auth.json
# into /workspace/.creds/* on the persistent volume and /root
# for the running container. On restart, entrypoint copies the
# volume seed back into /root. Set `apikey` only when you
# explicitly want API-key billing and want to skip the OAuth seed.
# repo Optional git URL of the megaplan source repo. When set, the
# chain launcher clone/pulls this repo into src_path and
# installs it before each driver run, without an image rebuild.
# src_path On-volume megaplan source clone used by `cloud chain` refresh.
# Defaults to /workspace/arnold.
# install_spec Advanced pip-spec override, installed verbatim. Git specs get
# `@ref` appended.
megaplan:
ref: editible-install
codex_auth: chatgpt
repo: https://github.com/peteromallet/Arnold.git
src_path: /workspace/arnold
# install_spec: arnold[agent] @ git+https://github.com/peteromallet/Arnold.git
# resources:
# volume Provider-specific persistent volume name. `destroy` deletes it.
# port Health server port exposed by the container.
resources:
volume: agent-volume
port: 8080
# local:
# compose_project Docker Compose project name used by the local provider.
# workdir Bind-mounted subdirectory inside the persistent deploy dir.
# local:
# compose_project: megaplan-cloud
# workdir: workspace
ssh:
host: 159.69.51.216
user: root
port: 22
remote_dir: /opt/megaplan-cloud/deploy
workspace_dir: /opt/megaplan-cloud/workspace
container: megaplan-cloud-agent
# secrets:
# Names of environment variables read locally during `arnold cloud deploy`
# and uploaded to the provider before boot. OPENAI_API_KEY is the minimum
# viable secret; add GITHUB_TOKEN / ANTHROPIC_API_KEY as needed.
secrets:
[]