Documentation Index
Fetch the complete documentation index at: https://docs.wirekite.io/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Wirekite UX Server provides a web-based graphical interface for managing all aspects of database migrations. It allows you to configure sources and targets, run migrations, monitor progress in real-time, and validate data—all through your browser.The UX Server runs on HTTPS port 8443 by default and requires authentication.
Technology Stack
The UX Server is built with:- Backend: Go with the Gin web framework
- Frontend: HTML/CSS/JavaScript with HTMX for dynamic updates
- Charts: Highcharts for real-time progress visualization
- SQL Editor: CodeMirror with syntax highlighting
Getting Started
Starting the UX Server
Initial Setup
- Open your browser and navigate to
https://your-server:8443 - On first access, you’ll be redirected to the setup page
- Create your root (admin) user account
- Log in with your new credentials
Main Features
Dashboard
The main dashboard displays:- All configured migrations with their current status
- Source and target database connections
- Quick access to tools and settings
Migration Status Indicators
| Status | Description |
|---|---|
| Migration Created | Migration configured but schema not yet migrated |
| Schema Created | Schema has been applied to target |
| Data Loaded | Initial data load completed |
| Replication Running | CDC replication is active |
| Replication Paused | CDC replication is paused |
Configuring Sources
Sources are the databases you extract data from. The GUI supports:- MySQL - Host, port, username, password, database
- PostgreSQL - Host, port, username, password, database
- Oracle - Host, port, username, password, service name
- SQL Server - Host, port, username, password, database
Creating a Source
- Click Sources in the sidebar
- Click Add Source
- Select the database type
- Fill in the connection parameters
- Click Test Connection to verify
- Click Save
Configuring Targets
Targets are the databases you load data into. The GUI supports:On-Premise Targets
- MySQL
- PostgreSQL
- Oracle
- SQL Server
- SingleStore
Cloud Targets
- Snowflake
- Firebolt
- Google BigQuery
- Google Cloud Spanner
- Databricks
Cloud Target Configuration
Cloud targets require additional configuration for staging areas:- Account identifier
- Username and password
- Database and warehouse
- Role (optional)
- Account name
- Client ID and secret
- Engine name
- AWS S3 bucket for staging
- GCP Project ID
- Dataset name
- GCS bucket for staging
- Workspace host URL
- Access token
- SQL Warehouse ID
- Catalog and schema
- AWS S3 bucket for staging
- GCP Project ID
- Instance ID
- Database ID
Creating Migrations
A migration links a source to a target:- Click Migrations in the sidebar
- Click Create Migration
- Enter a migration name
- Select the source database
- Select the target database
- Click Create
Migration Workflow
Step 1: Schema Migration
Extract and apply the schema from source to target:- Open your migration
- Click Schema tab
- Click Extract Schema to pull schema from source
- Select which schemas/tables to include
- Optionally rename schemas (e.g.,
dbo→app_schema) - Review the generated SQL
- Click Run SQL to apply to target
Step 2: Data Migration
Load data from source to target:- Click Data tab
- Configure migration options:
Number of parallel threads for extracting data from source.
Number of parallel threads for loading data to target.
Maximum rows per data file. Smaller values use less memory. When running data+replication mode, the default is 50,000.
- Click Start Data Migration
- Monitor progress in real-time via the graph
Step 3: Data Validation
Verify data integrity after migration:- Click Validate tab
- Set sample percentage (1-100%)
- Click Run Validation
- Review per-table results showing row count comparisons
Step 4: Replication (Optional)
Enable Change Data Capture (CDC) for continuous replication:- Click Replication tab
- Configure replication threads
- Click Start Replication
- Monitor change lag in real-time
Replication keeps your target synchronized with ongoing changes to the source database.
Replication Controls
- Pause - Temporarily stop applying changes (source still tracks changes)
- Resume - Continue applying queued changes
- Stop - Permanently stop replication
Real-Time Progress Monitoring
The GUI provides real-time graphs showing:- Extracted Rows - Data pulled from source (blue line)
- Loaded Rows - Data written to target (green line)
- Per-Table Progress - Breakdown by individual tables
Tools
Wiretalk Query Executor
Execute ad-hoc SQL queries against your sources or targets:- Click Tools → Wiretalk
- Select source or target connection
- Enter your SQL query
- Click Execute
- View results in tabular or vertical format
Log Downloads
Download migration logs for troubleshooting:- Open your migration
- Click Download Logs
- Receive a ZIP file containing all log files
Scheduling
Set up automated data refreshes:- Open your migration
- Click Schedule tab
- Select frequency:
- Hourly
- Every 6 hours
- Every 12 hours
- Daily (select time)
- Weekly (select day and time)
- Custom (cron expression)
- Click Save Schedule
User Management
Root users can manage other users:- Click your username → User Management
- Add User - Create new accounts
- Delete User - Remove accounts
Regular users can only see and manage their own migrations. Root users can see all migrations.
Configuration
Server Configuration File
The UX Server reads configuration fromux-server.cfg:
SSL Certificates
Generate self-signed certificates for testing:Systemd Service
Service File
Create/etc/systemd/system/wirekite-ux.service:
Service Commands
Directory Structure
Troubleshooting
Cannot Connect to UX Server
- Verify the service is running:
systemctl status wirekite-ux - Check the server logs:
tail -f /opt/wirekite/ux/logs/ux-server.log - Ensure port 8443 is open in your firewall
- Verify SSL certificates exist and are readable
Migration Stuck or Failed
- Check the migration logs via Download Logs
- Review
orchestrator.logfor high-level errors - Check extractor/loader logs for specific issues
- Verify source/target connectivity with Test Connection
Authentication Issues
- Clear browser cookies and try logging in again
- Check
sessions.jsonhasn’t become corrupted - Verify
users.jsoncontains your user account - Restart the UX server to clear all sessions
