Skip to content

Conversation

erikhfj
Copy link
Member

@erikhfj erikhfj commented Oct 7, 2026 •

What this does

Records the VM deployment for #8 in the places people already look: the Infrastructure section of README.md and AGENTS.md. No separate runbook file.

Why no runbook

The first draft was docs/VM-setup.md, a full runbook from an empty Ubuntu install. Erik's feedback: no separate markdown for how to get onto the machine and how the pieces are wired. Focus on the core of the issue. The course pages already cover VM access, and the deployment facts are short enough to live with the other project facts.

So the file is gone and what remains is:

README.md gains an Infrastructure section: the app runs on the group VM, client at /project2, GraphQL on 3001 behind an Apache ProxyPass, PostgreSQL local to the machine and not exposed, CI deploying on push to main.

AGENTS.md carries the same facts at the level an agent or a new contributor needs them, plus the one gap that will bite whoever picks up #5 and #6.

The gap worth reading

The VM's ~/T19-Project-2 is a manual copy of an early prototype, not a git clone. That is why server/dist/index.js exists there while server/ does not exist on main, and why crate-api is running code that is not in this repository. M2 replaces both with a real clone and a build step.

Recording that here rather than burying it is the point. Someone picking up #6 will otherwise assume the VM matches main and be confused when it does not.

What was tested

Verified against the live VM today, before writing this:

Check Result
psql as t19 against crate connects, tables present
node -v / pnpm -v 24.21.0 / 10.33.0
systemctl is-enabled crate-api enabled
systemctl is-active crate-api active
POST localhost:3001/graphql {"data":{"__typename":"Query"}}
POST localhost/graphql (through Apache) {"data":{"__typename":"Query"}}
GET localhost/project2/ 200

Also pnpm format:check, pnpm lint, pnpm typecheck and pnpm test all pass.

Closes

Closes #8.

@erikhfj erikhfj requested a review from a team as a code owner October 7, 2026 18:59
No separate runbook. The deployment facts belong where people already
look, so the Infrastructure section of README and AGENTS.md now carries
them: PostgreSQL local to the VM, crate-api on port 3001, Apache
ProxyPass /graphql, client at /var/www/html/project2, CI deploying on
push to main.

AGENTS.md also records the one gap that will bite whoever picks up #5
and #6: the VM's ~/T19-Project-2 is a manual copy of an early prototype
rather than a git clone, so crate-api is running code that is not in
this repository.

Verified against the live VM: PostgreSQL 18.6 with role t19 and database
crate answering queries, Node 24.21.0, crate-api enabled and active,
Apache proxy returning 200 on both /graphql and /project2/.

Co-Authored-By: opencode <noreply@opencode.ai>
@erikhfj erikhfj force-pushed the docs/8-vm-setup-runbook branch from 5b4e7ab to 0cc28a6 Compare October 7, 2026 19:49
@erikhfj erikhfj changed the title docs: #8 VM runbook for the database and the GraphQL backend docs: #8 record the VM deployment in README and AGENTS.md Oct 7, 2026
Copy link
Member

@robertky robertky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The infrastructure details are concise and, importantly, make the current gap between the VM prototype and main explicit. That should make the M2 server setup much easier to take over.

@erikhfj erikhfj merged commit 0fbd54a into main Oct 9, 2026
2 checks passed
@erikhfj erikhfj deleted the docs/8-vm-setup-runbook branch October 9, 2026 19:37
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deploy the API on the group VM
2 participants