provisioningStates.ts
1 // Copyright (c) 2026 VPL Solutions. All rights reserved. 2 // Licensed under the MIT License. See LICENSE for details. 3 4 import type { ProvisioningStatus } from '../api/runtimes'; 5 6 export interface ProvisioningStatusMeta { 7 label: string; 8 color: string; 9 bgColor: string; 10 dotColor: string; 11 order: number; 12 } 13 14 export const PROVISIONING_STATUS_META: Record<ProvisioningStatus, ProvisioningStatusMeta> = { 15 QUEUED: { 16 label: 'Queued', color: 'text-gray-700 dark:text-gray-300', 17 bgColor: 'bg-gray-100 dark:bg-gray-800', dotColor: 'bg-gray-400', order: 0, 18 }, 19 PROVISIONING_CLUSTER: { 20 label: 'Provisioning Cluster', color: 'text-blue-700 dark:text-blue-400', 21 bgColor: 'bg-blue-50 dark:bg-blue-900/20', dotColor: 'bg-blue-500', order: 1, 22 }, 23 INSTALLING_CONTROLLERS: { 24 label: 'Installing Controllers', color: 'text-violet-700 dark:text-violet-400', 25 bgColor: 'bg-violet-50 dark:bg-violet-900/20', dotColor: 'bg-violet-500', order: 2, 26 }, 27 INSTALLING_RUNTIME: { 28 label: 'Installing Runtime', color: 'text-indigo-700 dark:text-indigo-400', 29 bgColor: 'bg-indigo-50 dark:bg-indigo-900/20', dotColor: 'bg-indigo-500', order: 3, 30 }, 31 DEPLOYING_MERIDIAN: { 32 label: 'Deploying Meridian', color: 'text-amber-700 dark:text-amber-400', 33 bgColor: 'bg-amber-50 dark:bg-amber-900/20', dotColor: 'bg-amber-500', order: 4, 34 }, 35 READY: { 36 label: 'Ready', color: 'text-emerald-700 dark:text-emerald-400', 37 bgColor: 'bg-emerald-50 dark:bg-emerald-900/20', dotColor: 'bg-emerald-500', order: 5, 38 }, 39 FAILED: { 40 label: 'Failed', color: 'text-red-700 dark:text-red-400', 41 bgColor: 'bg-red-50 dark:bg-red-900/20', dotColor: 'bg-red-500', order: 5, 42 }, 43 CANCELLED: { 44 label: 'Cancelled', color: 'text-gray-600 dark:text-gray-400', 45 bgColor: 'bg-gray-100 dark:bg-gray-800', dotColor: 'bg-gray-400', order: 5, 46 }, 47 }; 48 49 /** Happy-path phases for timeline. */ 50 export const PROVISIONING_PHASES: ProvisioningStatus[] = [ 51 'QUEUED', 52 'PROVISIONING_CLUSTER', 53 'INSTALLING_CONTROLLERS', 54 'INSTALLING_RUNTIME', 55 'DEPLOYING_MERIDIAN', 56 'READY', 57 ]; 58 59 export const CLOUD_LABELS: Record<string, string> = { 60 aws: 'AWS', 61 azure: 'Azure', 62 gcp: 'GCP', 63 }; 64 65 export const REGION_LABELS: Record<string, string> = { 66 'us-east-1': 'US East (Virginia)', 67 'us-west-2': 'US West (Oregon)', 68 'eu-west-1': 'EU West (Ireland)', 69 eastus2: 'East US 2', 70 westus2: 'West US 2', 71 };