- scripts/deploy.sh: target-aware deploy (dankclaw/dankserver). Pushes main, pulls on the target, installs/enables systemd unit, restarts service, and checks the health endpoint; --dry-run preview; pre-flight dirty-tree check - docs/deployment.md: full deployment/update process with mermaid workflow, target map, manual update commands, service units, and troubleshooting - AGENTS.md: add Deployment & Update Process section (deploy.sh usage, target map, mermaid workflow) and a Summary table row - docs/index.md: crosslink deployment doc
2.6 KiB
2.6 KiB
AGENTS.md — vllmScripts Agent Rules
Overview
This project manages deployment scripts for two LLM inference servers. Dankclaw runs a ROCmFPX llama.cpp service. Dankserver runs a vLLM service. See docs/deployment.md for the full deployment and update process.
Git Workflow
All script edits must flow through git. Do not edit files on the remote machine directly.
Protocol
- Source the script from the target machine — fetch it from the server where it runs
- Place it in this repo — commit the fetched version
- Edit here — make all changes locally in the working tree
- Commit and push — push to origin (Gitea on dankclaw)
- Pull on the target —
git pullon the remote machine before restarting - Restart the service — use the updated script on the target
Deployment & Update Process
Use scripts/deploy.sh to deploy committed changes to a target. It pushes main, pulls on the target, restarts the service, and checks the health endpoint.
./scripts/deploy.sh dankclaw # ROCmFPX llama.cpp (llama-server, port 8080)
./scripts/deploy.sh dankserver # vLLM (vllm-qwen36, port 8000)
./scripts/deploy.sh dankclaw --dry-run # preview without changes
Deployment workflow:
graph LR
A[Edit locally] --> B[Commit]
B --> C[Push to origin]
C --> D[deploy.sh: pull on target]
D --> E[restart service]
E --> F[health check]
Target map:
| Target | Host | Runtime | Service | Port |
|---|---|---|---|---|
| Dankclaw | dank@dankclaw | ROCmFPX llama.cpp | llama-server | 8080 |
| Dankserver | dank@dankserver | vLLM (Docker) | vllm-qwen36 | 8000 |
Why
Direct edits on the remote drift from version control. Future agents will not know what changed. Git is the single source of truth.
User request → Fetch script from remote → Commit here → Edit → Commit → Push → Pull on remote → Restart
Summary
| Context | Action |
|---|---|
| Editing a deployment script | Work through git — fetch, commit, edit, push, pull, restart. Never edit on the remote directly. |
| Script exists only on remote | Pull it into the repo first — commit the fetched version before making changes. |
| Unstaged local changes | Commit or discard — check git status before starting work. Ask the user if unsure. |
| Deploying a committed change | Run scripts/deploy.sh <target> — it pushes, pulls on the target, restarts the service, and checks health. See docs/deployment.md. |
| Tests exist | Run them — verify tests pass after every change. Do not commit failing tests. |