diff --git a/app/dashboard/failover/page.tsx b/app/dashboard/failover/page.tsx new file mode 100644 index 0000000..da13ca3 --- /dev/null +++ b/app/dashboard/failover/page.tsx @@ -0,0 +1,230 @@ +export default function FailoverPage() { + const recoveryEvents = [ + { + id: 1, + type: 'failover', + provider: 'Forgejo', + fallbackProvider: 'GitHub', + reason: 'Connection timeout', + affectedRepos: 12, + timestamp: '2 hours ago', + status: 'resolved', + duration: '15 minutes' + }, + { + id: 2, + type: 'recovery', + provider: 'GitLab', + fallbackProvider: null, + reason: 'Service restored', + affectedRepos: 45, + timestamp: '6 hours ago', + status: 'completed', + duration: '2 minutes' + }, + { + id: 3, + type: 'failover', + provider: 'Custom Git Server', + fallbackProvider: 'GitLab', + reason: 'HTTP 503 Service Unavailable', + affectedRepos: 8, + timestamp: '1 day ago', + status: 'resolved', + duration: '45 minutes' + } + ]; + + const backupStatus = { + lastBackup: '30 minutes ago', + backupSize: '2.4 GB', + totalRepos: 156, + incrementalEnabled: true, + nextScheduled: 'in 30 minutes' + }; + + return ( +
+ Monitor failover events and manage recovery procedures +
++ Automatic failover is enabled. Failed syncs will be redirected to available providers. +
++ Primary → Fallback Priority +
++ GitHub → GitLab → Forgejo → Local Backup +
++ Retry Attempts +
++ 3 attempts with exponential backoff +
++ Health Check Interval +
++ Every 60 seconds +
++ {event.type === 'failover' ? 'Failover triggered' : 'Recovery completed'} for {event.provider} +
++ {event.reason} • {event.affectedRepos} repositories affected + {event.fallbackProvider && ` • Fallback: ${event.fallbackProvider}`} +
++ {event.timestamp} • Duration: {event.duration} +
++ Monitor and manage your Git-Proof system +
++ Successfully synced to GitHub +
++ Repository: project-alpha • 2 minutes ago +
++ Successfully synced to GitLab +
++ Repository: project-beta • 5 minutes ago +
++ Retry scheduled for Forgejo +
++ Repository: project-gamma • 10 minutes ago +
++ Monitor the health and status of all connected Git providers +
++ {provider.endpoint} +
+Repositories
++ {provider.repositories} +
+Health Score
++ {provider.health}% +
+Last Sync
++ {provider.lastSync} +
++ Monitor and manage repository synchronization tasks +
++ {item.repository} + + {item.branch} • {item.commit} + +
++ {item.action} to {item.providers.join(', ')} +
++ {item.progress}% complete +
++ A centralized relay system that ensures your code is always available by automatically + distributing Git repositories across multiple providers with intelligent failover + and recovery mechanisms. +
+ ++ Everything you need for reliable Git repository management +
++ Seamlessly distribute your repositories across GitHub, GitLab, Forgejo, and custom providers + with our flexible adapter system. +
++ Intelligent monitoring detects provider outages and automatically switches to backup + providers, ensuring continuous availability. +
++ Advanced synchronization engine handles merge conflicts and ensures consistent + state across all providers. +
++ A robust architecture designed for reliability and scalability +
++ Developers push to the Git-Proof relay just like any other remote repository. +
++ The distribution engine receives changes and queues them for synchronization + across configured providers. +
++ Provider adapters push changes to GitHub, GitLab, and other configured + Git providers in parallel. +
++ Continuous monitoring ensures provider health. Failed syncs are retried, + and recovery procedures restore consistency. +
++ Start using Git-Proof today and never worry about repository availability again. +
+