Initial commit
This commit is contained in:
50
todo.md
Normal file
50
todo.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# arcline-migrate — Shared Hosting Migration Tool
|
||||
|
||||
Connects to a cPanel/Plesk server via SSH, exports files + DB dump + DNS zone
|
||||
into a structured tarball ready to import on Arcline. Lowers migration friction.
|
||||
|
||||
## Stack
|
||||
- Language: Go
|
||||
- Distribution: single static binary
|
||||
- Requires: SSH access to source server, mysqldump on remote
|
||||
|
||||
## Supported Sources
|
||||
- cPanel (primary target)
|
||||
- Plesk (stretch goal)
|
||||
- Generic LAMP/LEMP via SSH (fallback mode)
|
||||
|
||||
## Export bundle structure
|
||||
```
|
||||
arcline-export-example.com-20260303/
|
||||
├── files/ # public_html contents (rsync over SSH)
|
||||
├── databases/
|
||||
│ └── db_name.sql # mysqldump output
|
||||
├── dns/
|
||||
│ └── example.com.zone # BIND zone file (from cPanel API or manual)
|
||||
├── config/
|
||||
│ └── php.ini # detected PHP version + key settings
|
||||
└── manifest.json # metadata: domain, PHP version, MySQL version, export date
|
||||
```
|
||||
|
||||
## CLI interface
|
||||
```
|
||||
arcline-migrate export --host example.com --user myuser --domain example.com
|
||||
arcline-migrate export --host example.com --user myuser --domain example.com --out ./export
|
||||
arcline-migrate verify ./arcline-export-example.com-20260303/ # validate bundle
|
||||
arcline-migrate import --bundle ./arcline-export-*.tar.gz # future: direct import
|
||||
```
|
||||
|
||||
## Tasks
|
||||
- [ ] Project scaffold
|
||||
- [ ] SSH connection handler (password + key auth)
|
||||
- [ ] File export: rsync-style copy over SSH (public_html)
|
||||
- [ ] Database export: run mysqldump remotely, stream result
|
||||
- [ ] cPanel API integration: fetch DB list, DNS zone, PHP version
|
||||
- [ ] Generic mode: prompt user for DB name/user/pass if no cPanel API
|
||||
- [ ] DNS zone export (cPanel API → BIND format)
|
||||
- [ ] manifest.json writer
|
||||
- [ ] Bundle: tar.gz output
|
||||
- [ ] verify subcommand: check bundle integrity + manifest
|
||||
- [ ] Progress display (files copied, DB size, elapsed)
|
||||
- [ ] README with step-by-step migration walkthrough
|
||||
- [ ] Cross-compile Makefile
|
||||
Reference in New Issue
Block a user