skypilot-nightly 1.0.0.dev20251008__py3-none-any.whl → 1.0.0.dev20251009__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of skypilot-nightly might be problematic. Click here for more details.

Files changed (74) hide show
  1. sky/__init__.py +2 -2
  2. sky/backends/cloud_vm_ray_backend.py +68 -34
  3. sky/client/cli/command.py +6 -6
  4. sky/dashboard/out/404.html +1 -1
  5. sky/dashboard/out/_next/static/chunks/1141-3b40c39626f99c89.js +11 -0
  6. sky/dashboard/out/_next/static/chunks/{9037-d0c00018a5ba198c.js → 1871-49141c317f3a9020.js} +2 -2
  7. sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js +15 -0
  8. sky/dashboard/out/_next/static/chunks/2755.97300e1362fe7c98.js +26 -0
  9. sky/dashboard/out/_next/static/chunks/3294.1fafbf42b3bcebff.js +1 -0
  10. sky/dashboard/out/_next/static/chunks/3785.a19328ba41517b8b.js +1 -0
  11. sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js +15 -0
  12. sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js +13 -0
  13. sky/dashboard/out/_next/static/chunks/7359-c8d04e06886000b3.js +30 -0
  14. sky/dashboard/out/_next/static/chunks/8640.5b9475a2d18c5416.js +16 -0
  15. sky/dashboard/out/_next/static/chunks/{5339.4a881570243431a5.js → 9360.71e83b2ddc844ec2.js} +4 -24
  16. sky/dashboard/out/_next/static/chunks/9847.3aaca6bb33455140.js +30 -0
  17. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/{[job]-72794fc3fcdd517a.js → [job]-8f058b0346db2aff.js} +1 -1
  18. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-477555ab7c0b13d8.js +1 -0
  19. sky/dashboard/out/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js +1 -0
  20. sky/dashboard/out/_next/static/chunks/pages/infra/{[context]-6563820e094f68ca.js → [context]-553b8b5cb65e100b.js} +1 -1
  21. sky/dashboard/out/_next/static/chunks/pages/{infra-aabba60d57826e0f.js → infra-910a22500c50596f.js} +1 -1
  22. sky/dashboard/out/_next/static/chunks/pages/jobs/{[job]-dd64309c3fe67ed2.js → [job]-4f7079dcab6ed653.js} +7 -2
  23. sky/dashboard/out/_next/static/chunks/pages/jobs/pools/{[pool]-509b2977a6373bf6.js → [pool]-bc979970c247d8f3.js} +7 -2
  24. sky/dashboard/out/_next/static/chunks/pages/jobs-a35a9dc3c5ccd657.js +1 -0
  25. sky/dashboard/out/_next/static/chunks/pages/users-98d2ed979084162a.js +1 -0
  26. sky/dashboard/out/_next/static/chunks/pages/volumes-835d14ba94808f79.js +1 -0
  27. sky/dashboard/out/_next/static/chunks/pages/workspaces/{[name]-af76bb06dbb3954f.js → [name]-e8688c35c06f0ac5.js} +1 -1
  28. sky/dashboard/out/_next/static/chunks/pages/{workspaces-7528cc0ef8c522c5.js → workspaces-69c80d677d3c2949.js} +1 -1
  29. sky/dashboard/out/_next/static/chunks/webpack-6a5ddd0184bfa22c.js +1 -0
  30. sky/dashboard/out/_next/static/hIViZcQBkn0HE8SpaSsUU/_buildManifest.js +1 -0
  31. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  32. sky/dashboard/out/clusters/[cluster].html +1 -1
  33. sky/dashboard/out/clusters.html +1 -1
  34. sky/dashboard/out/config.html +1 -1
  35. sky/dashboard/out/index.html +1 -1
  36. sky/dashboard/out/infra/[context].html +1 -1
  37. sky/dashboard/out/infra.html +1 -1
  38. sky/dashboard/out/jobs/[job].html +1 -1
  39. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  40. sky/dashboard/out/jobs.html +1 -1
  41. sky/dashboard/out/users.html +1 -1
  42. sky/dashboard/out/volumes.html +1 -1
  43. sky/dashboard/out/workspace/new.html +1 -1
  44. sky/dashboard/out/workspaces/[name].html +1 -1
  45. sky/dashboard/out/workspaces.html +1 -1
  46. sky/jobs/controller.py +10 -2
  47. sky/jobs/recovery_strategy.py +3 -1
  48. sky/metrics/utils.py +28 -17
  49. sky/provision/kubernetes/instance.py +18 -3
  50. sky/templates/kubernetes-ray.yml.j2 +1 -1
  51. {skypilot_nightly-1.0.0.dev20251008.dist-info → skypilot_nightly-1.0.0.dev20251009.dist-info}/METADATA +36 -36
  52. {skypilot_nightly-1.0.0.dev20251008.dist-info → skypilot_nightly-1.0.0.dev20251009.dist-info}/RECORD +57 -57
  53. sky/dashboard/out/_next/static/MnvNdzHHpiZG1_oKSpbxF/_buildManifest.js +0 -1
  54. sky/dashboard/out/_next/static/chunks/1141-159df2d4c441a9d1.js +0 -1
  55. sky/dashboard/out/_next/static/chunks/1836-37fede578e2da5f8.js +0 -40
  56. sky/dashboard/out/_next/static/chunks/3294.93d9336bdc032b3a.js +0 -6
  57. sky/dashboard/out/_next/static/chunks/3785.0fa442e16dd3f00e.js +0 -1
  58. sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js +0 -21
  59. sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js +0 -10
  60. sky/dashboard/out/_next/static/chunks/649.b9d7f7d10c1b8c53.js +0 -45
  61. sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js +0 -6
  62. sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js +0 -18
  63. sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js +0 -36
  64. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-e052384df65ef200.js +0 -16
  65. sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js +0 -1
  66. sky/dashboard/out/_next/static/chunks/pages/jobs-1f70d9faa564804f.js +0 -1
  67. sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js +0 -1
  68. sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js +0 -1
  69. sky/dashboard/out/_next/static/chunks/webpack-3286453d56f3c0a0.js +0 -1
  70. /sky/dashboard/out/_next/static/{MnvNdzHHpiZG1_oKSpbxF → hIViZcQBkn0HE8SpaSsUU}/_ssgManifest.js +0 -0
  71. {skypilot_nightly-1.0.0.dev20251008.dist-info → skypilot_nightly-1.0.0.dev20251009.dist-info}/WHEEL +0 -0
  72. {skypilot_nightly-1.0.0.dev20251008.dist-info → skypilot_nightly-1.0.0.dev20251009.dist-info}/entry_points.txt +0 -0
  73. {skypilot_nightly-1.0.0.dev20251008.dist-info → skypilot_nightly-1.0.0.dev20251009.dist-info}/licenses/LICENSE +0 -0
  74. {skypilot_nightly-1.0.0.dev20251008.dist-info → skypilot_nightly-1.0.0.dev20251009.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-3286453d56f3c0a0.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1836-37fede578e2da5f8.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-8d748834fcc60b46.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-159df2d4c441a9d1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-af76bb06dbb3954f.js" defer=""></script><script src="/dashboard/_next/static/MnvNdzHHpiZG1_oKSpbxF/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/MnvNdzHHpiZG1_oKSpbxF/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"MnvNdzHHpiZG1_oKSpbxF","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6a5ddd0184bfa22c.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-8d748834fcc60b46.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-3b40c39626f99c89.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-e8688c35c06f0ac5.js" defer=""></script><script src="/dashboard/_next/static/hIViZcQBkn0HE8SpaSsUU/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/hIViZcQBkn0HE8SpaSsUU/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"hIViZcQBkn0HE8SpaSsUU","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-3286453d56f3c0a0.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-7528cc0ef8c522c5.js" defer=""></script><script src="/dashboard/_next/static/MnvNdzHHpiZG1_oKSpbxF/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/MnvNdzHHpiZG1_oKSpbxF/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"MnvNdzHHpiZG1_oKSpbxF","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6a5ddd0184bfa22c.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-69c80d677d3c2949.js" defer=""></script><script src="/dashboard/_next/static/hIViZcQBkn0HE8SpaSsUU/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/hIViZcQBkn0HE8SpaSsUU/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"hIViZcQBkn0HE8SpaSsUU","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
sky/jobs/controller.py CHANGED
@@ -870,8 +870,16 @@ class Controller:
870
870
  # because when SkyPilot API server machine sends the yaml config to
871
871
  # the controller machine, only storage metadata is sent, not the
872
872
  # storage object itself.
873
- for storage in task.storage_mounts.values():
874
- storage.construct()
873
+ try:
874
+ for storage in task.storage_mounts.values():
875
+ storage.construct()
876
+ except (exceptions.StorageSpecError, exceptions.StorageError) as e:
877
+ job_logger.warning(
878
+ f'Failed to construct storage object for teardown: {e}\n'
879
+ 'This may happen because storage construction already '
880
+ 'failed during launch, storage was deleted externally, '
881
+ 'credentials expired/changed, or network connectivity '
882
+ 'issues.')
875
883
  try:
876
884
  backend.teardown_ephemeral_storage(task)
877
885
  except Exception as e: # pylint: disable=broad-except
@@ -495,7 +495,9 @@ class StrategyExecutor:
495
495
  self._logger.info('Managed job cluster launched.')
496
496
  except (exceptions.InvalidClusterNameError,
497
497
  exceptions.NoCloudAccessError,
498
- exceptions.ResourcesMismatchError) as e:
498
+ exceptions.ResourcesMismatchError,
499
+ exceptions.StorageSpecError,
500
+ exceptions.StorageError) as e:
499
501
  self._logger.error(
500
502
  'Failure happened before provisioning. '
501
503
  f'{common_utils.format_exception(e)}')
sky/metrics/utils.py CHANGED
@@ -195,6 +195,8 @@ def start_svc_port_forward(context: str, namespace: str, service: str,
195
195
  port_forward_process = None
196
196
  port_forward_exit = False
197
197
  local_port = None
198
+ poller = None
199
+ fd = None
198
200
 
199
201
  try:
200
202
  # start the port forward process
@@ -204,8 +206,13 @@ def start_svc_port_forward(context: str, namespace: str, service: str,
204
206
  text=True,
205
207
  env=env)
206
208
 
207
- start_time = time.time()
209
+ # Use poll() instead of select() to avoid FD_SETSIZE limit
210
+ poller = select.poll()
211
+ assert port_forward_process.stdout is not None
212
+ fd = port_forward_process.stdout.fileno()
213
+ poller.register(fd, select.POLLIN)
208
214
 
215
+ start_time = time.time()
209
216
  buffer = ''
210
217
  # wait for the port forward to start and extract the local port
211
218
  while time.time() - start_time < start_port_forward_timeout:
@@ -215,22 +222,19 @@ def start_svc_port_forward(context: str, namespace: str, service: str,
215
222
  port_forward_exit = True
216
223
  break
217
224
 
218
- # read output line by line to find the local port
219
- if port_forward_process.stdout:
220
- # Wait up to 1s for data to be available without blocking
221
- r, _, _ = select.select([port_forward_process.stdout], [], [],
222
- _SELECT_TIMEOUT)
223
- if r:
224
- # Read available bytes from the FD without blocking
225
- fd = port_forward_process.stdout.fileno()
226
- raw = os.read(fd, _SELECT_BUFFER_SIZE)
227
- chunk = raw.decode(errors='ignore')
228
- buffer += chunk
229
- match = re.search(r'Forwarding from 127\.0\.0\.1:(\d+)',
230
- buffer)
231
- if match:
232
- local_port = int(match.group(1))
233
- break
225
+ # Wait up to 1000ms for data to be available without blocking
226
+ # poll() takes timeout in milliseconds
227
+ events = poller.poll(_SELECT_TIMEOUT * 1000)
228
+
229
+ if events:
230
+ # Read available bytes from the FD without blocking
231
+ raw = os.read(fd, _SELECT_BUFFER_SIZE)
232
+ chunk = raw.decode(errors='ignore')
233
+ buffer += chunk
234
+ match = re.search(r'Forwarding from 127\.0\.0\.1:(\d+)', buffer)
235
+ if match:
236
+ local_port = int(match.group(1))
237
+ break
234
238
 
235
239
  # sleep for 100ms to avoid busy-waiting
236
240
  time.sleep(0.1)
@@ -239,6 +243,13 @@ def start_svc_port_forward(context: str, namespace: str, service: str,
239
243
  stop_svc_port_forward(port_forward_process,
240
244
  timeout=terminate_port_forward_timeout)
241
245
  raise
246
+ finally:
247
+ if poller is not None and fd is not None:
248
+ try:
249
+ poller.unregister(fd)
250
+ except (OSError, ValueError):
251
+ # FD may already be unregistered or invalid
252
+ pass
242
253
  if port_forward_exit:
243
254
  raise RuntimeError(f'Port forward failed for service {service} in '
244
255
  f'namespace {namespace} on context {context}')
@@ -934,8 +934,11 @@ def _create_pods(region: str, cluster_name: str, cluster_name_on_cloud: str,
934
934
  running_pods = kubernetes_utils.filter_pods(namespace, context, tags,
935
935
  ['Pending', 'Running'])
936
936
  head_pod_name = _get_head_pod_name(running_pods)
937
+ running_pod_statuses = [{
938
+ pod.metadata.name: pod.status.phase
939
+ } for pod in running_pods.values()]
937
940
  logger.debug(f'Found {len(running_pods)} existing pods: '
938
- f'{list(running_pods.keys())}')
941
+ f'{running_pod_statuses}')
939
942
 
940
943
  to_start_count = config.count - len(running_pods)
941
944
  if to_start_count < 0:
@@ -1142,10 +1145,21 @@ def _create_pods(region: str, cluster_name: str, cluster_name_on_cloud: str,
1142
1145
  pods = created_resources
1143
1146
 
1144
1147
  created_pods = {}
1148
+ valid_pods = []
1145
1149
  for pod in pods:
1150
+ # In case Pod is not created
1151
+ if pod is None:
1152
+ continue
1153
+ valid_pods.append(pod)
1146
1154
  created_pods[pod.metadata.name] = pod
1147
1155
  if head_pod_name is None and _is_head(pod):
1148
1156
  head_pod_name = pod.metadata.name
1157
+ pods = valid_pods
1158
+
1159
+ # The running_pods may include Pending Pods, so we add them to the pods
1160
+ # list to wait for scheduling and running
1161
+ if running_pods:
1162
+ pods = pods + list(running_pods.values())
1149
1163
 
1150
1164
  provision_timeout = provider_config['timeout']
1151
1165
 
@@ -1369,8 +1383,9 @@ def get_cluster_info(
1369
1383
  assert head_spec is not None, pod
1370
1384
  cpu_request = head_spec.containers[0].resources.requests['cpu']
1371
1385
 
1372
- assert cpu_request is not None, ('cpu_request should not be None, check '
1373
- 'the Pod status')
1386
+ if cpu_request is None:
1387
+ raise RuntimeError(f'Pod {cluster_name_on_cloud}-head not found'
1388
+ ' or not Running, check the Pod status')
1374
1389
 
1375
1390
  ssh_user = 'sky'
1376
1391
  # Use pattern matching to extract SSH user, handling MOTD contamination.
@@ -911,7 +911,7 @@ available_node_types:
911
911
  # unset PYTHONPATH in case the user provided docker image set it.
912
912
  # ~/.sky/python_path is seeded by conda_installation_commands
913
913
  VIRTUAL_ENV=~/skypilot-runtime UV_SYSTEM_PYTHON=false env -u PYTHONPATH ~/.local/bin/uv pip list | grep "ray " | grep 2.9.3 2>&1 > /dev/null && {
914
- $(cat ~/.sky/python_path) -c "from sky.skylet.ray_patches import patch; patch()" || exit 1;
914
+ env -u PYTHONPATH $(cat ~/.sky/python_path) -c "from sky.skylet.ray_patches import patch; patch()" || exit 1;
915
915
  }
916
916
  touch /tmp/ray_skypilot_installation_complete
917
917
  echo "=== Ray and skypilot installation completed ==="
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20251008
3
+ Version: 1.0.0.dev20251009
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -155,51 +155,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
155
155
  Requires-Dist: aiosqlite; extra == "server"
156
156
  Requires-Dist: greenlet; extra == "server"
157
157
  Provides-Extra: all
158
- Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
159
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
160
- Requires-Dist: anyio; extra == "all"
158
+ Requires-Dist: nebius>=0.2.47; extra == "all"
159
+ Requires-Dist: websockets; extra == "all"
160
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
161
+ Requires-Dist: msgraph-sdk; extra == "all"
162
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
161
163
  Requires-Dist: google-cloud-storage; extra == "all"
162
- Requires-Dist: passlib; extra == "all"
163
- Requires-Dist: azure-core>=1.24.0; extra == "all"
164
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
165
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
166
- Requires-Dist: azure-common; extra == "all"
167
164
  Requires-Dist: casbin; extra == "all"
168
- Requires-Dist: docker; extra == "all"
169
- Requires-Dist: azure-core>=1.31.0; extra == "all"
170
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
171
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
172
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
173
- Requires-Dist: grpcio>=1.63.0; extra == "all"
165
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
166
+ Requires-Dist: ecsapi>=0.2.0; extra == "all"
167
+ Requires-Dist: awscli>=1.27.10; extra == "all"
168
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
174
169
  Requires-Dist: msrestazure; extra == "all"
170
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
171
+ Requires-Dist: ibm-vpc; extra == "all"
172
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
173
+ Requires-Dist: anyio; extra == "all"
174
+ Requires-Dist: runpod>=1.6.1; extra == "all"
175
175
  Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
176
- Requires-Dist: colorama<0.4.5; extra == "all"
177
- Requires-Dist: botocore>=1.29.10; extra == "all"
176
+ Requires-Dist: greenlet; extra == "all"
177
+ Requires-Dist: ibm-cos-sdk; extra == "all"
178
+ Requires-Dist: docker; extra == "all"
179
+ Requires-Dist: azure-common; extra == "all"
180
+ Requires-Dist: python-dateutil; extra == "all"
181
+ Requires-Dist: tomli; python_version < "3.11" and extra == "all"
178
182
  Requires-Dist: pyjwt; extra == "all"
183
+ Requires-Dist: botocore>=1.29.10; extra == "all"
184
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
185
+ Requires-Dist: colorama<0.4.5; extra == "all"
186
+ Requires-Dist: passlib; extra == "all"
187
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
188
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
189
+ Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
179
190
  Requires-Dist: aiosqlite; extra == "all"
180
- Requires-Dist: pydo>=0.3.0; extra == "all"
191
+ Requires-Dist: aiohttp; extra == "all"
181
192
  Requires-Dist: cudo-compute>=0.1.10; extra == "all"
182
- Requires-Dist: ibm-vpc; extra == "all"
183
- Requires-Dist: awscli>=1.27.10; extra == "all"
184
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
185
- Requires-Dist: ibm-cos-sdk; extra == "all"
186
- Requires-Dist: greenlet; extra == "all"
187
- Requires-Dist: tomli; python_version < "3.11" and extra == "all"
188
- Requires-Dist: python-dateutil; extra == "all"
193
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
189
194
  Requires-Dist: boto3>=1.26.1; extra == "all"
190
- Requires-Dist: sqlalchemy_adapter; extra == "all"
191
- Requires-Dist: ray[default]>=2.6.1; extra == "all"
195
+ Requires-Dist: pydo>=0.3.0; extra == "all"
196
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
197
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
192
198
  Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
199
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
200
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
201
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
193
202
  Requires-Dist: oci; extra == "all"
194
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
195
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
196
- Requires-Dist: runpod>=1.6.1; extra == "all"
197
- Requires-Dist: aiohttp; extra == "all"
198
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
199
- Requires-Dist: websockets; extra == "all"
200
- Requires-Dist: nebius>=0.2.47; extra == "all"
201
- Requires-Dist: ecsapi>=0.2.0; extra == "all"
202
- Requires-Dist: msgraph-sdk; extra == "all"
203
203
  Dynamic: author
204
204
  Dynamic: classifier
205
205
  Dynamic: description
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=LvJBBH151r37F-SjTbuq2NYGM2xFn3uKNPN1u8YE-mg,6713
1
+ sky/__init__.py,sha256=VBoSJNGIYKBa65awxYvg4v5V4B51muKT45hbukiiBh8,6713
2
2
  sky/admin_policy.py,sha256=XdcJnYqmude-LGGop-8U-FeiJcqtfYsYtIy4rmoCJnM,9799
3
3
  sky/authentication.py,sha256=oOY5TmvqLXQslUNDPAe2aNFZ1qi7igDM-Mp4GfAQ2hw,24066
4
4
  sky/check.py,sha256=hBDTkiADC3HFfO6brZV819FVWcdOs3aiuhB6x6mY4Q4,29728
@@ -38,7 +38,7 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
38
38
  sky/backends/__init__.py,sha256=l1xXpkzPFMma0ZkT4GzVMu7uvgS3AsECg6zLc0S3JHQ,702
39
39
  sky/backends/backend.py,sha256=zmF6TuKtUwzsP1hq0TI9nuuUySlPc9sgeW6F4GC8Ckk,8352
40
40
  sky/backends/backend_utils.py,sha256=qbewVFNHQlinc4Wvn6ewocv3nash0X6RuDPOgyLXvFY,177499
41
- sky/backends/cloud_vm_ray_backend.py,sha256=1vhW3vDTFCoJJ_DbCulUpPAA5Ns3MwdypSS1jbOYPx4,307417
41
+ sky/backends/cloud_vm_ray_backend.py,sha256=FL2pk-QQyi4HNtEIevf0PH9856VNiK4toqyFJAE8fxk,308398
42
42
  sky/backends/docker_utils.py,sha256=_EhM6NStZDAwcegppQqExaB5iuSn1qL4xFFUqXAz2Uk,8392
43
43
  sky/backends/local_docker_backend.py,sha256=ncc8-WJrMRnqPl9fzvGr-nftIz7tTzKtUi-p_z_nH60,17366
44
44
  sky/backends/wheel_utils.py,sha256=DE71Muq5qLRhGpCVg1Rb6YOI7S_BzT8Hak27Pz8L4yw,12486
@@ -87,7 +87,7 @@ sky/client/sdk.py,sha256=zlIhCbrIhzYsqL1SUW3onmu2xDYTleSKBSLuDm6Z13o,107483
87
87
  sky/client/sdk_async.py,sha256=8G_E9Dn4d80rV-wxRH4zZUXZGAm6rLw3C8PI07fXwwQ,31106
88
88
  sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63auXFRj4,1529
89
89
  sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
- sky/client/cli/command.py,sha256=d5KNHUG6ej8GwQb89WqiRi6T61FXdI6Rt-ovA-Z3CI0,250301
90
+ sky/client/cli/command.py,sha256=8LuQpQKmT8Wm_dloI2vFj7wm8TVehuJlkmRUm-VVEWQ,250333
91
91
  sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wqfbjv5E,3370
92
92
  sky/client/cli/flags.py,sha256=lLXHooU4HEslbHJuGAiCrKYkJZx99hAKaJbstw7s1bc,12136
93
93
  sky/client/cli/table_utils.py,sha256=HT_y__9_tZLKJ0aJu-hh67cu3NXfWDoiHir5fTmWaDw,10156
@@ -119,81 +119,81 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
119
119
  sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
120
120
  sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
121
121
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
122
- sky/dashboard/out/404.html,sha256=qv3LiFSIGIJ6p4TXRIWfSTwBkuUONuxLBwWCo-7rI-4,1423
123
- sky/dashboard/out/clusters.html,sha256=HpSn9HI1JrqktPggJ99MPpYY3WxOHGnZGEH7uGus1cI,1418
124
- sky/dashboard/out/config.html,sha256=ofe30sDlQ8ozFqFVwgfoqECh0I743MHCY6l19G-Gnhk,1414
122
+ sky/dashboard/out/404.html,sha256=mOIttA8Srd5zBYsZAxHWrSm6fZDW0rCsqms-f-i4i04,1423
123
+ sky/dashboard/out/clusters.html,sha256=5QuxuHxV8TgO3A_ZUr6Mw3xIaMKTlkDWsLmpC58YVw0,1418
124
+ sky/dashboard/out/config.html,sha256=nyke4vFkPbLYUgZglNayZrIBo2b30J2VQSkQE-bllSk,1414
125
125
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
126
- sky/dashboard/out/index.html,sha256=Jwbr8dnWGKbznS8FxptoFg-ZzKTA0fxhjXBkhkDmdL4,1407
127
- sky/dashboard/out/infra.html,sha256=_qKC2ICIRxYPlSKiIGbwZQPY6rpp7ACwFn1IwoHiE0s,1412
128
- sky/dashboard/out/jobs.html,sha256=eLBabcLtGPyvmqWL-NsRuEXazlAR2UF0Um7upKKOMrE,1410
126
+ sky/dashboard/out/index.html,sha256=oBlMfKod5hdiPnlfFiuTtHrb958GemK3qjiiL2ljLq0,1407
127
+ sky/dashboard/out/infra.html,sha256=9I0lujnx9uGCowfM_5IMd8qKVm4fH1uwcHkeVugN4Wo,1412
128
+ sky/dashboard/out/jobs.html,sha256=W72YO7AZU4IzcrbHV5tyWxEfnR1qCWO4HQdtfOKssZA,1410
129
129
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
130
- sky/dashboard/out/users.html,sha256=CjPhY8--oQGAvmm_3jN3DrlFrtWjSlZdzsMhiqLrKUA,1412
131
- sky/dashboard/out/volumes.html,sha256=doHGMXL_qwCTdPAnpoVL5QNzQyPkZ_vR3xM_m8KjRBU,1416
132
- sky/dashboard/out/workspaces.html,sha256=gBbWaBSbIdlU69D77UPU9ZfvvCkV5QTce9KeplbeXLU,1422
133
- sky/dashboard/out/_next/static/MnvNdzHHpiZG1_oKSpbxF/_buildManifest.js,sha256=fU6juI23eV2o12c76krAvb_jtylYA6BZxZI6dTzZ_Es,2428
134
- sky/dashboard/out/_next/static/MnvNdzHHpiZG1_oKSpbxF/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
130
+ sky/dashboard/out/users.html,sha256=SxC9W9Xuvh-VtYy3NLvUE5bJ8U0Vnkj91gPU7ZALYbs,1412
131
+ sky/dashboard/out/volumes.html,sha256=Ghidhe836x0v-ViCUGnzjXZoCSOdz3L3SlD7ISPPYg4,1416
132
+ sky/dashboard/out/workspaces.html,sha256=sY4xSDLjWzo4Tlq1e8ildKjrqqcrN8kizmTXoFryB9M,1422
135
133
  sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js,sha256=jIvnDxaTleAz3HdZK9-RScSB0ZMg8-D63KQmn8avaHI,8883
136
- sky/dashboard/out/_next/static/chunks/1141-159df2d4c441a9d1.js,sha256=kdYh_Ek9hdib5emC7Iezojh3qASBnOIUHH5zX_ScR0U,17355
134
+ sky/dashboard/out/_next/static/chunks/1141-3b40c39626f99c89.js,sha256=M5vM2c9SRPEly-CQj0Vj7wJzyFSyuALDik9KFLXWmec,18285
137
135
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
138
- sky/dashboard/out/_next/static/chunks/1836-37fede578e2da5f8.js,sha256=2ibdKVUjO2N62T4dtfY0xsRFwG-IJh41sK450Dv0_48,10554
136
+ sky/dashboard/out/_next/static/chunks/1871-49141c317f3a9020.js,sha256=hUHiB-SESvEqfuA8D5OBvwJpIPFBRSu02JiA2yUzdBw,20652
139
137
  sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js,sha256=TQCHO4AUL9MZo1e_8GOiL8y6vjQpj5tdXZ8oCKwM1LA,271
138
+ sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js,sha256=qkKMDvgq-AVeC811VipJzXHAB__R4G2eHj-I-7_N2Ek,8177
139
+ sky/dashboard/out/_next/static/chunks/2755.97300e1362fe7c98.js,sha256=zNlZ7a_yzrFWXrSy0Lnt7Akp4YU-2jP6pP22sc9F9jY,50173
140
140
  sky/dashboard/out/_next/static/chunks/3015-8d748834fcc60b46.js,sha256=tj3H7To9B1N0JYiKiOjl-9n6BxWftbuDIuN7kKPtzrg,39407
141
- sky/dashboard/out/_next/static/chunks/3294.93d9336bdc032b3a.js,sha256=x3dU97W3J2NHFar0SLASawUOTFcMAA7-l37BP7CQF_Y,43099
142
- sky/dashboard/out/_next/static/chunks/3785.0fa442e16dd3f00e.js,sha256=4jP00x0jORTUAIGFUlQu_Ut-T07_OmfH46D5Nut_crQ,4438
141
+ sky/dashboard/out/_next/static/chunks/3294.1fafbf42b3bcebff.js,sha256=omOoN6E5JWJ1Du3e_WhRBJeTdsTip05pJjwaLOd0ihI,42452
142
+ sky/dashboard/out/_next/static/chunks/3785.a19328ba41517b8b.js,sha256=NWRf7Qtfo6EGSJWrdFfhaHw3CbrWVujT8oiiNAcipNk,4538
143
143
  sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js,sha256=XphBY9psNzmvGD28zgDunQEb-TX0_eOVaElmcuOjD1g,7455
144
144
  sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js,sha256=0tYP8uuog_WLEZmEuej4zenfX0PUa17nR874wSSBgqI,54583
145
- sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js,sha256=tapRUwwIf-YKMV73OTSX78ZWKDKCZdcBx-JC-0wgEF4,31405
146
- sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js,sha256=cfO5u2g0pHjyBqEtXvxjqyzqSSCXL6l1vYdMFd90WGg,8571
147
145
  sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js,sha256=Og54dlTz1nWvsEyE9mmzeKjfJcNkloX5MbQN7ujfrt0,15962
148
- sky/dashboard/out/_next/static/chunks/5339.4a881570243431a5.js,sha256=fHDCctokRXQ3IFfDR6vNwKEPkIrvAqQHdbhd_luMVlw,21750
146
+ sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js,sha256=WSR1BWr-lYNW6tNy2zN_eeAM16NbzByx5kzjF06vkIA,9318
149
147
  sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js,sha256=UMLEyZH3SWcAdDnaOYztbUYUzCCP2t0KiwP2vT_swDQ,65504
150
148
  sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js,sha256=5gyzVH8d5jnrVqCh9y0HEFcRmg4zguJ9_fe9olGFW2U,29162
151
149
  sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js,sha256=OLvQvfyMwh1ltTzUqJda3AF23BSCllkw9J7MVmkTyKI,15165
152
150
  sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js,sha256=UQxIbEZseq4ore8Y1Tm5OT3Re7fU8ZZKjQQWk4JPvK4,179393
153
- sky/dashboard/out/_next/static/chunks/649.b9d7f7d10c1b8c53.js,sha256=wUdmzEiSknP_LP1jtpaNdiDRrF8dtxaC7Z_bWNRC8sM,11946
151
+ sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js,sha256=ipLAaXhbFdPNtxl4XXjguGHlA4fAytX77aaU2zFt4fk,785262
154
152
  sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js,sha256=coh7shL8L5Vp2MsibBTx-xxNq_BI-zp0jAl7f6eVmUQ,9659
155
153
  sky/dashboard/out/_next/static/chunks/6856-5fdc9b851a18acdb.js,sha256=4K_3WXrxsS2oMAlYgI2MOu9Ga57839QqmoFFUyTpIdo,18165
156
154
  sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js,sha256=iIEGQp3dsChOsDxd7QH_ShGczWhvigMfIT35CSsZjjY,11873
157
155
  sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js,sha256=S_U1sK3gxmP1Lw9QkbrfWmjpdc1qeR2olYlNx04klOQ,16152
158
- sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js,sha256=5x42A-PEZANeHAcNDbcnJ21uQF48yTrP3XeW5L4RH1g,495
156
+ sky/dashboard/out/_next/static/chunks/7359-c8d04e06886000b3.js,sha256=xYHgSaC-IzLl8rjWP56VOQOt_34T0pZ-37e-sAyua74,9624
159
157
  sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js,sha256=Dnmr9e-yZQbnkjwzqIZU3aK-3u1Tqr8STF-ODYWLkaw,13304
160
- sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js,sha256=R6UUmK1P1PfVx9zOU0jlBsVSk5ZchuPwWObAeVkkhU0,785694
161
- sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js,sha256=FbppLXkHKPxzVKrJg15FwCoqLU18yn5jBgYgDkjqDGM,52179
158
+ sky/dashboard/out/_next/static/chunks/8640.5b9475a2d18c5416.js,sha256=FTVy8VJRwSeEK7QH0GzTjs1b8aIz9x-pVlRcSVHdrfw,2398
162
159
  sky/dashboard/out/_next/static/chunks/8969-66237729cdf9749e.js,sha256=roQUWHfOmYlOYM3DTfaMCjFmm8QQWQx7sN1VodZFeso,13915
163
160
  sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js,sha256=1Txv8nMuBYtB0UoWdwmFbkA2iB85jgKB1EJJrE1ETDo,10605
164
- sky/dashboard/out/_next/static/chunks/9037-d0c00018a5ba198c.js,sha256=6P21MKO405fAX4VTgiwOI6OMzey3HW2TfPvOMUMmUVQ,19843
161
+ sky/dashboard/out/_next/static/chunks/9360.71e83b2ddc844ec2.js,sha256=xq2DBkbdst4bVQDbxS5NqV3MoZab8Z6_Vl01JYdn4ec,20702
162
+ sky/dashboard/out/_next/static/chunks/9847.3aaca6bb33455140.js,sha256=kN42YbIl4M-2zBVFZzHWFGgzF0qZ4w11P_Kn6juuXZI,39896
165
163
  sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js,sha256=2lquiZSfbI-gX4j4TW4JSMLL_D5ShqwydgWpFyXrTy8,172834
166
164
  sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_QbamfAbTV4_xMVOTjz0rhiAPAi8ET5MuSNjjW5oMng,140965
167
165
  sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
168
166
  sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
169
167
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
170
- sky/dashboard/out/_next/static/chunks/webpack-3286453d56f3c0a0.js,sha256=72ni9jqp5FlgH5VNyLyd1bcuo5siUa3kZe3w02tswSg,4742
168
+ sky/dashboard/out/_next/static/chunks/webpack-6a5ddd0184bfa22c.js,sha256=hTbYeLv41ycQEMDb_cwa8hWx4tx-jsLk2zjKvuWRp2Q,4770
171
169
  sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
172
170
  sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
173
- sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js,sha256=p8CQtv5n745WbV7QdyCapmglI2s_2UBB-f_KZE4RAZg,879
171
+ sky/dashboard/out/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js,sha256=oo_EAAsi1TLXO-art_64PTCZjakwl-7wVUZnB3-SJK8,869
174
172
  sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js,sha256=imQqQzmk2dN9ly16TS_d7BV1rHuhzYxrkyx4YUylJCw,796
175
173
  sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js,sha256=caOxDw7dl3NlA86txmKO4O-D02wQ_o8WbGleTa-bU1I,482
176
- sky/dashboard/out/_next/static/chunks/pages/infra-aabba60d57826e0f.js,sha256=2o5gq-Seq79I7ZDayTassiTgmowCjcFgjfmTrUau84k,839
177
- sky/dashboard/out/_next/static/chunks/pages/jobs-1f70d9faa564804f.js,sha256=Jru6ZTgzabGhsPRSXpjWF1xx1rHJ1F_pB8eCogUZcdY,831
178
- sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js,sha256=mZuU1XexJy9ix9hAMnH0l2btGQHJPxohZg4K7NY8faA,838
179
- sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js,sha256=URJ4PMHh15XCXB6os2a7ymR3mG3MfTNrKyizYEhW2OE,836
180
- sky/dashboard/out/_next/static/chunks/pages/workspaces-7528cc0ef8c522c5.js,sha256=y_qEXM9YPRja20D8IVLj8mgIEHQPQr2Le733bVrsXJw,863
181
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-e052384df65ef200.js,sha256=i9XnmK5y5f83bYYZIAdMHPsPixB5FcTgOPKtIl3ADFM,19942
182
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-72794fc3fcdd517a.js,sha256=4_DRvO8RVWAEVGMp2CXJTqPcxzHcSt-cDa0Ay_9ntdE,26590
183
- sky/dashboard/out/_next/static/chunks/pages/infra/[context]-6563820e094f68ca.js,sha256=P3fWbG3DX-Q1SusyuaCuJILvs9suIxNsdo1SRAenZpc,847
184
- sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js,sha256=pDCMgJauG-gMgWzCSTF3CBcc_WduZw75NhuyRBbm8bg,29203
185
- sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-509b2977a6373bf6.js,sha256=mCtSCJGhIG3YzwZnne61lhyfTy-Cmy80wTX0GThDWNo,25754
174
+ sky/dashboard/out/_next/static/chunks/pages/infra-910a22500c50596f.js,sha256=olOXYIvtqQndNk_dY1Wec_VTHC6KUipJELzpSgc6Y3w,839
175
+ sky/dashboard/out/_next/static/chunks/pages/jobs-a35a9dc3c5ccd657.js,sha256=TRRDxfLivk6XBd9kLvPfm8dKmkABcEx8L-sTcQS8LKw,842
176
+ sky/dashboard/out/_next/static/chunks/pages/users-98d2ed979084162a.js,sha256=3sw0vfLxKbQ36gRaiIrHKGYOl_nW25QQhX1ztaWF7Vo,858
177
+ sky/dashboard/out/_next/static/chunks/pages/volumes-835d14ba94808f79.js,sha256=wVIoyTwBde6dVLW4jeTAfUcTso6oQrR3mK92JCfBQYU,826
178
+ sky/dashboard/out/_next/static/chunks/pages/workspaces-69c80d677d3c2949.js,sha256=oYq8C4qHGgXFmiz1bt2f73FHYhcGEFZjGXy-_FeYf-Q,863
179
+ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-477555ab7c0b13d8.js,sha256=ayTps6hRnExScjIMxgIjOM3C7loY8Nh-xgHi5LW3TgM,18462
180
+ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-8f058b0346db2aff.js,sha256=NTKiOQ3iFYPM9OIi-n4BYOsH5HzhPyXOCPg-y6PrAJc,26585
181
+ sky/dashboard/out/_next/static/chunks/pages/infra/[context]-553b8b5cb65e100b.js,sha256=UVXo5C-h3U7cxfP1O2cN8o8Y6r1HAw3uXTI_hHPUdjw,847
182
+ sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-4f7079dcab6ed653.js,sha256=3HxL3dCowhvYQ9-5AmwqmYDXqBoA3hzmcTJ97tYOcOg,29632
183
+ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-bc979970c247d8f3.js,sha256=5eIt_lFp0D_BEUV71mu4rNxapiZpB8368SMtRbh-Qec,26183
186
184
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
187
- sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js,sha256=cGCpDszMI6ckUHVelwAh9ZVk1erfz_UXSLz9GCqGUAE,1495
185
+ sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-e8688c35c06f0ac5.js,sha256=TVmk0pD0iszL39u2Ru56HLEFFLO648NeT2KbEcW5X5o,1495
188
186
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
189
- sky/dashboard/out/clusters/[cluster].html,sha256=D5Vd972wTM_4eR7_Vhcm4Nyr0AAw9NBApPPasSTJh9I,2936
190
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=QzL6rRxyv9n5GbRUtKZiUdLfK4gGsZ8XwwKj1uORq0A,2073
191
- sky/dashboard/out/infra/[context].html,sha256=deoXltN58CfaWicz14G4n8cjJasun1_S0wZEc5IKn9Y,1436
192
- sky/dashboard/out/jobs/[job].html,sha256=s3CU_fzDSeq9lIEkZ-hjzDHSdIBgFcOVUvhg9lKWHdI,2304
193
- sky/dashboard/out/jobs/pools/[pool].html,sha256=VaZmCC-g0VHs6YV3dNeoy2CVs9CaYTRzGcg4qxJOrfU,2142
187
+ sky/dashboard/out/_next/static/hIViZcQBkn0HE8SpaSsUU/_buildManifest.js,sha256=fDgBu-xWtz2NSaqaba9lDtZnk99IYF9DFALmyg5noEE,2394
188
+ sky/dashboard/out/_next/static/hIViZcQBkn0HE8SpaSsUU/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
189
+ sky/dashboard/out/clusters/[cluster].html,sha256=i8IaGQ2jKHgVADjimkp-5Em-L_Sqqy5d--cgZOTVfak,2937
190
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=UHRpFy-epu7U5OZnTjbnxY1HVGAbilm2xWVWQWItx6g,2073
191
+ sky/dashboard/out/infra/[context].html,sha256=IBBwjXQWBgl28k-haZAHflwSoTj2rb6EuBGp0ySwz4Y,1436
192
+ sky/dashboard/out/jobs/[job].html,sha256=tQUhWnfWd8uiHcqoYws_TE0xy5g5yfCDXwndQ717EjQ,2305
193
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=pua8XVUAB1s_KBD8Bc1F18eWE2q7a0wxFhkdYsxeUrU,2143
194
194
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
195
- sky/dashboard/out/workspace/new.html,sha256=Ln7Q1SjU8mwy_OyqPrSmFvNkpQK8oYvuR5nYFEetHJ8,1428
196
- sky/dashboard/out/workspaces/[name].html,sha256=xKaBGJZCfksAz59B-IrJFae24twA1JExZVUBL7JFvVs,2759
195
+ sky/dashboard/out/workspace/new.html,sha256=Ami7tV5DzBCafGKUyIgC-Jov4EaVp7ZA4sUvVwEM9jo,1428
196
+ sky/dashboard/out/workspaces/[name].html,sha256=fLtzwgR4DJQXxRhXilPTMVfzmKeLhEZ_zfL75uH-jBs,2759
197
197
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
198
198
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
199
199
  sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
@@ -202,8 +202,8 @@ sky/data/storage.py,sha256=y6cIgfmhgL8ldjHR7whg2q71TzFQ3Lxiyv6d3anC62I,209290
202
202
  sky/data/storage_utils.py,sha256=bqCE7WQVOpFMxqVRkxee4oLn-iImh4ZL8qB5IicXh0w,14230
203
203
  sky/jobs/__init__.py,sha256=BiABNdlab7xZDOv4C34kc1XuxG6C_Ip7Q96mT2iCnIg,1686
204
204
  sky/jobs/constants.py,sha256=da41EPFohcxAeIX2aBPNZrUgb09Gv6Y9AEWrqutxips,3057
205
- sky/jobs/controller.py,sha256=r4ymddAfZXn_zuur9wqNFUSGxSK9b8eiylYoPTym-tE,57459
206
- sky/jobs/recovery_strategy.py,sha256=beCgK7eiqs4RUhMFrRfTsE18OsG0f_W7ds7kzhvQSUI,39398
205
+ sky/jobs/controller.py,sha256=6QpxM959SlQQnWg_fBVyWqkGtJWcFZuI1J2hWD9pX2s,57938
206
+ sky/jobs/recovery_strategy.py,sha256=Yr5pPF12u2BVnte8XG0jexAA7amXQ8CDf0td_HIg9vU,39508
207
207
  sky/jobs/scheduler.py,sha256=NDJkp4kclc6qRvIn9tgYJcqlp28Ej3VVvy-4oDiOZb0,17287
208
208
  sky/jobs/state.py,sha256=GarWqeMip2dCHXDLPCTDpXnfrS5kiOanJ3wi8gpo6MA,85229
209
209
  sky/jobs/utils.py,sha256=ZbR-DePorSVu0rZA0mLqi9ZONmQOLlbibSu8LYMsNRs,96290
@@ -219,7 +219,7 @@ sky/logs/agent.py,sha256=Jwpzio10P45BS6cugt6Ovu3_ZhysuXVcL_aneYZQENE,4766
219
219
  sky/logs/aws.py,sha256=NLl_Ekxcdt6tnh1CufEzPvCch3yyLBSetn4QtBdDKUc,9621
220
220
  sky/logs/gcp.py,sha256=eKVEcHO3FJRg_YTcE9omE8uAIF6AdBWWpkEPqWFAqXg,3857
221
221
  sky/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
- sky/metrics/utils.py,sha256=rmp8FfC1gWyD38agEZ0N0mu8CvmP_BMRCz_evRvQuDU,13692
222
+ sky/metrics/utils.py,sha256=AXsUG00hoEKwPjdZHQWIvTfEVagoNo7zBvy1EK9fD90,13947
223
223
  sky/provision/__init__.py,sha256=-7FWfzRCQ6pgTp_Ephp0q9Nvy07mtW6FnnlMo-D7d-g,8975
224
224
  sky/provision/common.py,sha256=LdjM9SL9NDtsARom12tVv_WoUNL3PTlU5RoLfeWGGgM,10807
225
225
  sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
@@ -265,7 +265,7 @@ sky/provision/hyperbolic/utils.py,sha256=NCa3ULvIi64-YHYoOnPd3SShlJ6VuQsEwaTBqHF
265
265
  sky/provision/kubernetes/__init__.py,sha256=xUHCbN5fkbnM5_E1trFHHOndTsvEwBdi-8qvvpK92io,1030
266
266
  sky/provision/kubernetes/config.py,sha256=iY6WfgmRK_z5mzHGe_8hQS2Op3qKmZ18UY2MgArIGRE,27782
267
267
  sky/provision/kubernetes/constants.py,sha256=vZJQsAVjAgwsOskB48tIFSXtNw7IFnJOQE_H6N-vOYQ,1130
268
- sky/provision/kubernetes/instance.py,sha256=Ii-aeRoXKrscmeGfS_AZcMaaA74vJ2aKvD1rBaTowIg,76175
268
+ sky/provision/kubernetes/instance.py,sha256=LTD1XAhoNpR3tJRBLquASp9dWL3bSr5zKrz_R6VDtAc,76669
269
269
  sky/provision/kubernetes/network.py,sha256=Dgj8u7IQBHKHt-mSDhYzue1wfDk96FR_8fO89TwuZ2E,12846
270
270
  sky/provision/kubernetes/network_utils.py,sha256=qFiACDq4S1WKMyVbxhGax-K2SJM-4viC8CyEzwvXt6c,11480
271
271
  sky/provision/kubernetes/utils.py,sha256=wfCd0l7OXEJXYCtQDElR9X_b4-NcBMGhpBV72qhbJ4Q,152115
@@ -465,7 +465,7 @@ sky/templates/jobs-controller.yaml.j2,sha256=Yif85ihH1Q7YziQ55-KkLaBkkbZUrtE5lmQ
465
465
  sky/templates/kubernetes-ingress.yml.j2,sha256=73iDklVDWBMbItg0IexCa6_ClXPJOxw7PWz3leku4nE,1340
466
466
  sky/templates/kubernetes-loadbalancer.yml.j2,sha256=Dc44sC_-EwDG69eZoD4pkLKQjzxH_qrlhd-rZ2gePJc,804
467
467
  sky/templates/kubernetes-port-forward-proxy-command.sh,sha256=iw7mypHszg6Ggq9MbyiYMFOkSlXaQZulaxqC5IWYGCc,3381
468
- sky/templates/kubernetes-ray.yml.j2,sha256=ItzB0QeHD2Wp0FLUk65xdHOFhInHFPbxwS8AdNj3q-I,64643
468
+ sky/templates/kubernetes-ray.yml.j2,sha256=ojqdmqBL-pv9OZHj-lbsz2ZVePbDVs3XMc7sxllaIYo,64661
469
469
  sky/templates/lambda-ray.yml.j2,sha256=PbUjxrGhyxhXxL2cmONAI_PRsua3I3Xr5V8yoEy7H6c,4760
470
470
  sky/templates/local-ray.yml.j2,sha256=FNHeyHF6nW9nU9QLIZceUWfvrFTTcO51KqhTnYCEFaA,1185
471
471
  sky/templates/nebius-ray.yml.j2,sha256=W1y4Mcg3yrBiaKFoKKCO_T2tU3DTqes216vKX4dspyk,6782
@@ -566,9 +566,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
566
566
  sky/workspaces/core.py,sha256=kRrdh-8MhX1953pML1B_DoStnDuNrsmHcZlnWoAxVo0,27218
567
567
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
568
568
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
569
- skypilot_nightly-1.0.0.dev20251008.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
570
- skypilot_nightly-1.0.0.dev20251008.dist-info/METADATA,sha256=-lARZeAeZM4YE5fgncOnqM0WKZ-vFHlFHY6SqenbiMo,20454
571
- skypilot_nightly-1.0.0.dev20251008.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
572
- skypilot_nightly-1.0.0.dev20251008.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
573
- skypilot_nightly-1.0.0.dev20251008.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
574
- skypilot_nightly-1.0.0.dev20251008.dist-info/RECORD,,
569
+ skypilot_nightly-1.0.0.dev20251009.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
570
+ skypilot_nightly-1.0.0.dev20251009.dist-info/METADATA,sha256=mAE11fFTmI2AWxGKxcVJnNH2WdVzmI7zczSKKBDtIik,20454
571
+ skypilot_nightly-1.0.0.dev20251009.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
572
+ skypilot_nightly-1.0.0.dev20251009.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
573
+ skypilot_nightly-1.0.0.dev20251009.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
574
+ skypilot_nightly-1.0.0.dev20251009.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(s,c,a,e,t,f,u,n,b,o,j,i,r,k){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-444f1804401f04ea.js"],"/_error":["static/chunks/pages/_error-c66a4e8afc46f17b.js"],"/clusters":["static/chunks/pages/clusters-469814d711d63b1b.js"],"/clusters/[cluster]":[s,c,a,f,u,"static/chunks/4676-9da7fdbde90b5549.js",o,e,t,n,j,b,i,"static/chunks/6856-5fdc9b851a18acdb.js",r,k,"static/chunks/9037-d0c00018a5ba198c.js","static/chunks/pages/clusters/[cluster]-e052384df65ef200.js"],"/clusters/[cluster]/[job]":[s,c,a,f,e,t,b,"static/chunks/pages/clusters/[cluster]/[job]-72794fc3fcdd517a.js"],"/config":["static/chunks/pages/config-dfb9bf07b13045f4.js"],"/infra":["static/chunks/pages/infra-aabba60d57826e0f.js"],"/infra/[context]":["static/chunks/pages/infra/[context]-6563820e094f68ca.js"],"/jobs":["static/chunks/pages/jobs-1f70d9faa564804f.js"],"/jobs/pools/[pool]":[s,c,a,u,o,e,t,n,"static/chunks/pages/jobs/pools/[pool]-509b2977a6373bf6.js"],"/jobs/[job]":[s,c,a,f,u,o,e,t,n,b,"static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js"],"/users":["static/chunks/pages/users-018bf31cda52e11b.js"],"/volumes":["static/chunks/pages/volumes-739726d6b823f532.js"],"/workspace/new":["static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js"],"/workspaces":["static/chunks/pages/workspaces-7528cc0ef8c522c5.js"],"/workspaces/[name]":[s,c,a,f,u,"static/chunks/1836-37fede578e2da5f8.js",e,t,n,j,b,i,r,k,"static/chunks/1141-159df2d4c441a9d1.js","static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js"],sortedPages:["/","/_app","/_error","/clusters","/clusters/[cluster]","/clusters/[cluster]/[job]","/config","/infra","/infra/[context]","/jobs","/jobs/pools/[pool]","/jobs/[job]","/users","/volumes","/workspace/new","/workspaces","/workspaces/[name]"]}}("static/chunks/616-3d59f75e2ccf9321.js","static/chunks/6130-2be46d70a38f1e82.js","static/chunks/5739-d67458fcb1386c92.js","static/chunks/6989-01359c57e018caa4.js","static/chunks/3850-ff4a9a69d978632b.js","static/chunks/7411-b15471acd2cba716.js","static/chunks/1272-1ef0bf0237faccdb.js","static/chunks/8969-66237729cdf9749e.js","static/chunks/6135-4b4d5e824b7f9d3c.js","static/chunks/754-d0da8ab45f9509e9.js","static/chunks/6990-f6818c84ed8f1c86.js","static/chunks/1121-d0782b9251f0fcd3.js","static/chunks/6601-06114c982db410b6.js","static/chunks/3015-8d748834fcc60b46.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1141],{1812:function(e,s,r){r.d(s,{X:function(){return n}});var l=r(85893),t=r(67294);let a=e=>{if(!(null==e?void 0:e.message))return"An unexpected error occurred.";let s=e.message;return s.includes("failed:")&&(s=s.split("failed:")[1].trim()),s},n=e=>{let{error:s,title:r="Error",onDismiss:n}=e,[c,i]=(0,t.useState)(!1);if((0,t.useEffect)(()=>{s&&i(!1)},[s]),!s||c)return null;let o="string"==typeof s?s:a(s);return(0,l.jsx)("div",{className:"bg-red-50 border border-red-200 rounded-md p-3 mb-4",children:(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)("div",{className:"flex-shrink-0",children:(0,l.jsx)("svg",{className:"h-5 w-5 text-red-400",viewBox:"0 0 20 20",fill:"currentColor",children:(0,l.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})}),(0,l.jsx)("div",{className:"ml-3",children:(0,l.jsxs)("div",{className:"text-sm text-red-800",children:[(0,l.jsxs)("strong",{children:[r,":"]})," ",o]})})]}),(0,l.jsx)("button",{onClick:()=>{i(!0),n&&n()},className:"flex-shrink-0 ml-4 text-red-400 hover:text-red-600 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2 focus:ring-offset-red-50 rounded","aria-label":"Dismiss error",children:(0,l.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 20 20",fill:"currentColor",children:(0,l.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})})]})})}},69123:function(e,s,r){r.d(s,{g:function(){return n}});var l=r(85893),t=r(67294),a=r(32350);let n=t.forwardRef((e,s)=>{let{className:r,...t}=e;return(0,l.jsx)("textarea",{className:(0,a.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:s,...t})});n.displayName="Textarea"},11141:function(e,s,r){r.r(s),r.d(s,{WorkspaceEditor:function(){return _}});var l=r(85893),t=r(67294),a=r(11163),n=r(17324),c=r(23266),i=r(68969);r(6135);var o=r(41664),d=r.n(o),u=r(9008),x=r.n(u),m=r(37673),h=r(30803),f=r(69123),g=r(55739),p=r(70282),b=r(6021),j=r(13626),y=r(98418),N=r(99333),w=r(50326);let v=e=>{let{className:s="",variant:r="default",children:t,...a}=e;return(0,l.jsx)("div",{role:"alert",className:"".concat("relative w-full rounded-lg border p-4 flex items-start space-x-2"," ").concat({default:"bg-blue-50 border-blue-200 text-blue-800",destructive:"bg-red-50 border-red-200 text-red-800"}[r]," ").concat(s),...a,children:t})},k=e=>{let{className:s="",children:r,...t}=e;return(0,l.jsx)("div",{className:"text-sm leading-relaxed ".concat(s),...t,children:r})};var C=r(53850),L=r(1812),E=r(23015),S=r(1272),W=r(93225),A=r(53081);let D=e=>{let{message:s}=e;return s?(0,l.jsxs)(v,{className:"border-green-200 bg-green-50",children:[(0,l.jsx)(p.Z,{className:"h-4 w-4 text-green-600"}),(0,l.jsx)(k,{className:"text-green-800",children:s})]}):null},P=e=>{let{workspaceName:s,config:r,enabledClouds:t=[]}=e;if(!r)return null;let a="default"===s,n=0===Object.keys(r).length;if(a&&n)return(0,l.jsx)("div",{className:"text-sm text-gray-500 mb-3 italic p-3 bg-sky-50 rounded border border-sky-200",children:"Workspace 'default' can use all accessible infrastructure."});let c=[],i=[],o=[],d=new Set(t.map(e=>e.toLowerCase()));Object.entries(r).forEach(e=>{let[s,r]=e;if("private"===s||"allowed_users"===s)return;let t=W.Z2[s.toLowerCase()]||s.toUpperCase(),a=null==t?void 0:t.toLowerCase(),n=d.has(a)||Array.from(d).some(e=>e.startsWith(a+"/")),u=()=>"kubernetes"===s.toLowerCase()?Array.from(d).filter(e=>e.startsWith(a+"/")).map(e=>e.split("/")[1]):[];if((null==r?void 0:r.disabled)===!0)i.push(t);else if(r&&Object.keys(r).length>0){let e="";if("gcp"===s.toLowerCase()&&r.project_id)e=" (Project ID: ".concat(r.project_id,")");else if("aws"===s.toLowerCase()&&r.region)e=" (Region: ".concat(r.region,")");else if("kubernetes"===s.toLowerCase()){let s=u();s.length>0&&(e=" (Contexts: ".concat(s.join(", "),")"))}n?c.push((0,l.jsxs)("span",{className:"block",children:[t,e," is enabled."]},"".concat(s,"-enabled"))):o.push((0,l.jsxs)("span",{className:"block text-amber-700",children:[t,e," is configured but not currently available."]},"".concat(s,"-configured-not-enabled")))}else if(n){let e="";if("kubernetes"===s.toLowerCase()){let s=u();s.length>0&&(e=" (Contexts: ".concat(s.join(", "),")"))}c.push((0,l.jsxs)("span",{className:"block",children:[t,e," is enabled (using default settings)."]},"".concat(s,"-default-enabled")))}else o.push((0,l.jsxs)("span",{className:"block text-amber-700",children:[t," is configured but not currently available."]},"".concat(s,"-default-not-enabled")))});let u=[];if(i.length>0){let e=i.join(" and ");u.push((0,l.jsxs)("span",{className:"block",children:[e," ",1===i.length?"is":"are"," explicitly disabled."]},"disabled-clouds"))}return(u.push(...c),u.push(...o),u.length>0)?(0,l.jsx)("div",{className:"text-sm text-gray-700 mb-3 p-3 bg-sky-50 rounded border border-sky-200",children:u}):!a&&n?(0,l.jsx)("div",{className:"text-sm text-gray-500 mb-3 italic p-3 bg-sky-50 rounded border border-sky-200",children:"This workspace has no specific cloud resource configurations and can use all accessible infrastructure."}):null},R=e=>{let{isPrivate:s}=e;return s?(0,l.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-gray-100 text-gray-700 border border-gray-300",children:"Private"}):(0,l.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-green-100 text-green-700 border border-green-300",children:"Public"})},Z=e=>{let{workspaceConfig:s,allUsers:r}=e;if(!s.private)return null;let t=s.allowed_users||[],a=(r||[]).filter(e=>"admin"===e.role).map(e=>e.username),n=[...new Set([...t,...a])];return 0===n.length?(0,l.jsxs)("div",{className:"mt-4",children:[(0,l.jsx)("h4",{className:"mb-2 text-xs text-gray-500 tracking-wider",children:"Allowed Users (0)"}),(0,l.jsx)("div",{className:"text-amber-600 text-xs italic p-2 bg-amber-50 rounded border border-amber-200",children:"No users configured (workspace may be inaccessible)"})]}):(0,l.jsxs)("div",{className:"mt-4",children:[(0,l.jsxs)("h4",{className:"mb-2 text-xs text-gray-500 tracking-wider",children:["Allowed Users (",n.length,")"]}),(0,l.jsx)("div",{className:"space-y-1 max-h-48 overflow-y-auto border border-gray-200 rounded",children:n.map(e=>{let s=a.includes(e);return(0,l.jsxs)("div",{className:"flex items-center justify-between text-xs p-2 bg-gray-50 hover:bg-gray-100 border-b border-gray-100 last:border-b-0",children:[(0,l.jsx)("span",{className:"font-medium text-gray-700",children:e}),s?(0,l.jsxs)("span",{className:"inline-flex items-center text-blue-600",children:[(0,l.jsx)(C.r7,{className:"w-3 h-3 mr-1"}),"Admin"]}):(0,l.jsxs)("span",{className:"inline-flex items-center text-gray-600",children:[(0,l.jsx)(b.Z,{className:"w-3 h-3 mr-1"}),"User"]})]},e)})})]})};function _(e){let{workspaceName:s,isNewWorkspace:r=!1}=e,o=(0,a.useRouter)(),[u,p]=(0,t.useState)({}),[b,v]=(0,t.useState)({}),[k,W]=(0,t.useState)(""),[_,M]=(0,t.useState)(!0),[O,z]=(0,t.useState)(!1),[U,Y]=(0,t.useState)(!1),[J,T]=(0,t.useState)(null),[I,F]=(0,t.useState)(null),[B,X]=(0,t.useState)(null),[G,H]=(0,t.useState)([]),[V,q]=(0,t.useState)({showDialog:!1,deleting:!1,error:null}),[K,Q]=(0,t.useState)({totalClusterCount:0,runningClusterCount:0,managedJobsCount:0,clouds:[]}),[$,ee]=(0,t.useState)(!1),es=(0,t.useCallback)(async()=>{M(!0),T(null);try{let e;let[r,l]=await Promise.all([(0,n.getWorkspaces)(),(0,A.R)()]),t=r[s]||{};p(t),v(t),H(l||[]),e=0===Object.keys(t).length?"".concat(s,":\n # Empty workspace configuration - uses all accessible infrastructure\n"):S.ZP.dump({[s]:t},{indent:2,lineWidth:-1,noRefs:!0,skipInvalid:!0,flowLevel:-1}),W(e)}catch(e){console.error("Error fetching workspace config:",e),T(e)}finally{M(!1)}},[s]),er=(0,t.useCallback)(async()=>{if(!r){ee(!0);try{let[e,r,l]=await Promise.all([(0,c.getClusters)(),(0,i.getManagedJobs)({allUsers:!0}),(0,n.getEnabledClouds)(s,!0)]),t=e.filter(e=>(e.workspace||"default")===s),a=t.filter(e=>"RUNNING"===e.status||"LAUNCHING"===e.status),o={};e.forEach(e=>{o[e.cluster]=e.workspace||"default"});let d=r.jobs||[],u=new Set(E.statusGroups.active),x=0;d.forEach(e=>{let r=e.cluster_name||e.resources&&e.resources.cluster_name;r&&o[r]===s&&u.has(e.status)&&x++}),Q({totalClusterCount:t.length,runningClusterCount:a.length,managedJobsCount:x,clouds:Array.isArray(l)?l:[]})}catch(e){console.error("Failed to fetch workspace stats:",e)}finally{ee(!1)}}},[s,r]);(0,t.useEffect)(()=>{r?(M(!1),W("".concat(s,":\n # New workspace configuration\n # Leave empty to use all accessible infrastructure\n"))):(es(),er())},[s,r,es,er]),(0,t.useEffect)(()=>{Y(JSON.stringify(u)!==JSON.stringify(b))},[u,b]);let el=e=>{W(e),X(null);try{let r=S.ZP.load(e)||{},l=Object.keys(r);if(0===l.length)p({});else if(1===l.length){let e=l[0];if(e!==s){X('Workspace name cannot be changed. Expected "'.concat(s,'" but found "').concat(e,'".'));return}let t=r[s]||{};p(t)}else X("Configuration must contain only one workspace. Found: ".concat(l.join(", ")))}catch(e){X("Invalid YAML: ".concat(e.message))}},et=async()=>{z(!0),T(null),F(null);try{if(B)throw Error("Please fix YAML errors before saving");let e=S.ZP.load(k)||{},l=Object.keys(e);if(l.length>0&&l[0]!==s)throw Error('Workspace name cannot be changed. Expected "'.concat(s,'".'));r?(await (0,n.MB)(s,u),F("Workspace created successfully!"),setTimeout(()=>{o.push("/workspaces/".concat(s))},1500)):(await (0,n.eA)(s,u),F("Workspace updated successfully!"),v(u),er())}catch(e){console.error("Error saving workspace:",e),T(e)}finally{z(!1)}},ea=async()=>{q(e=>({...e,deleting:!0,error:null}));try{await (0,n.zl)(s),F("Workspace deleted successfully!"),setTimeout(()=>{o.push("/workspaces")},1500)}catch(e){console.error("Error deleting workspace:",e),q(s=>({...s,deleting:!1,error:e}))}},en=()=>{q({showDialog:!1,deleting:!1,error:null})},ec=async()=>{await Promise.all([es(),er()])};if(!o.isReady)return(0,l.jsx)("div",{children:"Loading..."});let ei=r?"Create New Workspace | SkyPilot Dashboard":"Workspace: ".concat(s," | SkyPilot Dashboard");return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(x(),{children:(0,l.jsx)("title",{children:ei})}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"flex items-center justify-between mb-4 h-5",children:[(0,l.jsxs)("div",{className:"text-base flex items-center",children:[(0,l.jsx)(d(),{href:"/workspaces",className:"text-sky-blue hover:underline",children:"Workspaces"}),(0,l.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,l.jsx)(d(),{href:r?"/workspace/new":"/workspaces/".concat(s),className:"text-sky-blue hover:underline",children:r?"New Workspace":s}),U&&(0,l.jsx)("span",{className:"ml-3 px-2 py-1 bg-yellow-100 text-yellow-800 text-xs rounded",children:"Unsaved changes"})]}),(0,l.jsxs)("div",{className:"text-sm flex items-center",children:[(_||O||$)&&(0,l.jsxs)("div",{className:"flex items-center mr-4",children:[(0,l.jsx)(g.Z,{size:15,className:"mt-0"}),(0,l.jsx)("span",{className:"ml-2 text-gray-500",children:O?"Saving...":"Loading..."})]}),(0,l.jsxs)("div",{className:"flex items-center space-x-4",children:[!r&&(0,l.jsxs)("button",{onClick:ec,disabled:_||O||$,className:"text-sky-blue hover:text-sky-blue-bright font-medium inline-flex items-center",children:[(0,l.jsx)(j.Z,{className:"w-4 h-4 mr-1.5"}),"Refresh"]}),!r&&"default"!==s&&(0,l.jsxs)("button",{onClick:()=>q({...V,showDialog:!0}),disabled:V.deleting||O,className:"text-red-600 hover:text-red-700 font-medium inline-flex items-center",children:[(0,l.jsx)(y.Z,{className:"w-4 h-4 mr-1.5"}),"Delete"]})]})]})]}),_?(0,l.jsxs)("div",{className:"flex justify-center items-center py-12",children:[(0,l.jsx)(g.Z,{size:24,className:"mr-2"}),(0,l.jsx)("span",{className:"text-gray-500",children:"Loading workspace configuration..."})]}):(0,l.jsxs)("div",{className:"space-y-6",children:[(0,l.jsx)(L.X,{error:J,title:"Error",onDismiss:()=>T(null)}),(0,l.jsx)(D,{message:I}),(0,l.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[!r&&(0,l.jsx)("div",{className:"lg:col-span-1",children:(0,l.jsxs)(m.Zb,{className:"h-full",children:[(0,l.jsx)(m.Ol,{children:(0,l.jsx)(m.ll,{className:"text-base font-normal",children:(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{className:"font-semibold",children:"Workspace:"})," ",s]}),(0,l.jsx)(R,{isPrivate:!0===b.private})]})})}),(0,l.jsxs)(m.aY,{className:"text-sm pb-2 flex-1",children:[(0,l.jsxs)("div",{className:"py-2 flex items-center justify-between",children:[(0,l.jsxs)("div",{className:"flex items-center text-gray-600",children:[(0,l.jsx)(C.QT,{className:"w-4 h-4 mr-2 text-gray-500"}),(0,l.jsx)("span",{children:"Clusters (Running / Total)"})]}),(0,l.jsx)("span",{className:"font-normal text-gray-800",children:$?"...":"".concat(K.runningClusterCount," / ").concat(K.totalClusterCount)})]}),(0,l.jsxs)("div",{className:"py-2 flex items-center justify-between border-t border-gray-100",children:[(0,l.jsxs)("div",{className:"flex items-center text-gray-600",children:[(0,l.jsx)(C.Vp,{className:"w-4 h-4 mr-2 text-gray-500"}),(0,l.jsx)("span",{children:"Managed Jobs"})]}),(0,l.jsx)("span",{className:"font-normal text-gray-800",children:$?"...":K.managedJobsCount})]})]}),(0,l.jsxs)("div",{className:"px-6 pb-6 text-sm pt-3",children:[(0,l.jsx)("h4",{className:"mb-2 text-xs text-gray-500 tracking-wider",children:"Enabled Infra"}),(0,l.jsx)("div",{className:"flex flex-wrap gap-x-4 gap-y-1",children:$?(0,l.jsx)("span",{className:"text-gray-500",children:"Loading..."}):K.clouds.length>0?K.clouds.map(e=>(0,l.jsxs)("div",{className:"flex items-center text-gray-700",children:[(0,l.jsx)(C.Ye,{className:"w-3.5 h-3.5 mr-1.5 text-green-500"}),(0,l.jsx)("span",{children:e})]},e)):(0,l.jsx)("span",{className:"text-gray-500 italic",children:"No enabled infrastructure"})}),(0,l.jsx)("div",{className:"mt-4",children:(0,l.jsx)(P,{workspaceName:s,config:b,enabledClouds:K.clouds})}),(0,l.jsx)(Z,{workspaceConfig:b,allUsers:G})]})]})}),(0,l.jsx)("div",{className:r?"lg:col-span-3":"lg:col-span-2",children:(0,l.jsxs)(m.Zb,{className:"h-full flex flex-col",children:[(0,l.jsx)(m.Ol,{children:(0,l.jsx)(m.ll,{className:"text-base font-normal",children:r?"New Workspace YAML":"Edit Workspace YAML"})}),(0,l.jsx)(m.aY,{className:"flex-1 flex flex-col",children:(0,l.jsxs)("div",{className:"space-y-4 flex-1 flex flex-col",children:[B&&(0,l.jsx)(L.X,{error:B,onDismiss:()=>X(null)}),(0,l.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,l.jsxs)("p",{className:"text-sm text-gray-600 mb-3",children:["Configure infra-specific settings for this workspace. Leave empty to use all accessible infrastructure. Refer to"," ",(0,l.jsx)("a",{href:"https://docs.skypilot.co/en/latest/admin/workspaces.html#configuration",target:"_blank",rel:"noopener noreferrer",className:"text-blue-600",children:"SkyPilot Docs"})," ","for more details."]}),(0,l.jsxs)("div",{className:"mb-4",children:[(0,l.jsx)("h4",{className:"text-sm font-medium text-gray-700 mb-2",children:"Example configuration:"}),(0,l.jsx)("div",{className:"p-3 bg-gray-50 border rounded-lg",children:(0,l.jsx)("pre",{className:"text-xs font-mono text-gray-600 whitespace-pre-wrap",children:"".concat(s||"my-workspace",":\n private: true\n allowed_users:\n - user1@mydomain.com\n - user2@mydomain.com\n gcp:\n project_id: xxx\n disabled: false\n kubernetes:\n allowed_contexts:\n - context-1")})})]}),(0,l.jsx)(f.g,{value:k,onChange:e=>el(e.target.value),className:"font-mono text-sm flex-1 resize-none",style:{minHeight:"350px"},spellCheck:!1,placeholder:"# Enter workspace configuration in YAML format"}),(0,l.jsx)("div",{className:"flex justify-end space-x-3 pt-3 border-gray-200",children:(0,l.jsxs)(h.z,{onClick:et,disabled:O||B||_,className:"inline-flex items-center bg-sky-600 hover:bg-sky-700 text-white",children:[(0,l.jsx)(N.Z,{className:"w-4 h-4 mr-1.5"}),O?"Applying...":"Apply"]})})]})]})})]})})]})]}),(0,l.jsx)(w.Vq,{open:V.showDialog,onOpenChange:en,children:(0,l.jsxs)(w.cZ,{className:"sm:max-w-md",children:[(0,l.jsxs)(w.fK,{className:"",children:[(0,l.jsx)(w.$N,{children:"Delete Workspace"}),(0,l.jsxs)(w.Be,{children:['Are you sure you want to delete workspace "',s,'"? This action cannot be undone.']})]}),V.error&&(0,l.jsx)(L.X,{error:V.error,title:"Deletion Failed",onDismiss:()=>q(e=>({...e,error:null}))}),(0,l.jsxs)(w.cN,{className:"",children:[(0,l.jsx)(h.z,{variant:"outline",onClick:en,disabled:V.deleting,children:"Cancel"}),(0,l.jsx)(h.z,{variant:"destructive",onClick:ea,disabled:V.deleting,children:V.deleting?"Deleting...":"Delete"})]})]})})]})]})}}}]);