wraith/docs/GO_MIGRATION.md
Vantz Stockwell 47fb066f1d
Some checks failed
Build & Sign Wraith / Build Windows + Sign (push) Has been cancelled
docs: Phase 7 complete — CLAUDE.md + Go migration checklist
CLAUDE.md for future XOs: tech stack, architecture, commands,
key design decisions, lineage from Go version.

GO_MIGRATION.md: step-by-step checklist for deploying v2,
archiving Go repo, configuring CI secrets, first release.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 16:48:36 -04:00

2.0 KiB

Go → Rust Migration Checklist

Pre-Migration (Before Deploying Wraith v2)

  • Test Wraith v2 on Windows — SSH to all 6 hosts, SFTP browse/upload/download, RDP to Hyper-V
  • Verify vault creation + credential storage works
  • Verify auto-updater finds releases
  • Test code signing on installer
  • Set up 6 connections manually (no import needed)

Migration Steps

1. Create Gitea Repo

# Create wraith repo on Gitea (or rename current wraith to wraith-go-legacy)
# Push wraith codebase
cd /path/to/wraith
git remote add origin ssh://git.command.vigilcyber.com:3021/vstockwell/wraith.git
git push -u origin main

2. Configure CI Secrets

Add these secrets to the wraith repo on Gitea:

  • AZURE_TENANT_ID
  • AZURE_CLIENT_ID
  • AZURE_CLIENT_SECRET
  • AZURE_KEY_VAULT_URL
  • AZURE_CERT_NAME
  • GIT_TOKEN
  • TAURI_SIGNING_PRIVATE_KEY (generate with npx tauri signer generate)
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD

3. First Release

git tag v1.0.0
git push origin v1.0.0

4. Uninstall Go Version

  • Use a software uninstaller (the Go NSIS uninstaller is broken)
  • Or manually delete: C:\Program Files\Wraith\ and %APPDATA%\Wraith\
  • Note: deleting %APPDATA%\Wraith\wraith.db removes Go version credentials (you're re-entering them anyway)

5. Archive Go Repository

On Gitea:

  1. Rename wraith repo to wraith-go-legacy
  2. Set repo to archived/read-only
  3. Rename wraith to wraith
  4. Update auto-updater endpoint in tauri.conf.json to new repo path
  5. Delete old Gitea packages (Go-built versions)

6. Clean Up Local

# Remove old Go repo (keep backup if desired)
mv ~/repos/wraith ~/repos/wraith-go-legacy-backup
mv ~/repos/wraith ~/repos/wraith

What Was NOT Migrated

Component Reason
AI Copilot (8 Go files + 4 Vue files) Claude Code over SSH replaces this
MobaXTerm importer 6 connections — entered by hand
Plugin system Not needed
Go test suite (90 tests) Replaced by 52 Rust tests
wraith.db data Fresh vault, fresh credentials