summary history files

frontend/src/lib/resources.ts
export type KubernetesResourceKind =
  'Pod' |
  'Deployment' |
  'StatefulSet' |
  'ConfigMap' |
  'Ingress' |
  'Namespace' |
  'Secret' |
  'PersistentVolumeClaim' |
  'PersistentVolume' |
  'Unknown';

export function getResourceKind(resource: any): KubernetesResourceKind {
  if (resource.kind) {
    switch (resource.kind) {
      case 'Pod':
        return 'Pod';
      case 'Deployment':
        return 'Deployment';
      case 'StatefulSet':
        return 'StatefulSet';
      case 'ConfigMap':
        return 'ConfigMap';
      case 'Ingress':
        return 'Ingress';
      case 'Namespace':
        return 'Namespace';
      case 'Secret':
        return 'Secret';
      case 'PersistentVolumeClaim':
        return 'PersistentVolumeClaim';
      case 'PersistentVolume':
        return 'PersistentVolume';
      default:
        return 'Unknown'
    }
  }
  return 'Unknown';
}

/**
* Check if resource is a pod
*/
export function isPod(resource: any): boolean {
  return resource.kind === 'Pod' ||
    (resource.spec && Array.isArray(resource.spec.containers));
}

/**
 * Check if resource is a deployment
 */
export function isDeployment(resource: any): boolean {
  return resource.kind === 'Deployment' || 
         (resource.spec && typeof resource.spec.replicas !== 'undefined');
}

export function isStatefulSet(resource: any): boolean {
  return resource.kind === 'StatefulSet';
}

export function isConfigMap(resource: any): boolean {
  return resource.kind === 'ConfigMap';
}