import type * as k8s from "@kubernetes/client-node"; import type { CustomResourceSummary } from "@minikura/api"; export interface IK8sService { // Initialization isInitialized(): boolean; getConnectionInfo(): { initialized: boolean; currentContext?: string; cluster?: string; namespace: string; }; // Pods getPods(): Promise; getPodsByLabel(labelSelector: string): Promise; getPodInfo(podName: string): Promise; getPodLogs( podName: string, options?: { container?: string; tailLines?: number; timestamps?: boolean; sinceSeconds?: number; } ): Promise; getPodMetrics(namespace?: string): Promise; // Workloads getDeployments(): Promise; getStatefulSets(): Promise; // Network getServices(): Promise; getIngresses(): Promise; getServiceInfo(serviceName: string): Promise; getServerConnectionInfo(serviceName: string): Promise; // Configuration getConfigMaps(): Promise; // Custom Resources getCustomResources( group: string, version: string, plural: string ): Promise; getMinecraftServers(): Promise; getReverseProxyServers(): Promise; // Cluster getNodes(): Promise; getNodeMetrics(): Promise; // Low-level access getKubeConfig(): k8s.KubeConfig; getCoreApi(): k8s.CoreV1Api; getNamespace(): string; }