{"record":{"id":"b6163c602a69c946","repo":"paperclipai/paperclip","slug":"createkubeconfig-requires-either-incluster-true-or","errorCode":null,"errorMessage":"createKubeConfig requires either inCluster=true or a kubeconfig string","messagePattern":"createKubeConfig requires either inCluster=true or a kubeconfig string","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/plugins/sandbox-providers/kubernetes/src/kube-client.ts","lineNumber":25,"sourceCode":"  RbacAuthorizationV1Api,\n} from \"@kubernetes/client-node\";\n\nexport interface CreateKubeConfigInput {\n  inCluster?: boolean;\n  kubeconfig?: string;\n}\n\nexport function createKubeConfig(input: CreateKubeConfigInput): KubeConfig {\n  const kc = new KubeConfig();\n  if (input.inCluster) {\n    kc.loadFromCluster();\n    return kc;\n  }\n  if (input.kubeconfig && input.kubeconfig.trim().length > 0) {\n    kc.loadFromString(input.kubeconfig);\n    return kc;\n  }\n  throw new Error(\"createKubeConfig requires either inCluster=true or a kubeconfig string\");\n}\n\nexport interface KubeClients {\n  core: CoreV1Api;\n  batch: BatchV1Api;\n  custom: CustomObjectsApi;\n  networking: NetworkingV1Api;\n  rbac: RbacAuthorizationV1Api;\n}\n\nexport function makeKubeClients(kc: KubeConfig): KubeClients {\n  return {\n    core: kc.makeApiClient(CoreV1Api),\n    batch: kc.makeApiClient(BatchV1Api),\n    custom: kc.makeApiClient(CustomObjectsApi),\n    networking: kc.makeApiClient(NetworkingV1Api),\n    rbac: kc.makeApiClient(RbacAuthorizationV1Api),\n  };","sourceCodeStart":7,"sourceCodeEnd":43,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/plugins/sandbox-providers/kubernetes/src/kube-client.ts#L7-L43","documentation":"Error \"createKubeConfig requires either inCluster=true or a kubeconfig string\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/plugins/sandbox-providers/kubernetes/src/kube-client.ts:25 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass inCluster=true when running inside the cluster, or provide a kubeconfig string."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}