#!/usr/bin/env bash # Bring-up runs of nisse-dev on this development VM (Development Plan M0.2). # # The agent runs as its container image (M1.5), built from the code under # test, as a transient systemd unit, so it outlives the shell that started # it. It touches only test resources (an operator-made test repository, the # test Matrix room, a budget-capped LiteLLM key), from the run's config. # # $E2E is mounted at the same path inside the container, so the config's # paths (state_db, keys) mean the same there; for that it runs as root here, # since the keys are root's. In production the image runs as its own user # with a state volume (Dockerfile). # # scripts/bringup.sh start [REF] set the last run aside, build REF (default # HEAD) into an image and start the agent # scripts/bringup.sh plan [REF] print what start would build and run # scripts/bringup.sh stop stop it cleanly (SIGTERM) # scripts/bringup.sh status the unit, and the agent's state # scripts/bringup.sh logs follow the agent's log # scripts/bringup.sh collect save the log and a readable transcript # into the current run's directory # # Layout, under $E2E (default /root/nisse-e2e): # nisse-dev.yaml, .env the run config and its secrets (made by hand once) # code/ the exported code under test, built into the image # state.db the agent's state (its workspace is on the build VM) # ssh/ the agent's key for the build VM, and push keys # run-info, collected/ what was run, and the output of `collect` # runs/