skypilot-nightly 1.0.0.dev20250513__tar.gz → 1.0.0.dev20250514__tar.gz

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.
Files changed (419) hide show
  1. {skypilot_nightly-1.0.0.dev20250513/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250514}/PKG-INFO +1 -1
  2. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/backends/backend_utils.py +0 -3
  4. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/backends/cloud_vm_ray_backend.py +22 -10
  5. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/gcp.py +24 -8
  6. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +33 -11
  7. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/gcp_catalog.py +7 -1
  8. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/404.html +1 -1
  9. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  10. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/clusters/[cluster].html +1 -1
  11. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/clusters.html +1 -1
  12. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/index.html +1 -1
  13. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/jobs/[job].html +1 -1
  14. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/jobs.html +1 -1
  15. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/global_user_state.py +0 -2
  16. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/resources.py +4 -0
  17. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/executor.py +22 -114
  18. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/requests.py +0 -15
  19. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/server.py +7 -12
  20. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/uvicorn.py +2 -12
  21. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/sky_logging.py +2 -40
  22. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/log_lib.py +11 -51
  23. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/nebius-ray.yml.j2 +3 -1
  24. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/command_runner.py +0 -3
  25. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/rich_utils.py +37 -81
  26. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/subprocess_utils.py +2 -8
  27. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514/skypilot_nightly.egg-info}/PKG-INFO +1 -1
  28. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/skypilot_nightly.egg-info/SOURCES.txt +2 -4
  29. skypilot_nightly-1.0.0.dev20250513/sky/utils/context.py +0 -264
  30. skypilot_nightly-1.0.0.dev20250513/sky/utils/context_utils.py +0 -172
  31. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/LICENSE +0 -0
  32. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/MANIFEST.in +0 -0
  33. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/README.md +0 -0
  34. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/pyproject.toml +0 -0
  35. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/setup.cfg +0 -0
  36. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/setup.py +0 -0
  37. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/__init__.py +0 -0
  38. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/aws.py +0 -0
  39. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/azure.py +0 -0
  40. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/cloudflare.py +0 -0
  41. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/common.py +0 -0
  42. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/cudo.py +0 -0
  43. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/do.py +0 -0
  44. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/docker.py +0 -0
  45. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/gcp.py +0 -0
  46. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/ibm.py +0 -0
  47. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/kubernetes.py +0 -0
  48. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/nebius.py +0 -0
  49. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/oci.py +0 -0
  50. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/runpod.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/vast.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/adaptors/vsphere.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/admin_policy.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/authentication.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/backends/__init__.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/backends/backend.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/backends/docker_utils.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/backends/local_docker_backend.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/backends/wheel_utils.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/benchmark/__init__.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/benchmark/benchmark_state.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/benchmark/benchmark_utils.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/check.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/cli.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/client/__init__.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/client/cli.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/client/common.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/client/sdk.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/cloud_stores.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/__init__.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/aws.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/azure.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/cloud.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/cudo.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/do.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/fluidstack.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/ibm.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/kubernetes.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/lambda_cloud.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/nebius.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/oci.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/paperspace.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/runpod.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/scp.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/__init__.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/aws_catalog.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/azure_catalog.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/common.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/config.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/constants.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_ibm.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_vast.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/do_catalog.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/nebius_catalog.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/oci_catalog.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/scp_catalog.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/vast_catalog.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/utils/__init__.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/utils/aws_utils.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/utils/azure_utils.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/utils/gcp_utils.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/utils/oci_utils.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/utils/scp_utils.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/vast.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/clouds/vsphere.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/core.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dag.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/236-f49500b82ad5392d.js +0 -0
  125. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/312-c3c8845990db8ffc.js +0 -0
  126. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/37-0a572fe0dbb89c4d.js +0 -0
  127. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/678-206dddca808e6d16.js +0 -0
  128. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/845-0ca6f2c1ba667c3b.js +0 -0
  129. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/979-7bf73a4c7cea0f5c.js +0 -0
  130. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/fd9d1056-2821b0f0cabcd8bd.js +0 -0
  131. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/framework-87d061ee6ed71b28.js +0 -0
  132. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/main-app-241eb28595532291.js +0 -0
  133. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/main-e0e2335212e72357.js +0 -0
  134. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js +0 -0
  135. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js +0 -0
  136. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-e15db85d0ea1fbe1.js +0 -0
  137. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-f383db7389368ea7.js +0 -0
  138. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js +0 -0
  139. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/pages/index-f9f039532ca8cbc4.js +0 -0
  140. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-03f279c6741fb48b.js +0 -0
  141. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js +0 -0
  142. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  143. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/chunks/webpack-830f59b8404e96b8.js +0 -0
  144. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/_next/static/css/c6933bbb2ce7f4dd.css +0 -0
  145. {skypilot_nightly-1.0.0.dev20250513/sky/dashboard/out/_next/static/2dkponv64SfFShA8Rnw0D → skypilot_nightly-1.0.0.dev20250514/sky/dashboard/out/_next/static/tdxxQrPV6NW90a983oHXe}/_buildManifest.js +0 -0
  146. {skypilot_nightly-1.0.0.dev20250513/sky/dashboard/out/_next/static/2dkponv64SfFShA8Rnw0D → skypilot_nightly-1.0.0.dev20250514/sky/dashboard/out/_next/static/tdxxQrPV6NW90a983oHXe}/_ssgManifest.js +0 -0
  147. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/favicon.ico +0 -0
  148. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/skypilot.svg +0 -0
  149. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  150. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/data/__init__.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/data/data_transfer.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/data/data_utils.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/data/mounting_utils.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/data/storage.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/data/storage_utils.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/exceptions.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/execution.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/__init__.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/client/__init__.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/client/sdk.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/constants.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/controller.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/dashboard/dashboard.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/dashboard/static/favicon.ico +0 -0
  165. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/dashboard/templates/index.html +0 -0
  166. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/recovery_strategy.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/scheduler.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/server/__init__.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/server/core.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/server/dashboard_utils.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/server/server.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/state.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/jobs/utils.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/models.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/optimizer.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/__init__.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/aws/__init__.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/aws/config.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/aws/instance.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/aws/utils.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/azure/__init__.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/azure/azure-config-template.json +0 -0
  183. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/azure/config.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/azure/instance.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/common.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/constants.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/cudo/__init__.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/cudo/config.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/cudo/cudo_machine_type.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/cudo/cudo_utils.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/cudo/cudo_wrapper.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/cudo/instance.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/do/__init__.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/do/config.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/do/constants.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/do/instance.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/do/utils.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/docker_utils.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/fluidstack/__init__.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/fluidstack/config.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/fluidstack/instance.py +0 -0
  203. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/gcp/__init__.py +0 -0
  204. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/gcp/config.py +0 -0
  205. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/gcp/constants.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/gcp/instance.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/gcp/instance_utils.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/gcp/mig_utils.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/instance_setup.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/kubernetes/__init__.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/kubernetes/config.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/kubernetes/constants.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/kubernetes/instance.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  215. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/kubernetes/network.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/kubernetes/network_utils.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/kubernetes/utils.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/lambda_cloud/__init__.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/lambda_cloud/config.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/lambda_cloud/instance.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/logging.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/metadata_utils.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/nebius/__init__.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/nebius/config.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/nebius/instance.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/nebius/utils.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/oci/__init__.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/oci/config.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/oci/instance.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/oci/query_utils.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/paperspace/__init__.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/paperspace/config.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/paperspace/constants.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/paperspace/instance.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/paperspace/utils.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/provisioner.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/runpod/__init__.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/runpod/api/__init__.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/runpod/api/commands.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/runpod/api/pods.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/runpod/config.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/runpod/instance.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/runpod/utils.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vast/__init__.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vast/config.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vast/instance.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vast/utils.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/__init__.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/__init__.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/custom_script.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/id_generator.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/service_manager.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/common/vim_utils.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/config.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/instance.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/provision/vsphere/vsphere_utils.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/__init__.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/autoscalers.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/client/__init__.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/client/sdk.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/constants.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/controller.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/load_balancer.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/load_balancing_policies.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/replica_managers.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/serve_state.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/serve_utils.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/server/__init__.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/server/core.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/server/server.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/service.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/service_spec.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/serve/spot_placer.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/__init__.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/common.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/config.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/constants.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/html/log.html +0 -0
  286. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/__init__.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/event_loop.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/payloads.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/preconditions.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/process.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/queues/__init__.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/queues/local_queue.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/queues/mp_queue.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/serializers/__init__.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/serializers/decoders.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/requests/serializers/encoders.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/server/stream_utils.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/setup_files/MANIFEST.in +0 -0
  299. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/setup_files/dependencies.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/setup_files/setup.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/LICENSE +0 -0
  302. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/__init__.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/attempt_skylet.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/autostop_lib.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/configs.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/constants.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/events.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/job_lib.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/log_lib.pyi +0 -0
  310. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/__init__.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/command_runner.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/ibm/__init__.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/ibm/node_provider.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/ibm/utils.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/scp/__init__.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/scp/config.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/providers/scp/node_provider.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/ray_patches/__init__.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  321. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/ray_patches/cli.py.patch +0 -0
  322. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  323. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  324. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  325. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/ray_patches/updater.py.patch +0 -0
  326. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/ray_patches/worker.py.patch +0 -0
  327. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/skylet.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skylet/subprocess_daemon.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/skypilot_config.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/task.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/aws-ray.yml.j2 +0 -0
  332. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/azure-ray.yml.j2 +0 -0
  333. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/cudo-ray.yml.j2 +0 -0
  334. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/do-ray.yml.j2 +0 -0
  335. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  336. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/gcp-ray.yml.j2 +0 -0
  337. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/ibm-ray.yml.j2 +0 -0
  338. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/jobs-controller.yaml.j2 +0 -0
  339. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  340. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  341. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  342. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  343. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  344. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/lambda-ray.yml.j2 +0 -0
  345. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/local-ray.yml.j2 +0 -0
  346. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/oci-ray.yml.j2 +0 -0
  347. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/paperspace-ray.yml.j2 +0 -0
  348. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/runpod-ray.yml.j2 +0 -0
  349. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/scp-ray.yml.j2 +0 -0
  350. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  351. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  352. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/vast-ray.yml.j2 +0 -0
  353. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/vsphere-ray.yml.j2 +0 -0
  354. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/templates/websocket_proxy.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/usage/__init__.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/usage/constants.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/usage/usage_lib.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/__init__.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/accelerator_registry.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/admin_policy_utils.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/annotations.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/atomic.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/aws/__init__.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/aws/get_default_security_group.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/cli_utils/__init__.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/cli_utils/status_utils.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/cluster_utils.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/command_runner.pyi +0 -0
  369. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/common.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/common_utils.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/config_utils.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/control_master_utils.py +0 -0
  373. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/controller_utils.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/dag_utils.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/db_utils.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/env_options.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/__init__.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/create_cluster.sh +0 -0
  379. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  380. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
  381. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  384. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  385. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  386. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  387. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  389. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/kubernetes_enums.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/log_utils.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/message_utils.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/registry.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/resources_utils.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/rich_console_utils.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/schemas.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/status_lib.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/timeline.py +0 -0
  399. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/ux_utils.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/sky/utils/validator.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  402. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  403. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/skypilot_nightly.egg-info/requires.txt +0 -0
  404. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/skypilot_nightly.egg-info/top_level.txt +0 -0
  405. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_api.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_cli.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_config.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_failover.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_global_user_state.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_jobs.py +0 -0
  411. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_jobs_and_serve.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_list_accelerators.py +0 -0
  413. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_optimizer_dryruns.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_optimizer_random_dag.py +0 -0
  415. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_serve_autoscaler.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_smoke.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_storage.py +0 -0
  418. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_wheels.py +0 -0
  419. {skypilot_nightly-1.0.0.dev20250513 → skypilot_nightly-1.0.0.dev20250514}/tests/test_yaml_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250513
3
+ Version: 1.0.0.dev20250514
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  import urllib.request
6
6
 
7
7
  # Replaced with the current commit when building the wheels.
8
- _SKYPILOT_COMMIT_SHA = 'c23907b7f1baf65740791dc1e17ff1411e7d9a97'
8
+ _SKYPILOT_COMMIT_SHA = '72eec01ce074d475ef65d48fbdf91b9216f41754'
9
9
 
10
10
 
11
11
  def _get_git_commit():
@@ -35,7 +35,7 @@ def _get_git_commit():
35
35
 
36
36
 
37
37
  __commit__ = _get_git_commit()
38
- __version__ = '1.0.0.dev20250513'
38
+ __version__ = '1.0.0.dev20250514'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -40,7 +40,6 @@ from sky.utils import cluster_utils
40
40
  from sky.utils import command_runner
41
41
  from sky.utils import common
42
42
  from sky.utils import common_utils
43
- from sky.utils import context_utils
44
43
  from sky.utils import controller_utils
45
44
  from sky.utils import env_options
46
45
  from sky.utils import registry
@@ -2205,7 +2204,6 @@ def refresh_cluster_record(
2205
2204
 
2206
2205
 
2207
2206
  @timeline.event
2208
- @context_utils.cancellation_guard
2209
2207
  def refresh_cluster_status_handle(
2210
2208
  cluster_name: str,
2211
2209
  *,
@@ -2255,7 +2253,6 @@ def check_cluster_available(
2255
2253
  ...
2256
2254
 
2257
2255
 
2258
- @context_utils.cancellation_guard
2259
2256
  def check_cluster_available(
2260
2257
  cluster_name: str,
2261
2258
  *,
@@ -61,7 +61,6 @@ from sky.utils import cluster_utils
61
61
  from sky.utils import command_runner
62
62
  from sky.utils import common
63
63
  from sky.utils import common_utils
64
- from sky.utils import context_utils
65
64
  from sky.utils import controller_utils
66
65
  from sky.utils import env_options
67
66
  from sky.utils import log_utils
@@ -275,7 +274,6 @@ class RayCodeGen:
275
274
  ray_address = 'auto'
276
275
  self._code = [
277
276
  textwrap.dedent(f"""\
278
- import functools
279
277
  import getpass
280
278
  import hashlib
281
279
  import io
@@ -303,8 +301,6 @@ class RayCodeGen:
303
301
  from sky.skylet import autostop_lib
304
302
  from sky.skylet import constants
305
303
  from sky.skylet import job_lib
306
- from sky.utils import context
307
- from sky.utils import context_utils
308
304
  from sky.utils import log_utils
309
305
  from sky.utils import subprocess_utils
310
306
 
@@ -2419,7 +2415,6 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2419
2415
  internal_external_ips[1:], key=lambda x: x[1])
2420
2416
  self.stable_internal_external_ips = stable_internal_external_ips
2421
2417
 
2422
- @context_utils.cancellation_guard
2423
2418
  @annotations.lru_cache(scope='global')
2424
2419
  @timeline.event
2425
2420
  def get_command_runners(self,
@@ -3847,7 +3842,6 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3847
3842
  subprocess_utils.run_in_parallel(_rsync_down, parallel_args)
3848
3843
  return dict(zip(job_ids, local_log_dirs))
3849
3844
 
3850
- @context_utils.cancellation_guard
3851
3845
  def tail_logs(self,
3852
3846
  handle: CloudVmRayResourceHandle,
3853
3847
  job_id: Optional[int],
@@ -4565,7 +4559,6 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4565
4559
  # TODO(zhwu): Refactor this to a CommandRunner class, so different backends
4566
4560
  # can support its own command runner.
4567
4561
  @timeline.event
4568
- @context_utils.cancellation_guard
4569
4562
  def run_on_head(
4570
4563
  self,
4571
4564
  handle: CloudVmRayResourceHandle,
@@ -4664,6 +4657,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4664
4657
  handle_before_refresh = record['handle']
4665
4658
  status_before_refresh = record['status']
4666
4659
 
4660
+ handle: Optional[CloudVmRayResourceHandle]
4667
4661
  prev_cluster_status, handle = (status_before_refresh,
4668
4662
  handle_before_refresh)
4669
4663
 
@@ -4684,7 +4678,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4684
4678
  prev_cluster_status = None
4685
4679
  handle = None
4686
4680
  # We should check the cluster_ever_up after refresh, because if the
4687
- # cluster is terminated (through console or auto-dwon), the record will
4681
+ # cluster is terminated (through console or auto-down), the record will
4688
4682
  # become None and the cluster_ever_up should be considered as False.
4689
4683
  cluster_ever_up = record is not None and record['cluster_ever_up']
4690
4684
  prev_config_hash = record['config_hash'] if record is not None else None
@@ -4697,11 +4691,14 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4697
4691
  self.check_resources_fit_cluster(handle, task)
4698
4692
  # Use the existing cluster.
4699
4693
  assert handle.launched_resources is not None, (cluster_name, handle)
4694
+ # Take a random resource in order to get resource info that applies
4695
+ # to all resources.
4696
+ one_task_resource = list(task.resources)[0]
4700
4697
  # Assume resources share the same ports.
4701
4698
  for resource in task.resources:
4702
- assert resource.ports == list(task.resources)[0].ports
4699
+ assert resource.ports == one_task_resource.ports
4703
4700
  requested_ports_set = resources_utils.port_ranges_to_set(
4704
- list(task.resources)[0].ports)
4701
+ one_task_resource.ports)
4705
4702
  current_ports_set = resources_utils.port_ranges_to_set(
4706
4703
  handle.launched_resources.ports)
4707
4704
  all_ports = resources_utils.port_set_to_ranges(current_ports_set |
@@ -4720,6 +4717,21 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4720
4717
  'a new cluster with the desired ports open.')
4721
4718
  if all_ports:
4722
4719
  to_provision = to_provision.copy(ports=all_ports)
4720
+ # Docker login should always be the same for all resources, since
4721
+ # it's set from envs.
4722
+ for resource in task.resources:
4723
+ assert (resource.docker_login_config ==
4724
+ one_task_resource.docker_login_config), (
4725
+ resource.docker_login_config,
4726
+ one_task_resource.docker_login_config)
4727
+ # If we have docker login config in the new task, override the
4728
+ # existing resources to pick up new credentials. This allows the
4729
+ # user to specify new or fixed credentials if the existing
4730
+ # credentials are not working. If we don't do this, the credentials
4731
+ # from the existing resources will always be reused.
4732
+ if one_task_resource.docker_login_config is not None:
4733
+ to_provision = to_provision.copy(
4734
+ _docker_login_config=one_task_resource.docker_login_config)
4723
4735
  return RetryingVmProvisioner.ToProvisionConfig(
4724
4736
  cluster_name,
4725
4737
  to_provision,
@@ -521,11 +521,13 @@ class GCP(clouds.Cloud):
521
521
  else:
522
522
  # Convert to GCP names:
523
523
  # https://cloud.google.com/compute/docs/gpus
524
- if acc in ('A100-80GB', 'L4'):
524
+ if acc in ('A100-80GB', 'L4', 'B200'):
525
525
  # A100-80GB and L4 have a different name pattern.
526
526
  resources_vars['gpu'] = f'nvidia-{acc.lower()}'
527
527
  elif acc in ('H100', 'H100-MEGA'):
528
528
  resources_vars['gpu'] = f'nvidia-{acc.lower()}-80gb'
529
+ elif acc in ('H200',):
530
+ resources_vars['gpu'] = f'nvidia-{acc.lower()}-141gb'
529
531
  else:
530
532
  resources_vars['gpu'] = 'nvidia-tesla-{}'.format(
531
533
  acc.lower())
@@ -1059,15 +1061,24 @@ class GCP(clouds.Cloud):
1059
1061
  raise exceptions.NotSupportedError(msg)
1060
1062
 
1061
1063
  @classmethod
1062
- def _get_disk_type(cls, instance_type: Optional[str],
1063
- disk_tier: Optional[resources_utils.DiskTier]) -> str:
1064
-
1065
- def _propagate_disk_type(lowest: Optional[str] = None,
1066
- highest: Optional[str] = None) -> None:
1064
+ def _get_disk_type(
1065
+ cls,
1066
+ instance_type: Optional[str],
1067
+ disk_tier: Optional[resources_utils.DiskTier],
1068
+ ) -> str:
1069
+
1070
+ def _propagate_disk_type(
1071
+ lowest: Optional[str] = None,
1072
+ highest: Optional[str] = None,
1073
+ # pylint: disable=redefined-builtin
1074
+ all: Optional[str] = None) -> None:
1067
1075
  if lowest is not None:
1068
1076
  tier2name[resources_utils.DiskTier.LOW] = lowest
1069
1077
  if highest is not None:
1070
1078
  tier2name[resources_utils.DiskTier.ULTRA] = highest
1079
+ if all is not None:
1080
+ for tier in tier2name:
1081
+ tier2name[tier] = all
1071
1082
 
1072
1083
  tier = cls._translate_disk_tier(disk_tier)
1073
1084
 
@@ -1081,7 +1092,8 @@ class GCP(clouds.Cloud):
1081
1092
 
1082
1093
  # Remap series-specific disk types.
1083
1094
  # Reference: https://github.com/skypilot-org/skypilot/issues/4705
1084
- series = instance_type.split('-')[0] # type: ignore
1095
+ assert instance_type is not None, (instance_type, disk_tier)
1096
+ series = instance_type.split('-')[0]
1085
1097
 
1086
1098
  # General handling of unsupported disk types
1087
1099
  if series in ['n1', 'a2', 'g2']:
@@ -1092,6 +1104,9 @@ class GCP(clouds.Cloud):
1092
1104
  # These series don't support pd-standard, use pd-balanced for LOW.
1093
1105
  _propagate_disk_type(
1094
1106
  lowest=tier2name[resources_utils.DiskTier.MEDIUM])
1107
+ if instance_type.startswith('a3-ultragpu'):
1108
+ # a3-ultragpu instances only support hyperdisk-balanced.
1109
+ _propagate_disk_type(all='hyperdisk-balanced')
1095
1110
 
1096
1111
  # Series specific handling
1097
1112
  if series == 'n2':
@@ -1114,7 +1129,8 @@ class GCP(clouds.Cloud):
1114
1129
  specs: Dict[str, Any] = {
1115
1130
  'disk_tier': cls._get_disk_type(instance_type, disk_tier)
1116
1131
  }
1117
- if disk_tier == resources_utils.DiskTier.ULTRA:
1132
+ if (disk_tier == resources_utils.DiskTier.ULTRA and
1133
+ specs['disk_tier'] == 'pd-extreme'):
1118
1134
  # Only pd-extreme supports custom iops.
1119
1135
  # see https://cloud.google.com/compute/docs/disks#disk-types
1120
1136
  specs['disk_iops'] = 20000
@@ -182,6 +182,9 @@ TPU_V4_HOST_DF = pd.read_csv(
182
182
  SERIES_TO_DISCRIPTION = {
183
183
  'a2': 'A2 Instance',
184
184
  'a3': 'A3 Instance',
185
+ # TODO(zhwu): GCP does not have A4 instance in SKUs API yet. We keep it here
186
+ # for completeness.
187
+ 'a4': 'A4 Instance',
185
188
  'c2': 'Compute optimized',
186
189
  'c2d': 'C2D AMD Instance',
187
190
  'c3': 'C3 Instance',
@@ -198,6 +201,7 @@ SERIES_TO_DISCRIPTION = {
198
201
  't2a': 'T2A Arm Instance',
199
202
  't2d': 'T2D AMD Instance',
200
203
  }
204
+
201
205
  creds, project_id = google.auth.default()
202
206
  gcp_client = discovery.build('compute', 'v1')
203
207
  tpu_client = discovery.build('tpu', 'v1')
@@ -434,10 +438,18 @@ def _get_gpus_for_zone(zone: str) -> 'pd.DataFrame':
434
438
  gpu_name = gpu_name.upper()
435
439
  if 'H100-80GB' in gpu_name:
436
440
  gpu_name = 'H100'
437
- if 'H100-MEGA-80GB' in gpu_name:
441
+
442
+ if 'H100-MEGA' in gpu_name:
438
443
  gpu_name = 'H100-MEGA'
439
444
  if count != 8:
440
- # H100-MEGA only has 8 cards.
445
+ continue
446
+ elif 'H200' in gpu_name:
447
+ gpu_name = 'H200'
448
+ if count != 8:
449
+ continue
450
+ elif 'B200' in gpu_name:
451
+ gpu_name = 'B200'
452
+ if count != 8:
441
453
  continue
442
454
  if 'VWS' in gpu_name:
443
455
  continue
@@ -468,6 +480,8 @@ def _gpu_info_from_name(name: str) -> Optional[Dict[str, List[Dict[str, Any]]]]:
468
480
  'A100': 40 * 1024,
469
481
  'H100': 80 * 1024,
470
482
  'H100-MEGA': 80 * 1024,
483
+ 'H200': 141 * 1024,
484
+ 'B200': 180 * 1024,
471
485
  'P4': 8 * 1024,
472
486
  'T4': 16 * 1024,
473
487
  'V100': 16 * 1024,
@@ -507,22 +521,30 @@ def get_gpu_df(skus: List[Dict[str, Any]],
507
521
  ondemand_or_spot = 'OnDemand' if not spot else 'Preemptible'
508
522
  gpu_price = None
509
523
  for sku in gpu_skus:
524
+ row_gpu_name = row['AcceleratorName']
510
525
  if row['Region'] not in sku['serviceRegions']:
511
526
  continue
512
527
  if sku['category']['usageType'] != ondemand_or_spot:
513
528
  continue
514
529
 
515
- gpu_names = [row['AcceleratorName']]
516
- if gpu_names[0] == 'A100-80GB':
517
- gpu_names = ['A100 80GB']
518
- if gpu_names[0] == 'H100':
519
- gpu_names = ['H100 80GB']
520
- if gpu_names[0] == 'H100-MEGA':
530
+ gpu_names = [f'{row_gpu_name} GPU']
531
+ if row_gpu_name == 'A100-80GB':
532
+ gpu_names = ['A100 80GB GPU']
533
+ elif row_gpu_name == 'H100':
534
+ gpu_names = ['H100 80GB GPU']
535
+ elif row_gpu_name == 'H100-MEGA':
521
536
  # Seems that H100-MEGA has two different descriptions in SKUs in
522
537
  # different regions: 'H100 80GB Mega' and 'H100 80GB Plus'.
523
- gpu_names = ['H100 80GB Mega', 'H100 80GB Plus']
524
- if not any(f'{gpu_name} GPU' in sku['description']
525
- for gpu_name in gpu_names):
538
+ gpu_names = [
539
+ 'H100 80GB Mega GPU', 'H100 Mega 80GB GPU',
540
+ 'H100 80GB Plus GPU'
541
+ ]
542
+ elif row_gpu_name == 'H200':
543
+ gpu_names = ['H200 141GB GPU']
544
+ elif row_gpu_name == 'B200':
545
+ gpu_names = ['Nvidia B200 (1 gpu slice)']
546
+ if not any(
547
+ gpu_name in sku['description'] for gpu_name in gpu_names):
526
548
  continue
527
549
 
528
550
  unit_price = _get_unit_price(sku)
@@ -104,7 +104,13 @@ _ACC_INSTANCE_TYPE_DICTS = {
104
104
  },
105
105
  'H100-MEGA': {
106
106
  8: ['a3-megagpu-8g'],
107
- }
107
+ },
108
+ 'H200': {
109
+ 8: ['a3-ultragpu-8g'],
110
+ },
111
+ 'B200': {
112
+ 8: ['a4-highgpu-8g'],
113
+ },
108
114
  }
109
115
  # Enable GPU type inference from instance types
110
116
  _INSTANCE_TYPE_TO_ACC = {
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"2dkponv64SfFShA8Rnw0D","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"tdxxQrPV6NW90a983oHXe","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"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/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-e15db85d0ea1fbe1.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"2dkponv64SfFShA8Rnw0D","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/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-e15db85d0ea1fbe1.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"tdxxQrPV6NW90a983oHXe","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/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-0ca6f2c1ba667c3b.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-f49500b82ad5392d.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-f383db7389368ea7.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"2dkponv64SfFShA8Rnw0D","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/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-0ca6f2c1ba667c3b.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-f49500b82ad5392d.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-f383db7389368ea7.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"tdxxQrPV6NW90a983oHXe","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"/><link rel="preload" href="/dashboard/skypilot.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-0ca6f2c1ba667c3b.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen bg-gray-50"><div class="fixed top-0 left-0 right-0 z-50 shadow-sm"><div class="fixed top-0 left-0 right-0 bg-white z-30 h-14 px-4 border-b border-gray-200 shadow-sm"><div class="flex items-center h-full"><div class="flex items-center space-x-4 mr-6"><a class="flex items-center px-1 pt-1 h-full" href="/dashboard"><div class="h-20 w-20 flex items-center justify-center"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="w-full h-full object-contain" style="color:transparent" src="/dashboard/skypilot.svg"/></div></a></div><div class="flex items-center space-x-2 md:space-x-6 mr-6"><a class="inline-flex items-center border-b-2 border-transparent text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/clusters"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Clusters</span></a><a class="inline-flex items-center border-b-2 border-transparent hover:text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/jobs"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg><span>Jobs</span></a><div class="inline-flex items-center px-1 pt-1 text-gray-400"><svg class="w-4 h-4" viewBox="0 0 423.683 423.683" width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M54.376,287.577h310.459c26.48,0,48.02-13.979,48.02-40.453c0-17.916-10.001-34.07-25.559-42.292 c-19.021-72.951-86.061-125.196-162.002-125.223v-3.431h-3.854V61.814h3.854v-9.569h-31.38v9.569h3.854v14.363h-3.854v3.431 c-75.941,0.026-142.97,52.272-161.988,125.217c-15.56,8.216-25.573,24.376-25.573,42.291 C6.36,273.597,27.896,287.577,54.376,287.577z M47.676,227.145l7.214-2.424l1.617-7.447 c13.884-64.232,71.707-110.862,137.467-110.862h31.274c65.763,0,123.582,46.63,137.473,110.862l1.607,7.447l7.223,2.424 c8.678,2.92,14.506,10.946,14.506,19.979c0,11.703-9.517,13.647-21.221,13.647H54.376c-11.7,0-21.22-1.944-21.22-13.647 C33.162,238.091,38.984,230.065,47.676,227.145z M423.683,334.602v36.836H0v-36.836h25.348v-18.418h372.99v18.418H423.683z"></path></g></g></svg><span class="ml-2">Services</span><span class="text-xs ml-2 px-1.5 py-0.5 bg-gray-100 text-gray-500 rounded">Soon</span></div></div><div class="flex items-center space-x-1 ml-auto"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-2 py-1 text-gray-600 hover:text-blue-600 transition-colors duration-150 cursor-pointer" title="Docs"><span class="mr-1">Docs</span><svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a><div class="border-l border-gray-200 h-6 mx-1"></div><a href="https://github.com/skypilot-org/skypilot" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="GitHub"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://slack.skypilot.co/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Slack"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path transform="scale(0.85) translate(1.8, 1.8)" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg></a><a href="https://github.com/skypilot-org/skypilot/issues/new" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Leave Feedback"><svg class="w-5 h-5" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z"></path></g></svg></a></div></div></div></div><div class="transition-all duration-200 ease-in-out min-h-screen" style="padding-top:56px"><main class="p-6"><div class="flex items-center justify-between mb-4 h-5"><div class="text-base"><a class="text-sky-blue hover:underline leading-none" href="/dashboard/clusters">Sky Clusters</a></div><div class="flex items-center"><button class="justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent h-10 px-4 py-2 text-sky-blue hover:text-sky-blue-bright flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw h-4 w-4 mr-1.5"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg><span>Refresh</span></button></div></div><div><div class="rounded-lg border bg-card text-card-foreground shadow-sm"><div class="relative w-full overflow-auto"><table class="w-full caption-bottom text-base"><thead class="[&amp;_tr]:border-b"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Status</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Cluster</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">User</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Resources</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Region</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Started</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0">Actions</th></tr></thead><tbody class="[&amp;_tr:last-child]:border-0"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><td class="p-4 align-middle [&amp;:has([role=checkbox])]:pr-0 text-center py-6 text-gray-500" colSpan="8">No active clusters</td></tr></tbody></table></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"2dkponv64SfFShA8Rnw0D","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"/><link rel="preload" href="/dashboard/skypilot.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-0ca6f2c1ba667c3b.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen bg-gray-50"><div class="fixed top-0 left-0 right-0 z-50 shadow-sm"><div class="fixed top-0 left-0 right-0 bg-white z-30 h-14 px-4 border-b border-gray-200 shadow-sm"><div class="flex items-center h-full"><div class="flex items-center space-x-4 mr-6"><a class="flex items-center px-1 pt-1 h-full" href="/dashboard"><div class="h-20 w-20 flex items-center justify-center"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="w-full h-full object-contain" style="color:transparent" src="/dashboard/skypilot.svg"/></div></a></div><div class="flex items-center space-x-2 md:space-x-6 mr-6"><a class="inline-flex items-center border-b-2 border-transparent text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/clusters"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Clusters</span></a><a class="inline-flex items-center border-b-2 border-transparent hover:text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/jobs"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg><span>Jobs</span></a><div class="inline-flex items-center px-1 pt-1 text-gray-400"><svg class="w-4 h-4" viewBox="0 0 423.683 423.683" width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M54.376,287.577h310.459c26.48,0,48.02-13.979,48.02-40.453c0-17.916-10.001-34.07-25.559-42.292 c-19.021-72.951-86.061-125.196-162.002-125.223v-3.431h-3.854V61.814h3.854v-9.569h-31.38v9.569h3.854v14.363h-3.854v3.431 c-75.941,0.026-142.97,52.272-161.988,125.217c-15.56,8.216-25.573,24.376-25.573,42.291 C6.36,273.597,27.896,287.577,54.376,287.577z M47.676,227.145l7.214-2.424l1.617-7.447 c13.884-64.232,71.707-110.862,137.467-110.862h31.274c65.763,0,123.582,46.63,137.473,110.862l1.607,7.447l7.223,2.424 c8.678,2.92,14.506,10.946,14.506,19.979c0,11.703-9.517,13.647-21.221,13.647H54.376c-11.7,0-21.22-1.944-21.22-13.647 C33.162,238.091,38.984,230.065,47.676,227.145z M423.683,334.602v36.836H0v-36.836h25.348v-18.418h372.99v18.418H423.683z"></path></g></g></svg><span class="ml-2">Services</span><span class="text-xs ml-2 px-1.5 py-0.5 bg-gray-100 text-gray-500 rounded">Soon</span></div></div><div class="flex items-center space-x-1 ml-auto"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-2 py-1 text-gray-600 hover:text-blue-600 transition-colors duration-150 cursor-pointer" title="Docs"><span class="mr-1">Docs</span><svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a><div class="border-l border-gray-200 h-6 mx-1"></div><a href="https://github.com/skypilot-org/skypilot" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="GitHub"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://slack.skypilot.co/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Slack"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path transform="scale(0.85) translate(1.8, 1.8)" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg></a><a href="https://github.com/skypilot-org/skypilot/issues/new" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Leave Feedback"><svg class="w-5 h-5" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z"></path></g></svg></a></div></div></div></div><div class="transition-all duration-200 ease-in-out min-h-screen" style="padding-top:56px"><main class="p-6"><div class="flex items-center justify-between mb-4 h-5"><div class="text-base"><a class="text-sky-blue hover:underline leading-none" href="/dashboard/clusters">Sky Clusters</a></div><div class="flex items-center"><button class="justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent h-10 px-4 py-2 text-sky-blue hover:text-sky-blue-bright flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw h-4 w-4 mr-1.5"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg><span>Refresh</span></button></div></div><div><div class="rounded-lg border bg-card text-card-foreground shadow-sm"><div class="relative w-full overflow-auto"><table class="w-full caption-bottom text-base"><thead class="[&amp;_tr]:border-b"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Status</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Cluster</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">User</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Resources</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Region</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Started</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0">Actions</th></tr></thead><tbody class="[&amp;_tr:last-child]:border-0"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><td class="p-4 align-middle [&amp;:has([role=checkbox])]:pr-0 text-center py-6 text-gray-500" colSpan="8">No active clusters</td></tr></tbody></table></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"tdxxQrPV6NW90a983oHXe","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/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-f9f039532ca8cbc4.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"2dkponv64SfFShA8Rnw0D","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/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-f9f039532ca8cbc4.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"tdxxQrPV6NW90a983oHXe","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/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-03f279c6741fb48b.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"2dkponv64SfFShA8Rnw0D","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/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-03f279c6741fb48b.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"tdxxQrPV6NW90a983oHXe","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"/><link rel="preload" href="/dashboard/skypilot.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-0ca6f2c1ba667c3b.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-f49500b82ad5392d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2dkponv64SfFShA8Rnw0D/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen bg-gray-50"><div class="fixed top-0 left-0 right-0 z-50 shadow-sm"><div class="fixed top-0 left-0 right-0 bg-white z-30 h-14 px-4 border-b border-gray-200 shadow-sm"><div class="flex items-center h-full"><div class="flex items-center space-x-4 mr-6"><a class="flex items-center px-1 pt-1 h-full" href="/dashboard"><div class="h-20 w-20 flex items-center justify-center"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="w-full h-full object-contain" style="color:transparent" src="/dashboard/skypilot.svg"/></div></a></div><div class="flex items-center space-x-2 md:space-x-6 mr-6"><a class="inline-flex items-center border-b-2 border-transparent hover:text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/clusters"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Clusters</span></a><a class="inline-flex items-center border-b-2 border-transparent text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/jobs"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg><span>Jobs</span></a><div class="inline-flex items-center px-1 pt-1 text-gray-400"><svg class="w-4 h-4" viewBox="0 0 423.683 423.683" width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M54.376,287.577h310.459c26.48,0,48.02-13.979,48.02-40.453c0-17.916-10.001-34.07-25.559-42.292 c-19.021-72.951-86.061-125.196-162.002-125.223v-3.431h-3.854V61.814h3.854v-9.569h-31.38v9.569h3.854v14.363h-3.854v3.431 c-75.941,0.026-142.97,52.272-161.988,125.217c-15.56,8.216-25.573,24.376-25.573,42.291 C6.36,273.597,27.896,287.577,54.376,287.577z M47.676,227.145l7.214-2.424l1.617-7.447 c13.884-64.232,71.707-110.862,137.467-110.862h31.274c65.763,0,123.582,46.63,137.473,110.862l1.607,7.447l7.223,2.424 c8.678,2.92,14.506,10.946,14.506,19.979c0,11.703-9.517,13.647-21.221,13.647H54.376c-11.7,0-21.22-1.944-21.22-13.647 C33.162,238.091,38.984,230.065,47.676,227.145z M423.683,334.602v36.836H0v-36.836h25.348v-18.418h372.99v18.418H423.683z"></path></g></g></svg><span class="ml-2">Services</span><span class="text-xs ml-2 px-1.5 py-0.5 bg-gray-100 text-gray-500 rounded">Soon</span></div></div><div class="flex items-center space-x-1 ml-auto"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-2 py-1 text-gray-600 hover:text-blue-600 transition-colors duration-150 cursor-pointer" title="Docs"><span class="mr-1">Docs</span><svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a><div class="border-l border-gray-200 h-6 mx-1"></div><a href="https://github.com/skypilot-org/skypilot" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="GitHub"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://slack.skypilot.co/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Slack"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path transform="scale(0.85) translate(1.8, 1.8)" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg></a><a href="https://github.com/skypilot-org/skypilot/issues/new" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Leave Feedback"><svg class="w-5 h-5" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z"></path></g></svg></a></div></div></div></div><div class="transition-all duration-200 ease-in-out min-h-screen" style="padding-top:56px"><main class="p-6"><div class="flex items-center justify-between mb-4 h-5"><div class="text-base"><a class="text-sky-blue hover:underline leading-none" href="/dashboard/jobs">Managed Jobs</a></div><div class="flex items-center space-x-2"><button class="inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent h-9 rounded-md px-3 text-sky-blue hover:text-sky-blue-bright" title="Refresh"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw h-4 w-4 mr-1.5"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg><span>Refresh</span></button></div></div><div class="relative"><div class="flex flex-col space-y-1 mb-1"><div class="flex flex-wrap items-center text-sm mb-1"><span class="mr-2 text-sm font-medium">Statuses:</span><div class="flex flex-wrap gap-2 items-center"></div></div></div><div class="rounded-lg border bg-card text-card-foreground shadow-sm"><div class="relative w-full overflow-auto"><table class="w-full caption-bottom text-base"><thead class="[&amp;_tr]:border-b"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">ID</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Name</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">User</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Submitted</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Duration</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Status</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Resources</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Cluster</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Region</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Recoveries</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0">Details</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0">Logs</th></tr></thead><tbody class="[&amp;_tr:last-child]:border-0"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><td class="p-4 align-middle [&amp;:has([role=checkbox])]:pr-0 text-center py-6" colSpan="12"><div class="flex flex-col items-center space-y-4"><p class="text-gray-500">No active jobs</p></div></td></tr></tbody></table></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"2dkponv64SfFShA8Rnw0D","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"/><link rel="preload" href="/dashboard/skypilot.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.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-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-0ca6f2c1ba667c3b.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-f49500b82ad5392d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/tdxxQrPV6NW90a983oHXe/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen bg-gray-50"><div class="fixed top-0 left-0 right-0 z-50 shadow-sm"><div class="fixed top-0 left-0 right-0 bg-white z-30 h-14 px-4 border-b border-gray-200 shadow-sm"><div class="flex items-center h-full"><div class="flex items-center space-x-4 mr-6"><a class="flex items-center px-1 pt-1 h-full" href="/dashboard"><div class="h-20 w-20 flex items-center justify-center"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="w-full h-full object-contain" style="color:transparent" src="/dashboard/skypilot.svg"/></div></a></div><div class="flex items-center space-x-2 md:space-x-6 mr-6"><a class="inline-flex items-center border-b-2 border-transparent hover:text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/clusters"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Clusters</span></a><a class="inline-flex items-center border-b-2 border-transparent text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/jobs"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg><span>Jobs</span></a><div class="inline-flex items-center px-1 pt-1 text-gray-400"><svg class="w-4 h-4" viewBox="0 0 423.683 423.683" width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M54.376,287.577h310.459c26.48,0,48.02-13.979,48.02-40.453c0-17.916-10.001-34.07-25.559-42.292 c-19.021-72.951-86.061-125.196-162.002-125.223v-3.431h-3.854V61.814h3.854v-9.569h-31.38v9.569h3.854v14.363h-3.854v3.431 c-75.941,0.026-142.97,52.272-161.988,125.217c-15.56,8.216-25.573,24.376-25.573,42.291 C6.36,273.597,27.896,287.577,54.376,287.577z M47.676,227.145l7.214-2.424l1.617-7.447 c13.884-64.232,71.707-110.862,137.467-110.862h31.274c65.763,0,123.582,46.63,137.473,110.862l1.607,7.447l7.223,2.424 c8.678,2.92,14.506,10.946,14.506,19.979c0,11.703-9.517,13.647-21.221,13.647H54.376c-11.7,0-21.22-1.944-21.22-13.647 C33.162,238.091,38.984,230.065,47.676,227.145z M423.683,334.602v36.836H0v-36.836h25.348v-18.418h372.99v18.418H423.683z"></path></g></g></svg><span class="ml-2">Services</span><span class="text-xs ml-2 px-1.5 py-0.5 bg-gray-100 text-gray-500 rounded">Soon</span></div></div><div class="flex items-center space-x-1 ml-auto"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-2 py-1 text-gray-600 hover:text-blue-600 transition-colors duration-150 cursor-pointer" title="Docs"><span class="mr-1">Docs</span><svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a><div class="border-l border-gray-200 h-6 mx-1"></div><a href="https://github.com/skypilot-org/skypilot" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="GitHub"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://slack.skypilot.co/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Slack"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path transform="scale(0.85) translate(1.8, 1.8)" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg></a><a href="https://github.com/skypilot-org/skypilot/issues/new" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Leave Feedback"><svg class="w-5 h-5" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z"></path></g></svg></a></div></div></div></div><div class="transition-all duration-200 ease-in-out min-h-screen" style="padding-top:56px"><main class="p-6"><div class="flex items-center justify-between mb-4 h-5"><div class="text-base"><a class="text-sky-blue hover:underline leading-none" href="/dashboard/jobs">Managed Jobs</a></div><div class="flex items-center space-x-2"><button class="inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent h-9 rounded-md px-3 text-sky-blue hover:text-sky-blue-bright" title="Refresh"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw h-4 w-4 mr-1.5"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg><span>Refresh</span></button></div></div><div class="relative"><div class="flex flex-col space-y-1 mb-1"><div class="flex flex-wrap items-center text-sm mb-1"><span class="mr-2 text-sm font-medium">Statuses:</span><div class="flex flex-wrap gap-2 items-center"></div></div></div><div class="rounded-lg border bg-card text-card-foreground shadow-sm"><div class="relative w-full overflow-auto"><table class="w-full caption-bottom text-base"><thead class="[&amp;_tr]:border-b"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">ID</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Name</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">User</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Submitted</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Duration</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Status</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Resources</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Cluster</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Region</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Recoveries</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0">Details</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0">Logs</th></tr></thead><tbody class="[&amp;_tr:last-child]:border-0"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><td class="p-4 align-middle [&amp;:has([role=checkbox])]:pr-0 text-center py-6" colSpan="12"><div class="flex flex-col items-center space-y-4"><p class="text-gray-500">No active jobs</p></div></td></tr></tbody></table></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"tdxxQrPV6NW90a983oHXe","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -19,7 +19,6 @@ import uuid
19
19
  from sky import models
20
20
  from sky import sky_logging
21
21
  from sky.utils import common_utils
22
- from sky.utils import context_utils
23
22
  from sky.utils import db_utils
24
23
  from sky.utils import registry
25
24
  from sky.utils import status_lib
@@ -672,7 +671,6 @@ def _load_storage_mounts_metadata(
672
671
  return pickle.loads(record_storage_mounts_metadata)
673
672
 
674
673
 
675
- @context_utils.cancellation_guard
676
674
  def get_cluster_from_name(
677
675
  cluster_name: Optional[str]) -> Optional[Dict[str, Any]]:
678
676
  rows = _DB.cursor.execute(
@@ -499,6 +499,10 @@ class Resources:
499
499
  def requires_fuse(self, value: Optional[bool]) -> None:
500
500
  self._requires_fuse = value
501
501
 
502
+ @property
503
+ def docker_login_config(self) -> Optional[docker_utils.DockerLoginConfig]:
504
+ return self._docker_login_config
505
+
502
506
  @property
503
507
  def docker_username_for_runpod(self) -> Optional[str]:
504
508
  return self._docker_username_for_runpod