mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-20 10:52:08 +00:00
860 lines
24 KiB
TypeScript
860 lines
24 KiB
TypeScript
// This file is generated by scripts/release_control/generate_platform_support_frontend_module.py.
|
|
// Do not edit by hand.
|
|
// Source: docs/release-control/v6/internal/PLATFORM_SUPPORT_MANIFEST.json
|
|
// Source SHA256: 7126ef35ec2c2cda7e04b4a5496337d9d194926f7586af89fb3ae082fc7d6a2e
|
|
|
|
export const PLATFORM_SUPPORT_MANIFEST_SOURCE = {
|
|
path: 'docs/release-control/v6/internal/PLATFORM_SUPPORT_MANIFEST.json',
|
|
sha256: '7126ef35ec2c2cda7e04b4a5496337d9d194926f7586af89fb3ae082fc7d6a2e',
|
|
} as const;
|
|
export const PLATFORM_SUPPORT_MANIFEST = {
|
|
schemaVersion: 1,
|
|
defaultInfrastructureSourceOrder: [
|
|
'agent',
|
|
'truenas',
|
|
'proxmox-pve',
|
|
'proxmox-pbs',
|
|
'proxmox-pmg',
|
|
'docker',
|
|
'kubernetes',
|
|
],
|
|
agentHostProfiles: [
|
|
{
|
|
id: 'unraid',
|
|
family: 'Unraid',
|
|
governanceState: 'supported',
|
|
readinessStage: 'supported',
|
|
hostIdentityTokens: ['unraid', 'unraid-os', 'unraid os'],
|
|
runtimePlatform: 'linux',
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'n/a',
|
|
storage: 'supported',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'read-only',
|
|
},
|
|
storageFamily: 'onprem',
|
|
},
|
|
],
|
|
platforms: [
|
|
{
|
|
id: 'agent',
|
|
family: 'Pulse-managed host',
|
|
governanceState: 'supported',
|
|
readinessStage: 'supported',
|
|
primaryMode: 'agent-backed',
|
|
onboardingPaths: ['install-workspace'],
|
|
canonicalProjections: ['agent', 'storage', 'physical-disk'],
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'n/a',
|
|
storage: 'supported',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'supported',
|
|
},
|
|
uiLabel: 'Agent',
|
|
uiTone: 'bg-emerald-100 text-emerald-700 dark:bg-emerald-900 dark:text-emerald-400',
|
|
aliases: [],
|
|
displayTokens: ['Agent'],
|
|
storageFamily: 'onprem',
|
|
},
|
|
{
|
|
id: 'docker',
|
|
family: 'Container runtime',
|
|
governanceState: 'supported',
|
|
readinessStage: 'supported',
|
|
primaryMode: 'agent-backed',
|
|
onboardingPaths: ['install-workspace'],
|
|
canonicalProjections: ['agent', 'app-container', 'docker-service'],
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'supported',
|
|
},
|
|
uiLabel: 'Docker / Podman',
|
|
uiTone: 'bg-sky-100 text-sky-700 dark:bg-sky-900 dark:text-sky-400',
|
|
aliases: [],
|
|
displayTokens: ['Container runtime', 'Docker', 'Podman'],
|
|
storageFamily: 'container',
|
|
},
|
|
{
|
|
id: 'kubernetes',
|
|
family: 'Cluster runtime',
|
|
governanceState: 'supported',
|
|
readinessStage: 'supported',
|
|
primaryMode: 'agent-backed',
|
|
onboardingPaths: ['install-workspace'],
|
|
canonicalProjections: ['k8s-cluster', 'k8s-node', 'pod', 'k8s-deployment'],
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'n/a',
|
|
recovery: 'supported',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'supported',
|
|
},
|
|
uiLabel: 'K8s',
|
|
uiTone: 'bg-cyan-100 text-cyan-700 dark:bg-cyan-900 dark:text-cyan-400',
|
|
aliases: ['k8s'],
|
|
displayTokens: ['K8s', 'Kubernetes'],
|
|
storageFamily: 'container',
|
|
},
|
|
{
|
|
id: 'proxmox-pve',
|
|
family: 'Proxmox',
|
|
governanceState: 'supported',
|
|
readinessStage: 'supported',
|
|
primaryMode: 'api-backed',
|
|
onboardingPaths: ['platform-connections'],
|
|
canonicalProjections: ['agent', 'vm', 'system-container', 'storage', 'ceph', 'physical-disk'],
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'supported',
|
|
recovery: 'supported',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'augmentation-only',
|
|
},
|
|
uiLabel: 'PVE',
|
|
uiTone: 'bg-orange-100 text-orange-700 dark:bg-orange-900 dark:text-orange-400',
|
|
aliases: ['pve', 'proxmox'],
|
|
displayTokens: ['PVE', 'Proxmox VE'],
|
|
storageFamily: 'virtualization',
|
|
},
|
|
{
|
|
id: 'proxmox-pbs',
|
|
family: 'Proxmox',
|
|
governanceState: 'supported',
|
|
readinessStage: 'supported',
|
|
primaryMode: 'api-backed',
|
|
onboardingPaths: ['platform-connections'],
|
|
canonicalProjections: ['pbs', 'storage'],
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'n/a',
|
|
storage: 'supported',
|
|
recovery: 'supported',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'read-only',
|
|
},
|
|
uiLabel: 'PBS',
|
|
uiTone: 'bg-indigo-100 text-indigo-700 dark:bg-indigo-900 dark:text-indigo-400',
|
|
aliases: ['pbs'],
|
|
displayTokens: ['PBS', 'Proxmox Backup Server'],
|
|
storageFamily: 'virtualization',
|
|
},
|
|
{
|
|
id: 'proxmox-pmg',
|
|
family: 'Proxmox',
|
|
governanceState: 'supported',
|
|
readinessStage: 'supported',
|
|
primaryMode: 'api-backed',
|
|
onboardingPaths: ['platform-connections'],
|
|
canonicalProjections: ['pmg'],
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'read-only',
|
|
},
|
|
uiLabel: 'PMG',
|
|
uiTone: 'bg-rose-100 text-rose-700 dark:bg-rose-900 dark:text-rose-400',
|
|
aliases: ['pmg'],
|
|
displayTokens: ['PMG', 'Proxmox Mail Gateway'],
|
|
storageFamily: 'virtualization',
|
|
},
|
|
{
|
|
id: 'truenas',
|
|
family: 'TrueNAS',
|
|
governanceState: 'supported',
|
|
readinessStage: 'supported',
|
|
primaryMode: 'api-backed',
|
|
onboardingPaths: ['platform-connections'],
|
|
canonicalProjections: ['agent', 'app-container', 'storage', 'physical-disk'],
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'supported',
|
|
recovery: 'supported',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'supported',
|
|
},
|
|
uiLabel: 'TrueNAS',
|
|
uiTone: 'bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-400',
|
|
aliases: [],
|
|
displayTokens: ['TrueNAS'],
|
|
storageFamily: 'onprem',
|
|
},
|
|
{
|
|
id: 'vmware-vsphere',
|
|
family: 'VMware',
|
|
governanceState: 'admitted',
|
|
readinessStage: 'first-lab-ready',
|
|
primaryMode: 'api-backed',
|
|
onboardingPaths: ['platform-connections'],
|
|
canonicalProjections: ['agent', 'vm', 'storage'],
|
|
supportFloor: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'supported',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'read-only',
|
|
},
|
|
uiLabel: 'vSphere',
|
|
uiTone: 'bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300',
|
|
aliases: ['vmware'],
|
|
displayTokens: ['vSphere', 'VMware vSphere'],
|
|
storageFamily: 'virtualization',
|
|
},
|
|
{
|
|
id: 'unraid',
|
|
family: 'Unraid',
|
|
governanceState: 'presentation-only',
|
|
readinessStage: 'presentation-only',
|
|
primaryMode: 'presentation-only',
|
|
onboardingPaths: [],
|
|
canonicalProjections: [],
|
|
supportFloor: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
uiLabel: 'Unraid',
|
|
uiTone: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200',
|
|
aliases: [],
|
|
displayTokens: ['Unraid'],
|
|
storageFamily: 'onprem',
|
|
},
|
|
{
|
|
id: 'synology-dsm',
|
|
family: 'Synology',
|
|
governanceState: 'presentation-only',
|
|
readinessStage: 'presentation-only',
|
|
primaryMode: 'presentation-only',
|
|
onboardingPaths: [],
|
|
canonicalProjections: [],
|
|
supportFloor: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
uiLabel: 'Synology',
|
|
uiTone: 'bg-emerald-100 text-emerald-700 dark:bg-emerald-900 dark:text-emerald-300',
|
|
aliases: [],
|
|
displayTokens: ['Synology', 'DSM'],
|
|
storageFamily: 'onprem',
|
|
},
|
|
{
|
|
id: 'microsoft-hyperv',
|
|
family: 'Hyper-V',
|
|
governanceState: 'presentation-only',
|
|
readinessStage: 'presentation-only',
|
|
primaryMode: 'presentation-only',
|
|
onboardingPaths: [],
|
|
canonicalProjections: [],
|
|
supportFloor: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
uiLabel: 'Hyper-V',
|
|
uiTone: 'bg-cyan-100 text-cyan-700 dark:bg-cyan-900 dark:text-cyan-300',
|
|
aliases: ['hyper-v'],
|
|
displayTokens: ['Hyper-V'],
|
|
storageFamily: 'virtualization',
|
|
},
|
|
{
|
|
id: 'aws',
|
|
family: 'AWS',
|
|
governanceState: 'presentation-only',
|
|
readinessStage: 'presentation-only',
|
|
primaryMode: 'presentation-only',
|
|
onboardingPaths: [],
|
|
canonicalProjections: [],
|
|
supportFloor: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
uiLabel: 'AWS',
|
|
uiTone: 'bg-amber-100 text-amber-700 dark:bg-amber-900 dark:text-amber-300',
|
|
aliases: [],
|
|
displayTokens: ['AWS'],
|
|
storageFamily: 'cloud',
|
|
},
|
|
{
|
|
id: 'azure',
|
|
family: 'Azure',
|
|
governanceState: 'presentation-only',
|
|
readinessStage: 'presentation-only',
|
|
primaryMode: 'presentation-only',
|
|
onboardingPaths: [],
|
|
canonicalProjections: [],
|
|
supportFloor: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
uiLabel: 'Azure',
|
|
uiTone: 'bg-sky-100 text-sky-700 dark:bg-sky-900 dark:text-sky-300',
|
|
aliases: [],
|
|
displayTokens: ['Azure'],
|
|
storageFamily: 'cloud',
|
|
},
|
|
{
|
|
id: 'gcp',
|
|
family: 'GCP',
|
|
governanceState: 'presentation-only',
|
|
readinessStage: 'presentation-only',
|
|
primaryMode: 'presentation-only',
|
|
onboardingPaths: [],
|
|
canonicalProjections: [],
|
|
supportFloor: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
uiLabel: 'GCP',
|
|
uiTone: 'bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300',
|
|
aliases: [],
|
|
displayTokens: ['GCP'],
|
|
storageFamily: 'cloud',
|
|
},
|
|
],
|
|
} as const;
|
|
export const SOURCE_PLATFORM_MANIFEST_ENTRIES = PLATFORM_SUPPORT_MANIFEST.platforms;
|
|
export const SOURCE_AGENT_HOST_PROFILE_MANIFEST_ENTRIES =
|
|
PLATFORM_SUPPORT_MANIFEST.agentHostProfiles;
|
|
export const AGENT_HOST_PROFILE_IDS = ['unraid'] as const;
|
|
export const SUPPORTED_PLATFORM_IDS = [
|
|
'agent',
|
|
'docker',
|
|
'kubernetes',
|
|
'proxmox-pve',
|
|
'proxmox-pbs',
|
|
'proxmox-pmg',
|
|
'truenas',
|
|
] as const;
|
|
export const ADMITTED_PLATFORM_IDS = ['vmware-vsphere'] as const;
|
|
export const PRESENTATION_ONLY_PLATFORM_IDS = [
|
|
'unraid',
|
|
'synology-dsm',
|
|
'microsoft-hyperv',
|
|
'aws',
|
|
'azure',
|
|
'gcp',
|
|
] as const;
|
|
export const PLATFORM_TYPE_KEYS = [
|
|
'agent',
|
|
'docker',
|
|
'kubernetes',
|
|
'proxmox-pve',
|
|
'proxmox-pbs',
|
|
'proxmox-pmg',
|
|
'truenas',
|
|
'vmware-vsphere',
|
|
] as const;
|
|
export const KNOWN_SOURCE_PLATFORM_KEYS = [
|
|
'agent',
|
|
'docker',
|
|
'kubernetes',
|
|
'proxmox-pve',
|
|
'proxmox-pbs',
|
|
'proxmox-pmg',
|
|
'truenas',
|
|
'vmware-vsphere',
|
|
'unraid',
|
|
'synology-dsm',
|
|
'microsoft-hyperv',
|
|
'aws',
|
|
'azure',
|
|
'gcp',
|
|
'generic',
|
|
] as const;
|
|
export const DEFAULT_INFRASTRUCTURE_SOURCE_ORDER = [
|
|
'agent',
|
|
'truenas',
|
|
'proxmox-pve',
|
|
'proxmox-pbs',
|
|
'proxmox-pmg',
|
|
'docker',
|
|
'kubernetes',
|
|
] as const;
|
|
export const SOURCE_PLATFORM_ALIAS_MAP = {
|
|
k8s: 'kubernetes',
|
|
pve: 'proxmox-pve',
|
|
proxmox: 'proxmox-pve',
|
|
pbs: 'proxmox-pbs',
|
|
pmg: 'proxmox-pmg',
|
|
vmware: 'vmware-vsphere',
|
|
'hyper-v': 'microsoft-hyperv',
|
|
} as const;
|
|
export const SOURCE_PLATFORM_AUDIT_TOKENS = [
|
|
'agent',
|
|
'docker',
|
|
'kubernetes',
|
|
'k8s',
|
|
'proxmox-pve',
|
|
'pve',
|
|
'proxmox',
|
|
'proxmox-pbs',
|
|
'pbs',
|
|
'proxmox-pmg',
|
|
'pmg',
|
|
'truenas',
|
|
'vmware-vsphere',
|
|
'vmware',
|
|
'unraid',
|
|
'synology-dsm',
|
|
'microsoft-hyperv',
|
|
'hyper-v',
|
|
'aws',
|
|
'azure',
|
|
'gcp',
|
|
] as const;
|
|
export const SOURCE_PLATFORM_DISPLAY_TOKENS = [
|
|
'Agent',
|
|
'Docker / Podman',
|
|
'Container runtime',
|
|
'Docker',
|
|
'Podman',
|
|
'K8s',
|
|
'Kubernetes',
|
|
'PVE',
|
|
'Proxmox VE',
|
|
'PBS',
|
|
'Proxmox Backup Server',
|
|
'PMG',
|
|
'Proxmox Mail Gateway',
|
|
'TrueNAS',
|
|
'vSphere',
|
|
'VMware vSphere',
|
|
'Unraid',
|
|
'Synology',
|
|
'DSM',
|
|
'Hyper-V',
|
|
'AWS',
|
|
'Azure',
|
|
'GCP',
|
|
] as const;
|
|
export const SOURCE_PLATFORM_ONBOARDING_PATH_KEYS = [
|
|
'install-workspace',
|
|
'platform-connections',
|
|
] as const;
|
|
export const SOURCE_AGENT_HOST_PROFILE_FAMILY = {
|
|
unraid: 'Unraid',
|
|
} as const;
|
|
export const SOURCE_AGENT_HOST_PROFILE_GOVERNANCE_STATE = {
|
|
unraid: 'supported',
|
|
} as const;
|
|
export const SOURCE_AGENT_HOST_PROFILE_READINESS_STAGE = {
|
|
unraid: 'supported',
|
|
} as const;
|
|
export const SOURCE_AGENT_HOST_PROFILE_HOST_IDENTITY_TOKENS = {
|
|
unraid: ['unraid', 'unraid-os', 'unraid os'],
|
|
} as const;
|
|
export const SOURCE_AGENT_HOST_PROFILE_SUPPORT_FLOOR = {
|
|
unraid: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'n/a',
|
|
storage: 'supported',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'read-only',
|
|
},
|
|
} as const;
|
|
export const SOURCE_AGENT_HOST_PROFILE_STORAGE_FAMILY = {
|
|
unraid: 'onprem',
|
|
} as const;
|
|
export const SOURCE_AGENT_HOST_PROFILE_RUNTIME_PLATFORM = {
|
|
unraid: 'linux',
|
|
} as const;
|
|
export const SOURCE_PLATFORM_FAMILY = {
|
|
agent: 'Pulse-managed host',
|
|
docker: 'Container runtime',
|
|
kubernetes: 'Cluster runtime',
|
|
'proxmox-pve': 'Proxmox',
|
|
'proxmox-pbs': 'Proxmox',
|
|
'proxmox-pmg': 'Proxmox',
|
|
truenas: 'TrueNAS',
|
|
'vmware-vsphere': 'VMware',
|
|
unraid: 'Unraid',
|
|
'synology-dsm': 'Synology',
|
|
'microsoft-hyperv': 'Hyper-V',
|
|
aws: 'AWS',
|
|
azure: 'Azure',
|
|
gcp: 'GCP',
|
|
} as const;
|
|
export const SOURCE_PLATFORM_READINESS_STAGE = {
|
|
agent: 'supported',
|
|
docker: 'supported',
|
|
kubernetes: 'supported',
|
|
'proxmox-pve': 'supported',
|
|
'proxmox-pbs': 'supported',
|
|
'proxmox-pmg': 'supported',
|
|
truenas: 'supported',
|
|
'vmware-vsphere': 'first-lab-ready',
|
|
unraid: 'presentation-only',
|
|
'synology-dsm': 'presentation-only',
|
|
'microsoft-hyperv': 'presentation-only',
|
|
aws: 'presentation-only',
|
|
azure: 'presentation-only',
|
|
gcp: 'presentation-only',
|
|
} as const;
|
|
export const SOURCE_PLATFORM_PRIMARY_MODE = {
|
|
agent: 'agent-backed',
|
|
docker: 'agent-backed',
|
|
kubernetes: 'agent-backed',
|
|
'proxmox-pve': 'api-backed',
|
|
'proxmox-pbs': 'api-backed',
|
|
'proxmox-pmg': 'api-backed',
|
|
truenas: 'api-backed',
|
|
'vmware-vsphere': 'api-backed',
|
|
unraid: 'presentation-only',
|
|
'synology-dsm': 'presentation-only',
|
|
'microsoft-hyperv': 'presentation-only',
|
|
aws: 'presentation-only',
|
|
azure: 'presentation-only',
|
|
gcp: 'presentation-only',
|
|
} as const;
|
|
export const SOURCE_PLATFORM_CANONICAL_PROJECTIONS = {
|
|
agent: ['agent', 'storage', 'physical-disk'],
|
|
docker: ['agent', 'app-container', 'docker-service'],
|
|
kubernetes: ['k8s-cluster', 'k8s-node', 'pod', 'k8s-deployment'],
|
|
'proxmox-pve': ['agent', 'vm', 'system-container', 'storage', 'ceph', 'physical-disk'],
|
|
'proxmox-pbs': ['pbs', 'storage'],
|
|
'proxmox-pmg': ['pmg'],
|
|
truenas: ['agent', 'app-container', 'storage', 'physical-disk'],
|
|
'vmware-vsphere': ['agent', 'vm', 'storage'],
|
|
unraid: [],
|
|
'synology-dsm': [],
|
|
'microsoft-hyperv': [],
|
|
aws: [],
|
|
azure: [],
|
|
gcp: [],
|
|
} as const;
|
|
export const SOURCE_PLATFORM_SUPPORT_FLOOR = {
|
|
agent: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'n/a',
|
|
storage: 'supported',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'supported',
|
|
},
|
|
docker: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'supported',
|
|
},
|
|
kubernetes: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'n/a',
|
|
recovery: 'supported',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'supported',
|
|
},
|
|
'proxmox-pve': {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'supported',
|
|
recovery: 'supported',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'augmentation-only',
|
|
},
|
|
'proxmox-pbs': {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'n/a',
|
|
storage: 'supported',
|
|
recovery: 'supported',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'read-only',
|
|
},
|
|
'proxmox-pmg': {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'read-only',
|
|
},
|
|
truenas: {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'supported',
|
|
recovery: 'supported',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'supported',
|
|
},
|
|
'vmware-vsphere': {
|
|
setup: 'supported',
|
|
visibility: 'supported',
|
|
workloads: 'supported',
|
|
storage: 'supported',
|
|
recovery: 'n/a',
|
|
alerts: 'supported',
|
|
assistantRead: 'supported',
|
|
assistantControl: 'read-only',
|
|
},
|
|
unraid: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
'synology-dsm': {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
'microsoft-hyperv': {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
aws: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
azure: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
gcp: {
|
|
setup: 'n/a',
|
|
visibility: 'n/a',
|
|
workloads: 'n/a',
|
|
storage: 'n/a',
|
|
recovery: 'n/a',
|
|
alerts: 'n/a',
|
|
assistantRead: 'n/a',
|
|
assistantControl: 'n/a',
|
|
},
|
|
} as const;
|
|
export const SOURCE_PLATFORM_ONBOARDING_PATHS = {
|
|
agent: ['install-workspace'],
|
|
docker: ['install-workspace'],
|
|
kubernetes: ['install-workspace'],
|
|
'proxmox-pve': ['platform-connections'],
|
|
'proxmox-pbs': ['platform-connections'],
|
|
'proxmox-pmg': ['platform-connections'],
|
|
truenas: ['platform-connections'],
|
|
'vmware-vsphere': ['platform-connections'],
|
|
unraid: [],
|
|
'synology-dsm': [],
|
|
'microsoft-hyperv': [],
|
|
aws: [],
|
|
azure: [],
|
|
gcp: [],
|
|
} as const;
|
|
export const SOURCE_PLATFORM_PRESENTATION = {
|
|
agent: {
|
|
label: 'Agent',
|
|
tone: 'bg-emerald-100 text-emerald-700 dark:bg-emerald-900 dark:text-emerald-400',
|
|
},
|
|
docker: {
|
|
label: 'Docker / Podman',
|
|
tone: 'bg-sky-100 text-sky-700 dark:bg-sky-900 dark:text-sky-400',
|
|
},
|
|
kubernetes: {
|
|
label: 'K8s',
|
|
tone: 'bg-cyan-100 text-cyan-700 dark:bg-cyan-900 dark:text-cyan-400',
|
|
},
|
|
'proxmox-pve': {
|
|
label: 'PVE',
|
|
tone: 'bg-orange-100 text-orange-700 dark:bg-orange-900 dark:text-orange-400',
|
|
},
|
|
'proxmox-pbs': {
|
|
label: 'PBS',
|
|
tone: 'bg-indigo-100 text-indigo-700 dark:bg-indigo-900 dark:text-indigo-400',
|
|
},
|
|
'proxmox-pmg': {
|
|
label: 'PMG',
|
|
tone: 'bg-rose-100 text-rose-700 dark:bg-rose-900 dark:text-rose-400',
|
|
},
|
|
truenas: {
|
|
label: 'TrueNAS',
|
|
tone: 'bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-400',
|
|
},
|
|
'vmware-vsphere': {
|
|
label: 'vSphere',
|
|
tone: 'bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300',
|
|
},
|
|
unraid: {
|
|
label: 'Unraid',
|
|
tone: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200',
|
|
},
|
|
'synology-dsm': {
|
|
label: 'Synology',
|
|
tone: 'bg-emerald-100 text-emerald-700 dark:bg-emerald-900 dark:text-emerald-300',
|
|
},
|
|
'microsoft-hyperv': {
|
|
label: 'Hyper-V',
|
|
tone: 'bg-cyan-100 text-cyan-700 dark:bg-cyan-900 dark:text-cyan-300',
|
|
},
|
|
aws: {
|
|
label: 'AWS',
|
|
tone: 'bg-amber-100 text-amber-700 dark:bg-amber-900 dark:text-amber-300',
|
|
},
|
|
azure: {
|
|
label: 'Azure',
|
|
tone: 'bg-sky-100 text-sky-700 dark:bg-sky-900 dark:text-sky-300',
|
|
},
|
|
gcp: {
|
|
label: 'GCP',
|
|
tone: 'bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300',
|
|
},
|
|
generic: {
|
|
label: 'Generic',
|
|
tone: 'bg-surface-alt text-base-content',
|
|
},
|
|
} as const;
|
|
export const SOURCE_PLATFORM_STORAGE_FAMILY = {
|
|
agent: 'onprem',
|
|
docker: 'container',
|
|
kubernetes: 'container',
|
|
'proxmox-pve': 'virtualization',
|
|
'proxmox-pbs': 'virtualization',
|
|
'proxmox-pmg': 'virtualization',
|
|
truenas: 'onprem',
|
|
'vmware-vsphere': 'virtualization',
|
|
unraid: 'onprem',
|
|
'synology-dsm': 'onprem',
|
|
'microsoft-hyperv': 'virtualization',
|
|
aws: 'cloud',
|
|
azure: 'cloud',
|
|
gcp: 'cloud',
|
|
} as const;
|
|
export type PlatformGovernanceState =
|
|
(typeof SOURCE_PLATFORM_MANIFEST_ENTRIES)[number]['governanceState'];
|
|
export type PlatformReadinessStage =
|
|
(typeof SOURCE_PLATFORM_MANIFEST_ENTRIES)[number]['readinessStage'];
|
|
export type PlatformPrimaryMode = (typeof SOURCE_PLATFORM_MANIFEST_ENTRIES)[number]['primaryMode'];
|
|
export type PlatformSupportFloor =
|
|
(typeof SOURCE_PLATFORM_MANIFEST_ENTRIES)[number]['supportFloor'];
|
|
export type PlatformSupportFloorValue = PlatformSupportFloor[keyof PlatformSupportFloor];
|
|
export type GeneratedSourcePlatformOnboardingPath =
|
|
(typeof SOURCE_PLATFORM_ONBOARDING_PATH_KEYS)[number];
|
|
export type GeneratedAgentHostProfileId = (typeof AGENT_HOST_PROFILE_IDS)[number];
|
|
export type GeneratedAgentHostProfileManifestEntry =
|
|
(typeof SOURCE_AGENT_HOST_PROFILE_MANIFEST_ENTRIES)[number];
|
|
export type AgentHostProfileGovernanceState =
|
|
(typeof SOURCE_AGENT_HOST_PROFILE_MANIFEST_ENTRIES)[number]['governanceState'];
|
|
export type AgentHostProfileReadinessStage =
|
|
(typeof SOURCE_AGENT_HOST_PROFILE_MANIFEST_ENTRIES)[number]['readinessStage'];
|
|
export type AgentHostProfileSupportFloor =
|
|
(typeof SOURCE_AGENT_HOST_PROFILE_MANIFEST_ENTRIES)[number]['supportFloor'];
|
|
export type AgentHostProfileSupportFloorValue =
|
|
AgentHostProfileSupportFloor[keyof AgentHostProfileSupportFloor];
|
|
export type AgentHostProfileRuntimePlatform =
|
|
(typeof SOURCE_AGENT_HOST_PROFILE_MANIFEST_ENTRIES)[number]['runtimePlatform'];
|
|
export type SourcePlatformStorageFamily =
|
|
(typeof SOURCE_PLATFORM_MANIFEST_ENTRIES)[number]['storageFamily'];
|
|
export type GeneratedPlatformType = (typeof PLATFORM_TYPE_KEYS)[number];
|
|
export type GeneratedKnownSourcePlatform = (typeof KNOWN_SOURCE_PLATFORM_KEYS)[number];
|
|
export type GeneratedSourcePlatformManifestEntry =
|
|
(typeof SOURCE_PLATFORM_MANIFEST_ENTRIES)[number];
|
|
export type SourcePlatformFamily = (typeof SOURCE_PLATFORM_MANIFEST_ENTRIES)[number]['family'];
|