# 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 ```bash # 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 ```bash 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 ```bash # 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 |