Promote the `mvp-system` workspace library crate to a standalone application at `apps/myelin`, rebranding the MVP system along with its binaries, node image, and spec. - workspace `Cargo.toml`: swap member `crates/mvp-system` -> `apps/myelin` and drop `apps` from `exclude` so the app joins the workspace - `apps/myelin/Cargo.toml`: declare package `myelin` with `autobins = false` and explicit `[[bin]]` targets `myelin-worker`, `myelin-orchestrator`, `myelin-chat` - `apps/myelin/src`: move the whole `mvp-system` source tree and rebrand module surfaces (`chat/mod.rs`, `prompt/mod.rs`); add `bin/chat.rs` (`myelin::run_chat_from_args`) and delete the old `mvp_chat.rs` - `apps/myelin/node-image`: relocate the worker image assets from `apps/mvp-node/` (Dockerfile, Dockerfile.base, tinygrad_worker.py, entrypoint, e2e script) and rename `MVP_SYSTEM_SPEC.md` -> `MYELIN_SPEC.md` - `xtask`: rewrite build/reference paths for the rename (~1000-line churn); add `crates/dashboard/ACTOR_PANEL_SPEC.md` Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
34 lines
1.3 KiB
Bash
Executable file
34 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -u
|
|
|
|
if ! mkdir /run/myelin_entrypoint.lock 2>/dev/null; then
|
|
echo "myelin-entrypoint: already running (lock held); parking" >&2
|
|
exec sleep infinity
|
|
fi
|
|
|
|
mkdir -p /root/.ssh && chmod 700 /root/.ssh
|
|
: > /root/.ssh/authorized_keys
|
|
if [ -n "${PUBLIC_KEY:-}" ]; then printf '%s\n' "$PUBLIC_KEY" >> /root/.ssh/authorized_keys; fi
|
|
if [ -n "${SSH_PUBLIC_KEY:-}" ]; then printf '%s\n' "$SSH_PUBLIC_KEY" >> /root/.ssh/authorized_keys; fi
|
|
if [ -f /etc/myelin_deploy_key.pub ]; then cat /etc/myelin_deploy_key.pub >> /root/.ssh/authorized_keys; fi
|
|
chmod 600 /root/.ssh/authorized_keys
|
|
|
|
if [ ! -s /root/.ssh/authorized_keys ]; then
|
|
echo "myelin-entrypoint: WARNING no SSH public key found (PUBLIC_KEY/SSH_PUBLIC_KEY unset, no baked key); SSH will reject logins" >&2
|
|
fi
|
|
|
|
mkdir -p /run/sshd /var/log /var/cache/myelin-models
|
|
ssh-keygen -A 2>/dev/null || true
|
|
/usr/sbin/sshd -e
|
|
echo "myelin-entrypoint: sshd up on :22" >&2
|
|
|
|
NODE_LOG=/var/log/myelin-node.log
|
|
echo "myelin-entrypoint: launching myelin-node (log -> $NODE_LOG)" >&2
|
|
set -o pipefail
|
|
/usr/local/bin/myelin-node "$@" 2>&1 | tee "$NODE_LOG"
|
|
code=${PIPESTATUS[0]}
|
|
|
|
echo "myelin-entrypoint: myelin-node exited with code $code; NOT restarting (node held for postmortem)" >&2
|
|
echo "myelin-entrypoint: --- last 80 lines of $NODE_LOG ---" >&2
|
|
tail -n 80 "$NODE_LOG" >&2 || true
|
|
exec sleep infinity
|