Operations: stop, backup, restore, rollback and uninstall

August 15, 2026 ยท View on GitHub

Stop

Send SIGTERM to the foreground CLI process and wait for Harbor children to exit. If forced termination is needed, preserve the state and external evaluator directories; use resume, not a new run command.

Backup and restore

Stop the writer, then archive the private state while retaining modes:

tar --numeric-owner -C /var/lib/dsh-self-evolving-controller -czf /root/dsh-self-evolving-state-backup.tgz RUN_ID
mkdir -m 0700 /var/lib/dsh-self-evolving-controller/RESTORED_RUN_ID
tar --numeric-owner -C /var/lib/dsh-self-evolving-controller -xzf /root/dsh-self-evolving-state-backup.tgz

Restore to the same absolute state path because schema v10 binds stateDir. Run status and audit before any resume. Never merge two state directories.

Release rollback

Reinstall the previous source archive in a new checkout, bootstrap its pinned upstreams, then point operations back to the prior untouched state directory. Do not run older code against state created by a newer config schema unless that release explicitly supports it.

Uninstall

Stop active controllers. Remove only the installed source checkout and generated package store selected by the operator. Private run state under /var/lib/dsh-self-evolving-controller is evidence and must be backed up before deletion; the project never deletes it automatically.