/ src / data / provisioningStates.ts
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  };