skypilot-nightly 1.0.0.dev20250421__tar.gz → 1.0.0.dev20250422__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 (414) hide show
  1. {skypilot_nightly-1.0.0.dev20250421/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250422}/PKG-INFO +1 -1
  2. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/aws.py +2 -13
  4. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/cli.py +1 -5
  5. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/client/cli.py +1 -5
  6. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/aws.py +5 -5
  7. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +9 -9
  8. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/404.html +1 -1
  9. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  10. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/clusters/[cluster].html +1 -1
  11. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/clusters.html +1 -1
  12. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/index.html +1 -1
  13. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/jobs/[job].html +1 -1
  14. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/jobs.html +1 -1
  15. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/runpod/utils.py +32 -6
  16. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/payloads.py +15 -0
  17. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skypilot_config.py +7 -6
  18. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422/skypilot_nightly.egg-info}/PKG-INFO +1 -1
  19. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/skypilot_nightly.egg-info/SOURCES.txt +2 -2
  20. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/LICENSE +0 -0
  21. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/MANIFEST.in +0 -0
  22. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/README.md +0 -0
  23. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/pyproject.toml +0 -0
  24. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/setup.cfg +0 -0
  25. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/setup.py +0 -0
  26. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/__init__.py +0 -0
  27. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/azure.py +0 -0
  28. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/cloudflare.py +0 -0
  29. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/common.py +0 -0
  30. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/cudo.py +0 -0
  31. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/do.py +0 -0
  32. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/docker.py +0 -0
  33. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/gcp.py +0 -0
  34. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/ibm.py +0 -0
  35. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/kubernetes.py +0 -0
  36. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/nebius.py +0 -0
  37. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/oci.py +0 -0
  38. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/runpod.py +0 -0
  39. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/vast.py +0 -0
  40. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/adaptors/vsphere.py +0 -0
  41. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/admin_policy.py +0 -0
  42. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/authentication.py +0 -0
  43. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/backends/__init__.py +0 -0
  44. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/backends/backend.py +0 -0
  45. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/backends/backend_utils.py +0 -0
  46. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/backends/cloud_vm_ray_backend.py +0 -0
  47. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/backends/docker_utils.py +0 -0
  48. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/backends/local_docker_backend.py +0 -0
  49. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  50. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/backends/wheel_utils.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/benchmark/__init__.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/benchmark/benchmark_state.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/benchmark/benchmark_utils.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/check.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/client/__init__.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/client/common.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/client/sdk.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/cloud_stores.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/__init__.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/azure.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/cloud.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/cudo.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/do.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/fluidstack.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/gcp.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/ibm.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/kubernetes.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/lambda_cloud.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/nebius.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/oci.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/paperspace.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/runpod.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/scp.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/__init__.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/aws_catalog.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/azure_catalog.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/common.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/config.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/constants.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_ibm.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_vast.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/do_catalog.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/nebius_catalog.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/oci_catalog.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/scp_catalog.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/vast_catalog.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/utils/__init__.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/utils/aws_utils.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/utils/azure_utils.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/utils/gcp_utils.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/utils/oci_utils.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/utils/scp_utils.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/vast.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/clouds/vsphere.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/core.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dag.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250421/sky/dashboard/out/_next/static/mS9YfLA5hhsJMeBj9W8J7 → skypilot_nightly-1.0.0.dev20250422/sky/dashboard/out/_next/static/2GsKhI8XKYj9B2969iIDf}/_buildManifest.js +0 -0
  114. {skypilot_nightly-1.0.0.dev20250421/sky/dashboard/out/_next/static/mS9YfLA5hhsJMeBj9W8J7 → skypilot_nightly-1.0.0.dev20250422/sky/dashboard/out/_next/static/2GsKhI8XKYj9B2969iIDf}/_ssgManifest.js +0 -0
  115. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/236-d437cf66e68a6f64.js +0 -0
  116. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/312-c3c8845990db8ffc.js +0 -0
  117. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/37-72fdc8f71d6e4784.js +0 -0
  118. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/678-206dddca808e6d16.js +0 -0
  119. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/845-2ea1cc63ba1f4067.js +0 -0
  120. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/979-7cd0778078b9cfad.js +0 -0
  121. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/fd9d1056-2821b0f0cabcd8bd.js +0 -0
  122. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/framework-87d061ee6ed71b28.js +0 -0
  123. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/main-app-241eb28595532291.js +0 -0
  124. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/main-e0e2335212e72357.js +0 -0
  125. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/pages/_app-3001e84c61acddfb.js +0 -0
  126. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js +0 -0
  127. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-b09f7fbf6d5d74f6.js +0 -0
  128. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-b57ec043f09c5813.js +0 -0
  129. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js +0 -0
  130. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/pages/index-f9f039532ca8cbc4.js +0 -0
  131. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-ef2e0e91a9222cac.js +0 -0
  132. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js +0 -0
  133. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  134. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/chunks/webpack-830f59b8404e96b8.js +0 -0
  135. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/_next/static/css/f3538cd90cfca88c.css +0 -0
  136. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/favicon.ico +0 -0
  137. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/skypilot.svg +0 -0
  138. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  139. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/data/__init__.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/data/data_transfer.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/data/data_utils.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/data/mounting_utils.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/data/storage.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/data/storage_utils.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/exceptions.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/execution.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/global_user_state.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/__init__.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/client/__init__.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/client/sdk.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/constants.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/controller.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/dashboard/dashboard.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/dashboard/static/favicon.ico +0 -0
  155. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/dashboard/templates/index.html +0 -0
  156. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/recovery_strategy.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/scheduler.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/server/__init__.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/server/core.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/server/dashboard_utils.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/server/server.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/state.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/jobs/utils.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/models.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/optimizer.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/__init__.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/aws/__init__.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/aws/config.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/aws/instance.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/aws/utils.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/azure/__init__.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/azure/azure-config-template.json +0 -0
  173. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/azure/config.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/azure/instance.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/common.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/constants.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/cudo/__init__.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/cudo/config.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/cudo/cudo_machine_type.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/cudo/cudo_utils.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/cudo/cudo_wrapper.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/cudo/instance.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/do/__init__.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/do/config.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/do/constants.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/do/instance.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/do/utils.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/docker_utils.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/fluidstack/__init__.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/fluidstack/config.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/fluidstack/instance.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/gcp/__init__.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/gcp/config.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/gcp/constants.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/gcp/instance.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/gcp/instance_utils.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/gcp/mig_utils.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/instance_setup.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/kubernetes/__init__.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/kubernetes/config.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/kubernetes/constants.py +0 -0
  203. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/kubernetes/instance.py +0 -0
  204. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  205. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/kubernetes/network.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/kubernetes/network_utils.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/kubernetes/utils.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/lambda_cloud/__init__.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/lambda_cloud/config.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/lambda_cloud/instance.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/logging.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/metadata_utils.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/nebius/__init__.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/nebius/config.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/nebius/instance.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/nebius/utils.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/oci/__init__.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/oci/config.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/oci/instance.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/oci/query_utils.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/paperspace/__init__.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/paperspace/config.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/paperspace/constants.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/paperspace/instance.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/paperspace/utils.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/provisioner.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/runpod/__init__.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/runpod/api/__init__.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/runpod/api/commands.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/runpod/api/pods.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/runpod/config.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/runpod/instance.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vast/__init__.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vast/config.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vast/instance.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vast/utils.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/__init__.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/__init__.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/custom_script.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/id_generator.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/service_manager.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/common/vim_utils.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/config.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/instance.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/provision/vsphere/vsphere_utils.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/resources.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/__init__.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/autoscalers.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/client/__init__.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/client/sdk.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/constants.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/controller.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/load_balancer.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/load_balancing_policies.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/replica_managers.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/serve_state.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/serve_utils.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/server/__init__.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/server/core.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/server/server.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/service.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/service_spec.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/serve/spot_placer.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/__init__.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/common.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/constants.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/html/log.html +0 -0
  275. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/__init__.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/event_loop.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/executor.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/preconditions.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/process.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/queues/__init__.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/queues/local_queue.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/queues/mp_queue.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/requests.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/serializers/__init__.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/serializers/decoders.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/requests/serializers/encoders.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/server.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/stream_utils.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/server/uvicorn.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/setup_files/MANIFEST.in +0 -0
  291. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/setup_files/dependencies.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/setup_files/setup.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/sky_logging.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/LICENSE +0 -0
  295. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/__init__.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/attempt_skylet.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/autostop_lib.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/configs.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/constants.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/events.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/job_lib.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/log_lib.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/log_lib.pyi +0 -0
  304. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/__init__.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/command_runner.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/ibm/__init__.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/ibm/node_provider.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/ibm/utils.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/scp/__init__.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/scp/config.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/providers/scp/node_provider.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/ray_patches/__init__.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  315. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/ray_patches/cli.py.patch +0 -0
  316. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  317. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  318. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  319. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/ray_patches/updater.py.patch +0 -0
  320. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/ray_patches/worker.py.patch +0 -0
  321. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/skylet.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/skylet/subprocess_daemon.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/task.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/aws-ray.yml.j2 +0 -0
  325. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/azure-ray.yml.j2 +0 -0
  326. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/cudo-ray.yml.j2 +0 -0
  327. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/do-ray.yml.j2 +0 -0
  328. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  329. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/gcp-ray.yml.j2 +0 -0
  330. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/ibm-ray.yml.j2 +0 -0
  331. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/jobs-controller.yaml.j2 +0 -0
  332. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  333. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  334. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  335. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  336. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  337. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/lambda-ray.yml.j2 +0 -0
  338. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/local-ray.yml.j2 +0 -0
  339. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/nebius-ray.yml.j2 +0 -0
  340. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/oci-ray.yml.j2 +0 -0
  341. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/paperspace-ray.yml.j2 +0 -0
  342. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/runpod-ray.yml.j2 +0 -0
  343. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/scp-ray.yml.j2 +0 -0
  344. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  345. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  346. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/vast-ray.yml.j2 +0 -0
  347. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/vsphere-ray.yml.j2 +0 -0
  348. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/templates/websocket_proxy.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/usage/__init__.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/usage/constants.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/usage/usage_lib.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/__init__.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/accelerator_registry.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/admin_policy_utils.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/annotations.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/atomic.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/cli_utils/__init__.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/cli_utils/status_utils.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/cluster_utils.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/command_runner.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/command_runner.pyi +0 -0
  362. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/common.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/common_utils.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/config_utils.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/control_master_utils.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/controller_utils.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/dag_utils.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/db_utils.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/env_options.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/__init__.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/create_cluster.sh +0 -0
  372. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  373. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
  374. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  377. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  379. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  380. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  382. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/kubernetes_enums.py +0 -0
  384. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/log_utils.py +0 -0
  385. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/message_utils.py +0 -0
  386. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/registry.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/resources_utils.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/rich_console_utils.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/rich_utils.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/schemas.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/status_lib.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/subprocess_utils.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/timeline.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/ux_utils.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/sky/utils/validator.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  397. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  398. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/skypilot_nightly.egg-info/requires.txt +0 -0
  399. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/skypilot_nightly.egg-info/top_level.txt +0 -0
  400. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_api.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_cli.py +0 -0
  402. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_config.py +0 -0
  403. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_failover.py +0 -0
  404. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_global_user_state.py +0 -0
  405. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_jobs.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_jobs_and_serve.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_list_accelerators.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_optimizer_dryruns.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_optimizer_random_dag.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_serve_autoscaler.py +0 -0
  411. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_smoke.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_storage.py +0 -0
  413. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/tests/test_wheels.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20250421 → skypilot_nightly-1.0.0.dev20250422}/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.dev20250421
3
+ Version: 1.0.0.dev20250422
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
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 = 'd37ba6f11593127305c73cb1b1a03dc6da8452b7'
8
+ _SKYPILOT_COMMIT_SHA = '69aebc34b3963a1a8d4026e68b3cffd86347c1e2'
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.dev20250421'
38
+ __version__ = '1.0.0.dev20250422'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -28,7 +28,6 @@ This is informed by the following boto3 docs:
28
28
 
29
29
  # pylint: disable=import-outside-toplevel
30
30
 
31
- import functools
32
31
  import logging
33
32
  import threading
34
33
  import time
@@ -60,23 +59,13 @@ class _ThreadLocalLRUCache(threading.local):
60
59
 
61
60
  def __init__(self, maxsize=32):
62
61
  super().__init__()
63
- self.cache = annotations.lru_cache(scope='global', maxsize=maxsize)
62
+ self.cache = annotations.lru_cache(scope='request', maxsize=maxsize)
64
63
 
65
64
 
66
65
  def _thread_local_lru_cache(maxsize=32):
67
66
  # Create thread-local storage for the LRU cache
68
67
  local_cache = _ThreadLocalLRUCache(maxsize)
69
-
70
- def decorator(func):
71
-
72
- @functools.wraps(func)
73
- def wrapper(*args, **kwargs):
74
- # Use the thread-local LRU cache
75
- return local_cache.cache(func)(*args, **kwargs)
76
-
77
- return wrapper
78
-
79
- return decorator
68
+ return local_cache.cache
80
69
 
81
70
 
82
71
  def _assert_kwargs_builtin_type(kwargs):
@@ -302,13 +302,9 @@ def config_option(expose_value: bool):
302
302
  try:
303
303
  if len(value) == 0:
304
304
  return None
305
- elif len(value) > 1:
306
- raise ValueError('argument specified multiple times. '
307
- 'To specify multiple configs, use '
308
- '--config nested.key1=val1,another.key2=val2')
309
305
  else:
310
306
  # Apply the config overrides to the skypilot config.
311
- return skypilot_config.apply_cli_config(value[0])
307
+ return skypilot_config.apply_cli_config(value)
312
308
  except ValueError as e:
313
309
  raise click.BadParameter(f'{str(e)}') from e
314
310
 
@@ -302,13 +302,9 @@ def config_option(expose_value: bool):
302
302
  try:
303
303
  if len(value) == 0:
304
304
  return None
305
- elif len(value) > 1:
306
- raise ValueError('argument specified multiple times. '
307
- 'To specify multiple configs, use '
308
- '--config nested.key1=val1,another.key2=val2')
309
305
  else:
310
306
  # Apply the config overrides to the skypilot config.
311
- return skypilot_config.apply_cli_config(value[0])
307
+ return skypilot_config.apply_cli_config(value)
312
308
  except ValueError as e:
313
309
  raise click.BadParameter(f'{str(e)}') from e
314
310
 
@@ -571,7 +571,7 @@ class AWS(clouds.Cloud):
571
571
  return cls._check_credentials()
572
572
 
573
573
  @classmethod
574
- @annotations.lru_cache(scope='global',
574
+ @annotations.lru_cache(scope='request',
575
575
  maxsize=1) # Cache since getting identity is slow.
576
576
  def _check_credentials(cls) -> Tuple[bool, Optional[str]]:
577
577
  """Checks if the user has access credentials to AWS."""
@@ -710,7 +710,7 @@ class AWS(clouds.Cloud):
710
710
  return AWSIdentityType.SHARED_CREDENTIALS_FILE
711
711
 
712
712
  @classmethod
713
- @annotations.lru_cache(scope='global', maxsize=1)
713
+ @annotations.lru_cache(scope='request', maxsize=1)
714
714
  def _aws_configure_list(cls) -> Optional[bytes]:
715
715
  proc = subprocess.run('aws configure list',
716
716
  shell=True,
@@ -722,7 +722,7 @@ class AWS(clouds.Cloud):
722
722
  return proc.stdout
723
723
 
724
724
  @classmethod
725
- @annotations.lru_cache(scope='global',
725
+ @annotations.lru_cache(scope='request',
726
726
  maxsize=1) # Cache since getting identity is slow.
727
727
  def _sts_get_caller_identity(cls) -> Optional[List[List[str]]]:
728
728
  try:
@@ -804,7 +804,7 @@ class AWS(clouds.Cloud):
804
804
  return [user_ids]
805
805
 
806
806
  @classmethod
807
- @annotations.lru_cache(scope='global',
807
+ @annotations.lru_cache(scope='request',
808
808
  maxsize=1) # Cache since getting identity is slow.
809
809
  def get_user_identities(cls) -> Optional[List[List[str]]]:
810
810
  """Returns a [UserId, Account] list that uniquely identifies the user.
@@ -909,7 +909,7 @@ class AWS(clouds.Cloud):
909
909
  if os.path.exists(os.path.expanduser(f'~/.aws/{filename}'))
910
910
  }
911
911
 
912
- @annotations.lru_cache(scope='global', maxsize=1)
912
+ @annotations.lru_cache(scope='request', maxsize=1)
913
913
  def can_credential_expire(self) -> bool:
914
914
  identity_type = self._current_identity_type()
915
915
  return (identity_type is not None and
@@ -60,8 +60,9 @@ HIDDEN_TPU_DF = pd.read_csv(
60
60
  ,tpu-v3-2048,1,,,tpu-v3-2048,2048.0,614.4,us-east1,us-east1-d
61
61
  """)))
62
62
 
63
- # TPU V6e price for the following regions is missing in the SKUs.
64
- TPU_V6E_MISSING_REGIONS = ['us-central2', 'southamerica-west1']
63
+ # Maximum price for TPU V6e is $691.2/hour. Here we set a higher price
64
+ # so the failover will go to the region with precise pricing info first.
65
+ TPU_V6E_MAX_PRICE = 700
65
66
 
66
67
  # TPU V5 is not visible in specific zones. We hardcode the missing zones here.
67
68
  # NOTE(dev): Keep the zones and the df in sync.
@@ -699,13 +700,12 @@ def get_tpu_df(gce_skus: List[Dict[str, Any]],
699
700
  spot_str = 'spot ' if spot else ''
700
701
  print(f'The {spot_str}price of {tpu_name} in {tpu_region} is '
701
702
  'not found in SKUs or hidden TPU price DF.')
702
- if (tpu_name.startswith('tpu-v6e') and
703
- tpu_region in TPU_V6E_MISSING_REGIONS):
704
- if not spot:
705
- tpu_price = 0.0
706
- else:
707
- assert spot or tpu_price is not None, (row, hidden_tpu,
708
- HIDDEN_TPU_DF)
703
+ # GCP's TPU V6e pricing info is not stable and there are some
704
+ # regions that are missing the pricing info. We set the price to
705
+ # the maximum price so the failover will go to the region with
706
+ # precise pricing info first.
707
+ if tpu_name.startswith('tpu-v6e'):
708
+ tpu_price = TPU_V6E_MAX_PRICE
709
709
  return tpu_price
710
710
 
711
711
  df['Price'] = df.apply(lambda row: get_tpu_price(row, spot=False), axis=1)
@@ -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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_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":"mS9YfLA5hhsJMeBj9W8J7","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_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":"2GsKhI8XKYj9B2969iIDf","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-b09f7fbf6d5d74f6.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_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":"mS9YfLA5hhsJMeBj9W8J7","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-b09f7fbf6d5d74f6.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_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":"2GsKhI8XKYj9B2969iIDf","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.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-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-2ea1cc63ba1f4067.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-d437cf66e68a6f64.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-72fdc8f71d6e4784.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-b57ec043f09c5813.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_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":"mS9YfLA5hhsJMeBj9W8J7","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.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-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-2ea1cc63ba1f4067.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-d437cf66e68a6f64.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-72fdc8f71d6e4784.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-b57ec043f09c5813.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_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":"2GsKhI8XKYj9B2969iIDf","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.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-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-2ea1cc63ba1f4067.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-72fdc8f71d6e4784.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_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"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="h-12 w-12" style="color:transparent;width:80px;height:80px" src="/dashboard/skypilot.svg"/></a></div><div class="hidden md:flex items-center space-x-6 mr-6"><a class="inline-flex items-center space-x-2 px-1 pt-1 border-b-2 border-transparent text-blue-600" 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 space-x-2 px-1 pt-1 border-b-2 border-transparent hover:text-blue-600 hover:border-blue-600" 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 space-x-2 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>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="hidden md:flex items-center space-x-2 ml-auto"><div class="flex items-center space-x-1"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-3 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"><span class="flex items-center justify-center"><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></span></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"><span class="flex items-center justify-center"><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></span></a><a href="https://github.com/skypilot-org/skypilot/issues/new?assignees=&amp;labels=type%3A+enhancement&amp;title=" 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"><span class="flex items-center justify-center"><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></span></a></div></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 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":"mS9YfLA5hhsJMeBj9W8J7","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.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-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-2ea1cc63ba1f4067.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-72fdc8f71d6e4784.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_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"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="h-12 w-12" style="color:transparent;width:80px;height:80px" src="/dashboard/skypilot.svg"/></a></div><div class="hidden md:flex items-center space-x-6 mr-6"><a class="inline-flex items-center space-x-2 px-1 pt-1 border-b-2 border-transparent text-blue-600" 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 space-x-2 px-1 pt-1 border-b-2 border-transparent hover:text-blue-600 hover:border-blue-600" 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 space-x-2 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>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="hidden md:flex items-center space-x-2 ml-auto"><div class="flex items-center space-x-1"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-3 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"><span class="flex items-center justify-center"><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></span></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"><span class="flex items-center justify-center"><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></span></a><a href="https://github.com/skypilot-org/skypilot/issues/new?assignees=&amp;labels=type%3A+enhancement&amp;title=" 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"><span class="flex items-center justify-center"><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></span></a></div></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 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":"2GsKhI8XKYj9B2969iIDf","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-f9f039532ca8cbc4.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"mS9YfLA5hhsJMeBj9W8J7","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-f9f039532ca8cbc4.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"2GsKhI8XKYj9B2969iIDf","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-ef2e0e91a9222cac.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_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":"mS9YfLA5hhsJMeBj9W8J7","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-ef2e0e91a9222cac.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_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":"2GsKhI8XKYj9B2969iIDf","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.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-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-2ea1cc63ba1f4067.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-d437cf66e68a6f64.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/mS9YfLA5hhsJMeBj9W8J7/_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"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="h-12 w-12" style="color:transparent;width:80px;height:80px" src="/dashboard/skypilot.svg"/></a></div><div class="hidden md:flex items-center space-x-6 mr-6"><a class="inline-flex items-center space-x-2 px-1 pt-1 border-b-2 border-transparent hover:text-blue-600 hover:border-blue-600" 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 space-x-2 px-1 pt-1 border-b-2 border-transparent text-blue-600" 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 space-x-2 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>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="hidden md:flex items-center space-x-2 ml-auto"><div class="flex items-center space-x-1"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-3 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"><span class="flex items-center justify-center"><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></span></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"><span class="flex items-center justify-center"><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></span></a><a href="https://github.com/skypilot-org/skypilot/issues/new?assignees=&amp;labels=type%3A+enhancement&amp;title=" 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"><span class="flex items-center justify-center"><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></span></a></div></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":"mS9YfLA5hhsJMeBj9W8J7","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/f3538cd90cfca88c.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/f3538cd90cfca88c.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-3001e84c61acddfb.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-7cd0778078b9cfad.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-2ea1cc63ba1f4067.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-d437cf66e68a6f64.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/2GsKhI8XKYj9B2969iIDf/_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"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="h-12 w-12" style="color:transparent;width:80px;height:80px" src="/dashboard/skypilot.svg"/></a></div><div class="hidden md:flex items-center space-x-6 mr-6"><a class="inline-flex items-center space-x-2 px-1 pt-1 border-b-2 border-transparent hover:text-blue-600 hover:border-blue-600" 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 space-x-2 px-1 pt-1 border-b-2 border-transparent text-blue-600" 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 space-x-2 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>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="hidden md:flex items-center space-x-2 ml-auto"><div class="flex items-center space-x-1"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-3 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"><span class="flex items-center justify-center"><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></span></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"><span class="flex items-center justify-center"><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></span></a><a href="https://github.com/skypilot-org/skypilot/issues/new?assignees=&amp;labels=type%3A+enhancement&amp;title=" 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"><span class="flex items-center justify-center"><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></span></a></div></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":"2GsKhI8XKYj9B2969iIDf","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -14,11 +14,19 @@ from sky.utils import common_utils
14
14
  logger = sky_logging.init_logger(__name__)
15
15
 
16
16
  GPU_NAME_MAP = {
17
+ # AMD
18
+ 'MI300X': 'AMD Instinct MI300X OAM',
19
+
20
+ # NVIDIA A-series
17
21
  'A100-80GB': 'NVIDIA A100 80GB PCIe',
18
- 'A100-40GB': 'NVIDIA A100-PCIE-40GB',
19
22
  'A100-80GB-SXM': 'NVIDIA A100-SXM4-80GB',
20
23
  'A30': 'NVIDIA A30',
21
24
  'A40': 'NVIDIA A40',
25
+
26
+ # NVIDIA B-series
27
+ 'B200': 'NVIDIA B200',
28
+
29
+ # GeForce
22
30
  'RTX3070': 'NVIDIA GeForce RTX 3070',
23
31
  'RTX3080': 'NVIDIA GeForce RTX 3080',
24
32
  'RTX3080Ti': 'NVIDIA GeForce RTX 3080 Ti',
@@ -26,25 +34,43 @@ GPU_NAME_MAP = {
26
34
  'RTX3090Ti': 'NVIDIA GeForce RTX 3090 Ti',
27
35
  'RTX4070Ti': 'NVIDIA GeForce RTX 4070 Ti',
28
36
  'RTX4080': 'NVIDIA GeForce RTX 4080',
37
+ 'RTX4080SUPER': 'NVIDIA GeForce RTX 4080 SUPER',
29
38
  'RTX4090': 'NVIDIA GeForce RTX 4090',
39
+ 'RTX5080': 'NVIDIA GeForce RTX 5080',
40
+ 'RTX5090': 'NVIDIA GeForce RTX 5090',
41
+
42
+ # NVIDIA H100/H200
30
43
  # Following instance is displayed as SXM at the console
31
44
  # but the ID from the API appears as HBM
32
45
  'H100-SXM': 'NVIDIA H100 80GB HBM3',
46
+ 'H100-NVL': 'NVIDIA H100 NVL',
33
47
  'H100': 'NVIDIA H100 PCIe',
48
+ 'H200-SXM': 'NVIDIA H200',
49
+
50
+ # NVIDIA L-series
34
51
  'L4': 'NVIDIA L4',
35
52
  'L40': 'NVIDIA L40',
36
- 'RTX4000-Ada-SFF': 'NVIDIA RTX 4000 SFF Ada Generation',
53
+ 'L40S': 'NVIDIA L40S',
54
+
55
+ # Ada generation (GeForce & RTX A)
56
+ 'RTX2000-Ada': 'NVIDIA RTX 2000 Ada Generation',
37
57
  'RTX4000-Ada': 'NVIDIA RTX 4000 Ada Generation',
58
+ 'RTX4000-Ada-SFF': 'NVIDIA RTX 4000 SFF Ada Generation',
59
+ 'RTX5000-Ada': 'NVIDIA RTX 5000 Ada Generation',
38
60
  'RTX6000-Ada': 'NVIDIA RTX 6000 Ada Generation',
61
+
62
+ # NVIDIA RTX A-series
63
+ 'RTXA2000': 'NVIDIA RTX A2000',
39
64
  'RTXA4000': 'NVIDIA RTX A4000',
40
65
  'RTXA4500': 'NVIDIA RTX A4500',
41
66
  'RTXA5000': 'NVIDIA RTX A5000',
42
67
  'RTXA6000': 'NVIDIA RTX A6000',
43
- 'RTX5000': 'Quadro RTX 5000',
68
+
69
+ # Tesla V100 variants
44
70
  'V100-16GB-FHHL': 'Tesla V100-FHHL-16GB',
45
- 'V100-16GB-SXM2': 'V100-SXM2-16GB',
46
- 'RTXA2000': 'NVIDIA RTX A2000',
47
- 'V100-16GB-PCIe': 'Tesla V100-PCIE-16GB'
71
+ 'V100-16GB-SXM2': 'Tesla V100-SXM2-16GB',
72
+ 'V100-32GB-SXM2': 'Tesla V100-SXM2-32GB',
73
+ 'V100-16GB-PCIe': 'Tesla V100-PCIE-16GB',
48
74
  }
49
75
 
50
76
 
@@ -31,6 +31,19 @@ else:
31
31
 
32
32
  logger = sky_logging.init_logger(__name__)
33
33
 
34
+ # These non-skypilot environment variables will be updated from the local
35
+ # environment on each request when running a local API server.
36
+ # We should avoid adding variables here, but we should include credential-
37
+ # related variables.
38
+ EXTERNAL_LOCAL_ENV_VARS = [
39
+ # Allow overriding the AWS authentication.
40
+ 'AWS_PROFILE',
41
+ 'AWS_ACCESS_KEY_ID',
42
+ 'AWS_SECRET_ACCESS_KEY',
43
+ # Allow overriding the GCP authentication.
44
+ 'GOOGLE_APPLICATION_CREDENTIALS',
45
+ ]
46
+
34
47
 
35
48
  @annotations.lru_cache(scope='global')
36
49
  def request_body_env_vars() -> dict:
@@ -38,6 +51,8 @@ def request_body_env_vars() -> dict:
38
51
  for env_var in os.environ:
39
52
  if env_var.startswith(constants.SKYPILOT_ENV_VAR_PREFIX):
40
53
  env_vars[env_var] = os.environ[env_var]
54
+ if common.is_api_server_local() and env_var in EXTERNAL_LOCAL_ENV_VARS:
55
+ env_vars[env_var] = os.environ[env_var]
41
56
  env_vars[constants.USER_ID_ENV_VAR] = common_utils.get_user_hash()
42
57
  env_vars[constants.USER_ENV_VAR] = os.getenv(constants.USER_ENV_VAR,
43
58
  getpass.getuser())
@@ -464,7 +464,7 @@ def override_skypilot_config(
464
464
  _config_overridden = False
465
465
 
466
466
 
467
- def _compose_cli_config(cli_config: Optional[str],) -> config_utils.Config:
467
+ def _compose_cli_config(cli_config: Optional[List[str]]) -> config_utils.Config:
468
468
  """Composes the skypilot CLI config.
469
469
  CLI config can either be:
470
470
  - A path to a config file
@@ -475,18 +475,19 @@ def _compose_cli_config(cli_config: Optional[str],) -> config_utils.Config:
475
475
  return config_utils.Config()
476
476
 
477
477
  config_source = 'CLI'
478
- maybe_config_path = os.path.expanduser(cli_config)
479
478
  try:
479
+ maybe_config_path = os.path.expanduser(cli_config[0])
480
480
  if os.path.isfile(maybe_config_path):
481
+ if len(cli_config) != 1:
482
+ raise ValueError(
483
+ 'Cannot use multiple --config flags with a config file.')
481
484
  config_source = maybe_config_path
482
485
  # cli_config is a path to a config file
483
486
  parsed_config = OmegaConf.to_object(
484
487
  OmegaConf.load(maybe_config_path))
485
488
  else: # cli_config is a comma-separated list of key-value pairs
486
- variables: List[str] = []
487
- variables = cli_config.split(',')
488
489
  parsed_config = OmegaConf.to_object(
489
- OmegaConf.from_dotlist(variables))
490
+ OmegaConf.from_dotlist(cli_config))
490
491
  _validate_config(parsed_config, config_source)
491
492
  except ValueError as e:
492
493
  raise ValueError(f'Invalid config override: {cli_config}. '
@@ -497,7 +498,7 @@ def _compose_cli_config(cli_config: Optional[str],) -> config_utils.Config:
497
498
  return parsed_config
498
499
 
499
500
 
500
- def apply_cli_config(cli_config: Optional[str]) -> Dict[str, Any]:
501
+ def apply_cli_config(cli_config: Optional[List[str]]) -> Dict[str, Any]:
501
502
  """Applies the CLI provided config.
502
503
  SAFETY:
503
504
  This function directly modifies the global _dict variable.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250421
3
+ Version: 1.0.0.dev20250422
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -111,6 +111,8 @@ sky/dashboard/out/favicon.ico
111
111
  sky/dashboard/out/index.html
112
112
  sky/dashboard/out/jobs.html
113
113
  sky/dashboard/out/skypilot.svg
114
+ sky/dashboard/out/_next/static/2GsKhI8XKYj9B2969iIDf/_buildManifest.js
115
+ sky/dashboard/out/_next/static/2GsKhI8XKYj9B2969iIDf/_ssgManifest.js
114
116
  sky/dashboard/out/_next/static/chunks/236-d437cf66e68a6f64.js
115
117
  sky/dashboard/out/_next/static/chunks/312-c3c8845990db8ffc.js
116
118
  sky/dashboard/out/_next/static/chunks/37-72fdc8f71d6e4784.js
@@ -132,8 +134,6 @@ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-b57ec043f09c5813.
132
134
  sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-b09f7fbf6d5d74f6.js
133
135
  sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-ef2e0e91a9222cac.js
134
136
  sky/dashboard/out/_next/static/css/f3538cd90cfca88c.css
135
- sky/dashboard/out/_next/static/mS9YfLA5hhsJMeBj9W8J7/_buildManifest.js
136
- sky/dashboard/out/_next/static/mS9YfLA5hhsJMeBj9W8J7/_ssgManifest.js
137
137
  sky/dashboard/out/clusters/[cluster].html
138
138
  sky/dashboard/out/clusters/[cluster]/[job].html
139
139
  sky/dashboard/out/jobs/[job].html