Some checks failed
Build & Sign Wraith / Build Windows + Sign (push) Has been cancelled
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>
68 lines
2.0 KiB
Markdown
68 lines
2.0 KiB
Markdown
# 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 |
|