Restore Your On-Prem Cluster¶
This guide covers the restore procedures for the Traceable Platform on-premises deployment.
Overview¶
The Restore Service allows you to restore platform components from backups created by the Backup Service:
- MongoDB - Primary data store
- PostgreSQL - Relational database
- Zookeeper - Coordination service
- Schema Registry - Schema management
- Traceable Installer (TI) - Platform configuration
Prerequisites¶
- Backups created using the Backup Service
- Access to the Traceable Operator (TI) UI
- Backup PVC mounted and accessible
- Knowledge of which backup commit to restore
Restore Configuration¶
To restore from a backup, enable the appropriate restore job in the backup service configuration.
Basic Restore Configuration¶
restoreJobs:
postgresql:
enabled: true
commit: "latest"
clean: true
installer:
enabled: true
commit: "latest"
mongodb:
enabled: true
commit: "latest"
clean: true
schemaRegistry:
enabled: true
commit: "latest"
zookeeper:
enabled: true
commit: "latest"
resetPinotOffsets: false
Parameters¶
| Parameter | Description |
|---|---|
enabled |
Set to true to enable restore for this service |
commit |
Backup commit to restore (latest or specific commit ID) |
resetPinotOffsets |
(Zookeeper only) Reset Pinot offsets during restore |
Restore Procedures¶
Restore PostgreSQL¶
- Update Configuration:
-
Apply Configuration in the Traceable Operator
-
Verify Restore:
Restore MongoDB¶
- Update Configuration:
-
Apply Configuration in the Traceable Operator
-
Verify Restore:
Restore Zookeeper¶
- Update Configuration:
-
Apply Configuration in the Traceable Operator
-
Verify Restore:
Note: Set resetPinotOffsets: true if you need to reset Pinot consumer offsets.
Restore Schema Registry¶
- Update Configuration:
-
Apply Configuration in the Traceable Operator
-
Verify Restore:
Restore Traceable Installer¶
- Update Configuration:
-
Apply Configuration in the Traceable Operator
-
Verify Restore:
Finding Backup Commits¶
To list available backup commits:
# Access the backup pod
kubectl exec -it -n traceable <backup-pod> -- bash
# List snapshots for a service
restic -r /backup snapshots --tag mongodb
restic -r /backup snapshots --tag postgresql
restic -r /backup snapshots --tag zookeeper
restic -r /backup snapshots --tag schema-registry
Full Cluster Restore¶
For a complete cluster restore, follow this order:
- Restore Traceable Installer (configuration)
- Restore PostgreSQL (relational data)
- Restore MongoDB (primary data)
- Restore Zookeeper (coordination data)
- Restore Schema Registry (schema definitions)
- Restart all workloads
Full Restore Configuration¶
restoreJobs:
installer:
enabled: true
commit: "latest"
postgresql:
enabled: true
commit: "latest"
clean: true
mongodb:
enabled: true
commit: "latest"
clean: true
zookeeper:
enabled: true
commit: "latest"
resetPinotOffsets: false
schemaRegistry:
enabled: true
commit: "latest"
Post-Restore Steps¶
After restore completes:
- Verify Services:
-
Check Service Health:
- Access the Platform UI
- Verify data is present
- Test critical functionality
-
Restart Workloads (if needed):
- Navigate to TI → Install Workflow → Actions → Restart Workloads
-
Disable Restore Jobs: Set all
restoreJobs.*.enabledtofalseto prevent accidental re-restore.
Troubleshooting¶
Restore Job Failing¶
Symptoms: Restore job shows Failed status.
Solutions:
- Check job logs:
- Verify backup exists for specified commit
- Check PVC is mounted correctly
- Verify restic password matches backup password
Data Not Restored¶
Symptoms: Service running but data missing.
Solutions:
- Verify correct commit was specified
- Check restore job completed successfully
- Restart the service after restore
- Check service logs for errors
Service Won't Start After Restore¶
Symptoms: Pods crash or fail to become ready.
Solutions:
- Check pod logs for errors
- Verify data integrity
- Check disk space
- Try restoring from a different backup commit
Best Practices¶
- Test Restores Regularly: Validate backup integrity by testing restores
- Document Commits: Keep records of important backup commits
- Staged Restore: Restore one service at a time in non-critical situations
- Backup Before Restore: Create a fresh backup before attempting restore
- Verify Data: Always verify restored data before resuming operations
- Disable After Restore: Disable restore jobs after successful restore
Related Documentation¶
Support¶
For restore assistance, contact: support@harness.io
Provide the following information:
- Platform version
- Backup commit being restored
- Restore job logs
- Error messages
- Services affected