skypilot-nightly 1.0.0.dev20251018__tar.gz → 1.0.0.dev20251021__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.

Potentially problematic release.


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

Files changed (615) hide show
  1. {skypilot_nightly-1.0.0.dev20251018/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20251021}/PKG-INFO +38 -39
  2. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/README.md +1 -2
  3. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/__init__.py +2 -2
  4. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/kubernetes.py +61 -0
  5. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/backends/backend_utils.py +11 -11
  6. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/backends/cloud_vm_ray_backend.py +15 -4
  7. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/cli/command.py +39 -10
  8. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/cli/flags.py +4 -2
  9. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/sdk.py +26 -3
  10. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/404.html +1 -1
  11. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  12. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/clusters/[cluster].html +1 -1
  13. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/clusters.html +1 -1
  14. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/config.html +1 -1
  15. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/index.html +1 -1
  16. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/infra/[context].html +1 -1
  17. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/infra.html +1 -1
  18. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/jobs/[job].html +1 -1
  19. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
  20. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/jobs.html +1 -1
  21. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/users.html +1 -1
  22. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/volumes.html +1 -1
  23. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/workspace/new.html +1 -1
  24. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/workspaces/[name].html +1 -1
  25. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/workspaces.html +1 -1
  26. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/data/storage.py +2 -2
  27. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/global_user_state.py +20 -20
  28. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/server/server.py +10 -1
  29. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/network.py +9 -6
  30. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/provisioner.py +8 -0
  31. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/server/server.py +1 -0
  32. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/common.py +9 -2
  33. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/constants.py +1 -1
  34. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/daemons.py +4 -2
  35. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/executor.py +10 -8
  36. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/payloads.py +2 -1
  37. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/preconditions.py +9 -4
  38. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/requests.py +124 -36
  39. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/server.py +58 -24
  40. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/stream_utils.py +127 -38
  41. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/uvicorn.py +18 -17
  42. skypilot_nightly-1.0.0.dev20251021/sky/utils/asyncio_utils.py +78 -0
  43. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021/skypilot_nightly.egg-info}/PKG-INFO +38 -39
  44. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/skypilot_nightly.egg-info/SOURCES.txt +2 -2
  45. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_api.py +2 -2
  46. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_ssh_proxy_lag.py +1 -1
  47. skypilot_nightly-1.0.0.dev20251018/sky/utils/asyncio_utils.py +0 -18
  48. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/LICENSE +0 -0
  49. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/MANIFEST.in +0 -0
  50. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/pyproject.toml +0 -0
  51. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/setup.cfg +0 -0
  52. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/setup.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/__init__.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/aws.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/azure.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/cloudflare.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/common.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/cudo.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/do.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/docker.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/gcp.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/hyperbolic.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/ibm.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/nebius.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/oci.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/primeintellect.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/runpod.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/seeweb.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/shadeform.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/vast.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/adaptors/vsphere.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/admin_policy.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/authentication.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/backends/__init__.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/backends/backend.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/backends/docker_utils.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/backends/local_docker_backend.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/backends/wheel_utils.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/__init__.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/aws_catalog.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/azure_catalog.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/common.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/config.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/cudo_catalog.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/__init__.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/analyze.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_seeweb.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_shadeform.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/do_catalog.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/fluidstack_catalog.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/gcp_catalog.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/hyperbolic_catalog.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/ibm_catalog.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/kubernetes_catalog.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/lambda_catalog.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/nebius_catalog.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/oci_catalog.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/paperspace_catalog.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/primeintellect_catalog.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/runpod_catalog.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/scp_catalog.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/seeweb_catalog.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/shadeform_catalog.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/ssh_catalog.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/vast_catalog.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/catalog/vsphere_catalog.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/check.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/cli.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/__init__.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/cli/__init__.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/cli/deprecation_utils.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/cli/table_utils.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/common.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/oauth.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/sdk_async.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/client/service_account_auth.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/cloud_stores.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/__init__.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/aws.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/azure.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/cloud.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/cudo.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/do.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/fluidstack.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/gcp.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/hyperbolic.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/ibm.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/kubernetes.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/lambda_cloud.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/nebius.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/oci.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/paperspace.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/primeintellect.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/runpod.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/scp.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/seeweb.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/shadeform.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/ssh.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/utils/__init__.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/utils/aws_utils.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/utils/azure_utils.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/utils/gcp_utils.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/utils/oci_utils.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/utils/scp_utils.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/vast.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/clouds/vsphere.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/core.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dag.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js +0 -0
  162. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/1141-3b40c39626f99c89.js +0 -0
  163. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
  164. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/1871-49141c317f3a9020.js +0 -0
  165. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
  166. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js +0 -0
  167. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/2755.97300e1362fe7c98.js +0 -0
  168. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/3015-7e0e8f06bb2f881c.js +0 -0
  169. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/3294.1fafbf42b3bcebff.js +0 -0
  170. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/3785.a19328ba41517b8b.js +0 -0
  171. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
  172. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
  173. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js +0 -0
  174. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js +0 -0
  175. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
  176. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
  177. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -0
  178. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
  179. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js +0 -0
  180. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
  181. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/6856-5fdc9b851a18acdb.js +0 -0
  182. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
  183. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js +0 -0
  184. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/7359-c8d04e06886000b3.js +0 -0
  185. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
  186. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/8640.5b9475a2d18c5416.js +0 -0
  187. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/8969-66237729cdf9749e.js +0 -0
  188. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +0 -0
  189. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/9360.71e83b2ddc844ec2.js +0 -0
  190. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/9847.3aaca6bb33455140.js +0 -0
  191. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
  192. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
  193. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
  194. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
  195. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js +0 -0
  196. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
  197. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-8f058b0346db2aff.js +0 -0
  198. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-477555ab7c0b13d8.js +0 -0
  199. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js +0 -0
  200. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
  201. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
  202. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-553b8b5cb65e100b.js +0 -0
  203. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/infra-910a22500c50596f.js +0 -0
  204. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-e5c9ce6a24fc0de4.js +0 -0
  205. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-bc979970c247d8f3.js +0 -0
  206. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/jobs-a35a9dc3c5ccd657.js +0 -0
  207. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/users-98d2ed979084162a.js +0 -0
  208. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/volumes-835d14ba94808f79.js +0 -0
  209. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
  210. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-e8688c35c06f0ac5.js +0 -0
  211. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/pages/workspaces-69c80d677d3c2949.js +0 -0
  212. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  213. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/chunks/webpack-66f23594d38c7f16.js +0 -0
  214. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -0
  215. {skypilot_nightly-1.0.0.dev20251018/sky/dashboard/out/_next/static/Rn37hj-nuHOYT-HwxSDXC → skypilot_nightly-1.0.0.dev20251021/sky/dashboard/out/_next/static/jDc1PlRsl9Cc5FQUMLBu8}/_buildManifest.js +0 -0
  216. {skypilot_nightly-1.0.0.dev20251018/sky/dashboard/out/_next/static/Rn37hj-nuHOYT-HwxSDXC → skypilot_nightly-1.0.0.dev20251021/sky/dashboard/out/_next/static/jDc1PlRsl9Cc5FQUMLBu8}/_ssgManifest.js +0 -0
  217. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/favicon.ico +0 -0
  218. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/skypilot.svg +0 -0
  219. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  220. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/data/__init__.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/data/data_transfer.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/data/data_utils.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/data/mounting_utils.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/data/storage_utils.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/exceptions.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/execution.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/__init__.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/client/__init__.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/client/sdk.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/client/sdk_async.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/constants.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/controller.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/recovery_strategy.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/scheduler.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/server/__init__.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/server/core.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/server/utils.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/state.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/jobs/utils.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/logs/__init__.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/logs/agent.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/logs/aws.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/logs/gcp.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/metrics/__init__.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/metrics/utils.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/models.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/optimizer.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/__init__.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/aws/__init__.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/aws/config.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/aws/instance.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/aws/utils.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/azure/__init__.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/azure/azure-config-template.json +0 -0
  255. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/azure/config.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/azure/instance.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/common.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/constants.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/cudo/__init__.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/cudo/config.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/cudo/cudo_machine_type.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/cudo/cudo_utils.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/cudo/cudo_wrapper.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/cudo/instance.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/do/__init__.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/do/config.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/do/constants.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/do/instance.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/do/utils.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/docker_utils.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/fluidstack/__init__.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/fluidstack/config.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/fluidstack/instance.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/gcp/__init__.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/gcp/config.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/gcp/constants.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/gcp/instance.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/gcp/instance_utils.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/gcp/mig_utils.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/gcp/volume_utils.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/hyperbolic/__init__.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/hyperbolic/config.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/hyperbolic/instance.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/hyperbolic/utils.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/instance_setup.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/__init__.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/config.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/constants.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/instance.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  292. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/network_utils.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/utils.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/kubernetes/volume.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/lambda_cloud/__init__.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/lambda_cloud/config.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/lambda_cloud/instance.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/logging.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/metadata_utils.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/nebius/__init__.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/nebius/config.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/nebius/constants.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/nebius/instance.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/nebius/utils.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/oci/__init__.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/oci/config.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/oci/instance.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/oci/query_utils.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/paperspace/__init__.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/paperspace/config.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/paperspace/constants.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/paperspace/instance.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/paperspace/utils.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/primeintellect/__init__.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/primeintellect/config.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/primeintellect/instance.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/primeintellect/utils.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/runpod/__init__.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/runpod/api/__init__.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/runpod/api/commands.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/runpod/api/pods.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/runpod/config.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/runpod/instance.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/runpod/utils.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/runpod/volume.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/scp/__init__.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/scp/config.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/scp/instance.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/seeweb/__init__.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/seeweb/config.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/seeweb/instance.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/shadeform/__init__.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/shadeform/config.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/shadeform/instance.py +0 -0
  336. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/shadeform/shadeform_utils.py +0 -0
  337. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/ssh/__init__.py +0 -0
  338. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vast/__init__.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vast/config.py +0 -0
  340. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vast/instance.py +0 -0
  341. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vast/utils.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/__init__.py +0 -0
  343. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/__init__.py +0 -0
  344. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  346. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/custom_script.py +0 -0
  347. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/id_generator.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/service_manager.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/common/vim_utils.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/config.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/instance.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/provision/vsphere/vsphere_utils.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/py.typed +0 -0
  358. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/resources.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/__init__.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/api/__init__.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/api/responses.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/README +0 -0
  363. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/env.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/007_cluster_event_request_id.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/008_skylet_ssh_tunnel_metadata.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/009_last_activity_and_launched_at.py +0 -0
  373. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/global_user_state/010_save_ssh_key.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/script.py.mako +0 -0
  375. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
  379. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/__init__.py +0 -0
  380. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/autostopv1_pb2.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
  382. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/jobsv1_pb2.py +0 -0
  384. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/jobsv1_pb2.pyi +0 -0
  385. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/jobsv1_pb2_grpc.py +0 -0
  386. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/managed_jobsv1_pb2.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/managed_jobsv1_pb2.pyi +0 -0
  388. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/managed_jobsv1_pb2_grpc.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/servev1_pb2.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/servev1_pb2.pyi +0 -0
  391. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/schemas/generated/servev1_pb2_grpc.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/__init__.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/autoscalers.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/client/__init__.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/client/impl.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/client/sdk.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/client/sdk_async.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/constants.py +0 -0
  399. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/controller.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/load_balancer.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/load_balancing_policies.py +0 -0
  402. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/replica_managers.py +0 -0
  403. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/serve_rpc_utils.py +0 -0
  404. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/serve_state.py +0 -0
  405. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/serve_utils.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/server/__init__.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/server/core.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/server/impl.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/service.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/service_spec.py +0 -0
  411. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/serve/spot_placer.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/__init__.py +0 -0
  413. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/auth/__init__.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/auth/authn.py +0 -0
  415. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/auth/loopback.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/auth/oauth2_proxy.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/config.py +0 -0
  418. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/html/log.html +0 -0
  419. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/html/token_page.html +0 -0
  420. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/metrics.py +0 -0
  421. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/__init__.py +0 -0
  422. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/event_loop.py +0 -0
  423. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/process.py +0 -0
  424. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/queues/__init__.py +0 -0
  425. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/queues/local_queue.py +0 -0
  426. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/queues/mp_queue.py +0 -0
  427. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/serializers/__init__.py +0 -0
  428. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/serializers/decoders.py +0 -0
  429. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/serializers/encoders.py +0 -0
  430. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/requests/threads.py +0 -0
  431. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/rest.py +0 -0
  432. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/state.py +0 -0
  433. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/server/versions.py +0 -0
  434. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/setup_files/MANIFEST.in +0 -0
  435. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/setup_files/alembic.ini +0 -0
  436. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/setup_files/dependencies.py +0 -0
  437. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/setup_files/setup.py +0 -0
  438. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/sky_logging.py +0 -0
  439. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/LICENSE +0 -0
  440. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/__init__.py +0 -0
  441. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/attempt_skylet.py +0 -0
  442. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/autostop_lib.py +0 -0
  443. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/configs.py +0 -0
  444. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/constants.py +0 -0
  445. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/events.py +0 -0
  446. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/job_lib.py +0 -0
  447. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/log_lib.py +0 -0
  448. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/log_lib.pyi +0 -0
  449. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/providers/__init__.py +0 -0
  450. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/providers/command_runner.py +0 -0
  451. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/providers/ibm/__init__.py +0 -0
  452. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/providers/ibm/node_provider.py +0 -0
  453. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/providers/ibm/utils.py +0 -0
  454. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  455. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/__init__.py +0 -0
  456. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
  457. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  458. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/cli.py.diff +0 -0
  459. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/cli.py.patch +0 -0
  460. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
  461. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  462. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
  463. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  464. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
  465. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  466. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/updater.py.diff +0 -0
  467. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/updater.py.patch +0 -0
  468. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/worker.py.diff +0 -0
  469. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/ray_patches/worker.py.patch +0 -0
  470. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/services.py +0 -0
  471. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/skylet.py +0 -0
  472. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skylet/subprocess_daemon.py +0 -0
  473. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/skypilot_config.py +0 -0
  474. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/ssh_node_pools/__init__.py +0 -0
  475. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/ssh_node_pools/core.py +0 -0
  476. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/ssh_node_pools/server.py +0 -0
  477. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/task.py +0 -0
  478. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/aws-ray.yml.j2 +0 -0
  479. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/azure-ray.yml.j2 +0 -0
  480. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/cudo-ray.yml.j2 +0 -0
  481. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/do-ray.yml.j2 +0 -0
  482. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  483. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/gcp-ray.yml.j2 +0 -0
  484. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
  485. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/ibm-ray.yml.j2 +0 -0
  486. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/jobs-controller.yaml.j2 +0 -0
  487. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  488. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  489. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  490. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  491. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/lambda-ray.yml.j2 +0 -0
  492. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/local-ray.yml.j2 +0 -0
  493. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/nebius-ray.yml.j2 +0 -0
  494. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/oci-ray.yml.j2 +0 -0
  495. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/paperspace-ray.yml.j2 +0 -0
  496. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/primeintellect-ray.yml.j2 +0 -0
  497. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/runpod-ray.yml.j2 +0 -0
  498. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/scp-ray.yml.j2 +0 -0
  499. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/seeweb-ray.yml.j2 +0 -0
  500. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/shadeform-ray.yml.j2 +0 -0
  501. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  502. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  503. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/vast-ray.yml.j2 +0 -0
  504. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/vsphere-ray.yml.j2 +0 -0
  505. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/templates/websocket_proxy.py +0 -0
  506. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/usage/__init__.py +0 -0
  507. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/usage/constants.py +0 -0
  508. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/usage/usage_lib.py +0 -0
  509. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/users/__init__.py +0 -0
  510. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/users/model.conf +0 -0
  511. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/users/permission.py +0 -0
  512. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/users/rbac.py +0 -0
  513. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/users/server.py +0 -0
  514. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/users/token_service.py +0 -0
  515. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/__init__.py +0 -0
  516. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/accelerator_registry.py +0 -0
  517. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/admin_policy_utils.py +0 -0
  518. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/annotations.py +0 -0
  519. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/atomic.py +0 -0
  520. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/auth_utils.py +0 -0
  521. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/aws/__init__.py +0 -0
  522. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/aws/get_default_security_group.py +0 -0
  523. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/benchmark_utils.py +0 -0
  524. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/cli_utils/__init__.py +0 -0
  525. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/cli_utils/status_utils.py +0 -0
  526. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/cluster_utils.py +0 -0
  527. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/command_runner.py +0 -0
  528. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/command_runner.pyi +0 -0
  529. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/common.py +0 -0
  530. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/common_utils.py +0 -0
  531. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/config_utils.py +0 -0
  532. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/context.py +0 -0
  533. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/context_utils.py +0 -0
  534. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/control_master_utils.py +0 -0
  535. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/controller_utils.py +0 -0
  536. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/dag_utils.py +0 -0
  537. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/db/__init__.py +0 -0
  538. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/db/db_utils.py +0 -0
  539. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/db/migration_utils.py +0 -0
  540. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/directory_utils.py +0 -0
  541. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/env_options.py +0 -0
  542. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/git.py +0 -0
  543. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/git_clone.sh +0 -0
  544. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/infra_utils.py +0 -0
  545. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/__init__.py +0 -0
  546. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
  547. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/config_map_utils.py +0 -0
  548. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/create_cluster.sh +0 -0
  549. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  550. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
  551. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  552. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  553. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  554. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  555. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  556. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  557. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  558. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  559. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
  560. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes/ssh_utils.py +0 -0
  561. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/kubernetes_enums.py +0 -0
  562. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/lock_events.py +0 -0
  563. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/locks.py +0 -0
  564. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/log_utils.py +0 -0
  565. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/message_utils.py +0 -0
  566. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/perf_utils.py +0 -0
  567. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/registry.py +0 -0
  568. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/resource_checker.py +0 -0
  569. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/resources_utils.py +0 -0
  570. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/rich_console_utils.py +0 -0
  571. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/rich_utils.py +0 -0
  572. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/schemas.py +0 -0
  573. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/serialize_utils.py +0 -0
  574. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/status_lib.py +0 -0
  575. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/subprocess_utils.py +0 -0
  576. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/tempstore.py +0 -0
  577. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/timeline.py +0 -0
  578. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/ux_utils.py +0 -0
  579. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/validator.py +0 -0
  580. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/volume.py +0 -0
  581. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/utils/yaml_utils.py +0 -0
  582. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/volumes/__init__.py +0 -0
  583. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/volumes/client/__init__.py +0 -0
  584. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/volumes/client/sdk.py +0 -0
  585. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/volumes/server/__init__.py +0 -0
  586. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/volumes/server/core.py +0 -0
  587. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/volumes/server/server.py +0 -0
  588. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/volumes/volume.py +0 -0
  589. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/workspaces/__init__.py +0 -0
  590. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/workspaces/core.py +0 -0
  591. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/workspaces/server.py +0 -0
  592. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/sky/workspaces/utils.py +0 -0
  593. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  594. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  595. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/skypilot_nightly.egg-info/requires.txt +35 -35
  596. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/skypilot_nightly.egg-info/top_level.txt +0 -0
  597. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_api_compatibility.py +0 -0
  598. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_cli.py +0 -0
  599. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_config.py +0 -0
  600. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_db_utils.py +0 -0
  601. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_failover.py +0 -0
  602. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_global_user_state.py +0 -0
  603. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_infra_k8s_alias.py +0 -0
  604. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_jobs.py +0 -0
  605. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_jobs_and_serve.py +0 -0
  606. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_jobs_state_async_vs_sync.py +0 -0
  607. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_list_accelerators.py +0 -0
  608. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_no_parellel.py +0 -0
  609. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_optimizer_dryruns.py +0 -0
  610. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_optimizer_random_dag.py +0 -0
  611. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_serve_autoscaler.py +0 -0
  612. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_smoke.py +0 -0
  613. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_storage.py +0 -0
  614. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/tests/test_wheels.py +0 -0
  615. {skypilot_nightly-1.0.0.dev20251018 → skypilot_nightly-1.0.0.dev20251021}/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.dev20251018
3
+ Version: 1.0.0.dev20251021
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -371,51 +371,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "shadeform"
371
371
  Requires-Dist: aiosqlite; extra == "shadeform"
372
372
  Requires-Dist: greenlet; extra == "shadeform"
373
373
  Provides-Extra: all
374
- Requires-Dist: sqlalchemy_adapter; extra == "all"
374
+ Requires-Dist: tomli; python_version < "3.11" and extra == "all"
375
+ Requires-Dist: greenlet; extra == "all"
376
+ Requires-Dist: anyio; extra == "all"
377
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
378
+ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
379
+ Requires-Dist: websockets; extra == "all"
380
+ Requires-Dist: boto3>=1.26.1; extra == "all"
381
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
382
+ Requires-Dist: pydo>=0.3.0; extra == "all"
383
+ Requires-Dist: ibm-cos-sdk; extra == "all"
384
+ Requires-Dist: runpod>=1.6.1; extra == "all"
375
385
  Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
386
+ Requires-Dist: azure-common; extra == "all"
387
+ Requires-Dist: botocore>=1.29.10; extra == "all"
376
388
  Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
377
- Requires-Dist: runpod>=1.6.1; extra == "all"
378
- Requires-Dist: colorama<0.4.5; extra == "all"
379
- Requires-Dist: websockets; extra == "all"
380
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
381
- Requires-Dist: msgraph-sdk; extra == "all"
389
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
390
+ Requires-Dist: awscli>=1.27.10; extra == "all"
391
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
392
+ Requires-Dist: casbin; extra == "all"
382
393
  Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
383
- Requires-Dist: nebius>=0.2.47; extra == "all"
384
- Requires-Dist: pyjwt; extra == "all"
385
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
386
- Requires-Dist: msrestazure; extra == "all"
387
- Requires-Dist: pydo>=0.3.0; extra == "all"
388
- Requires-Dist: aiosqlite; extra == "all"
389
- Requires-Dist: ibm-vpc; extra == "all"
390
- Requires-Dist: ray[default]>=2.6.1; extra == "all"
394
+ Requires-Dist: python-dateutil; extra == "all"
395
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
396
+ Requires-Dist: aiohttp; extra == "all"
391
397
  Requires-Dist: azure-core>=1.31.0; extra == "all"
392
- Requires-Dist: boto3>=1.26.1; extra == "all"
393
- Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
398
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
399
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
400
+ Requires-Dist: oci; extra == "all"
394
401
  Requires-Dist: ibm-cloud-sdk-core; extra == "all"
395
- Requires-Dist: python-dateutil; extra == "all"
396
- Requires-Dist: anyio; extra == "all"
397
402
  Requires-Dist: docker; extra == "all"
403
+ Requires-Dist: nebius>=0.2.47; extra == "all"
404
+ Requires-Dist: pyjwt; extra == "all"
405
+ Requires-Dist: ibm-vpc; extra == "all"
406
+ Requires-Dist: msgraph-sdk; extra == "all"
407
+ Requires-Dist: aiosqlite; extra == "all"
408
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
398
409
  Requires-Dist: grpcio>=1.63.0; extra == "all"
399
- Requires-Dist: botocore>=1.29.10; extra == "all"
400
- Requires-Dist: passlib; extra == "all"
401
- Requires-Dist: awscli>=1.27.10; extra == "all"
402
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
403
- Requires-Dist: greenlet; extra == "all"
404
- Requires-Dist: azure-core>=1.24.0; extra == "all"
405
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
406
- Requires-Dist: ecsapi>=0.2.0; extra == "all"
407
- Requires-Dist: azure-common; extra == "all"
408
- Requires-Dist: oci; extra == "all"
409
- Requires-Dist: casbin; extra == "all"
410
- Requires-Dist: tomli; python_version < "3.11" and extra == "all"
411
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
412
- Requires-Dist: ibm-cos-sdk; extra == "all"
413
410
  Requires-Dist: google-cloud-storage; extra == "all"
414
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
415
- Requires-Dist: aiohttp; extra == "all"
416
411
  Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
417
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
418
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
412
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
413
+ Requires-Dist: ecsapi>=0.2.0; extra == "all"
414
+ Requires-Dist: msrestazure; extra == "all"
415
+ Requires-Dist: colorama<0.4.5; extra == "all"
416
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
417
+ Requires-Dist: passlib; extra == "all"
418
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
419
419
  Provides-Extra: remote
420
420
  Requires-Dist: grpcio>=1.63.0; extra == "remote"
421
421
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "remote"
@@ -543,8 +543,7 @@ pip install "skypilot-nightly[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,
543
543
  </p>
544
544
 
545
545
  Current supported infra: Kubernetes, AWS, GCP, Azure, OCI, Nebius, Lambda Cloud, RunPod, Fluidstack,
546
- Cudo, Digital Ocean, Paperspace, Cloudflare, Samsung, IBM, Vast.ai,
547
- VMware vSphere, Seeweb.
546
+ Cudo, Digital Ocean, Paperspace, Cloudflare, Samsung, IBM, Vast.ai, VMware vSphere, Seeweb, Prime Intellect.
548
547
  <p align="center">
549
548
  <img alt="SkyPilot" src="https://raw.githubusercontent.com/skypilot-org/skypilot/master/docs/source/images/cloud-logos-light.png" width=85%>
550
549
  </p>
@@ -106,8 +106,7 @@ pip install "skypilot-nightly[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,
106
106
  </p>
107
107
 
108
108
  Current supported infra: Kubernetes, AWS, GCP, Azure, OCI, Nebius, Lambda Cloud, RunPod, Fluidstack,
109
- Cudo, Digital Ocean, Paperspace, Cloudflare, Samsung, IBM, Vast.ai,
110
- VMware vSphere, Seeweb.
109
+ Cudo, Digital Ocean, Paperspace, Cloudflare, Samsung, IBM, Vast.ai, VMware vSphere, Seeweb, Prime Intellect.
111
110
  <p align="center">
112
111
  <picture>
113
112
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/skypilot-org/skypilot/master/docs/source/images/cloud-logos-dark.png">
@@ -7,7 +7,7 @@ import urllib.request
7
7
  from sky.utils import directory_utils
8
8
 
9
9
  # Replaced with the current commit when building the wheels.
10
- _SKYPILOT_COMMIT_SHA = 'a3c831bb8c8cbaaf95aa51a57f3ca27130f0c857'
10
+ _SKYPILOT_COMMIT_SHA = 'a39d748f667e752cd30584e4523d5e2b6dd836a0'
11
11
 
12
12
 
13
13
  def _get_git_commit():
@@ -37,7 +37,7 @@ def _get_git_commit():
37
37
 
38
38
 
39
39
  __commit__ = _get_git_commit()
40
- __version__ = '1.0.0.dev20251018'
40
+ __version__ = '1.0.0.dev20251021'
41
41
  __root_dir__ = directory_utils.get_sky_dir()
42
42
 
43
43
 
@@ -1,4 +1,5 @@
1
1
  """Kubernetes adaptors"""
2
+ import functools
2
3
  import logging
3
4
  import os
4
5
  import platform
@@ -162,8 +163,58 @@ def list_kube_config_contexts():
162
163
  return kubernetes.config.list_kube_config_contexts(_get_config_file())
163
164
 
164
165
 
166
+ class ClientWrapper:
167
+ """Wrapper around the kubernetes API clients.
168
+
169
+ This is needed because we cache kubernetes.client.ApiClient and other typed
170
+ clients (e.g. kubernetes.client.CoreV1Api) and lru_cache.cache_clear() does
171
+ not call close() on the client to cleanup external resources like
172
+ semaphores. This decorator wraps the client with __del__ to ensure the
173
+ external state of kubernetes clients are properly cleaned up on GC.
174
+ """
175
+
176
+ def __init__(self, client):
177
+ self._client = client
178
+
179
+ def __getattr__(self, name):
180
+ """Delegate to the underlying client"""
181
+ return getattr(self._client, name)
182
+
183
+ def __del__(self):
184
+ """Clean up the underlying client"""
185
+ try:
186
+ real_client = None
187
+ if isinstance(self._client, kubernetes.client.ApiClient):
188
+ real_client = self._client
189
+ elif isinstance(self._client, kubernetes.watch.Watch):
190
+ real_client = getattr(self._client, '_api_client', None)
191
+ else:
192
+ # Otherwise, the client is a typed client, the typed client
193
+ # is generated by codegen and all of them should have an
194
+ # 'api_client' attribute referring to the real client.
195
+ real_client = getattr(self._client, 'api_client', None)
196
+ if real_client is not None:
197
+ real_client.close()
198
+ else:
199
+ logger.debug(f'No client found for {self._client}')
200
+ except Exception as e: # pylint: disable=broad-except
201
+ logger.debug(f'Error closing Kubernetes client: {e}')
202
+
203
+
204
+ def wrap_kubernetes_client(func):
205
+ """Wraps kubernetes API clients for proper cleanup."""
206
+
207
+ @functools.wraps(func)
208
+ def wrapper(*args, **kwargs):
209
+ obj = func(*args, **kwargs)
210
+ return ClientWrapper(obj)
211
+
212
+ return wrapper
213
+
214
+
165
215
  @_api_logging_decorator('urllib3', logging.ERROR)
166
216
  @annotations.lru_cache(scope='request')
217
+ @wrap_kubernetes_client
167
218
  def core_api(context: Optional[str] = None):
168
219
  _load_config(context)
169
220
  return kubernetes.client.CoreV1Api()
@@ -171,6 +222,7 @@ def core_api(context: Optional[str] = None):
171
222
 
172
223
  @_api_logging_decorator('urllib3', logging.ERROR)
173
224
  @annotations.lru_cache(scope='request')
225
+ @wrap_kubernetes_client
174
226
  def storage_api(context: Optional[str] = None):
175
227
  _load_config(context)
176
228
  return kubernetes.client.StorageV1Api()
@@ -178,6 +230,7 @@ def storage_api(context: Optional[str] = None):
178
230
 
179
231
  @_api_logging_decorator('urllib3', logging.ERROR)
180
232
  @annotations.lru_cache(scope='request')
233
+ @wrap_kubernetes_client
181
234
  def auth_api(context: Optional[str] = None):
182
235
  _load_config(context)
183
236
  return kubernetes.client.RbacAuthorizationV1Api()
@@ -185,6 +238,7 @@ def auth_api(context: Optional[str] = None):
185
238
 
186
239
  @_api_logging_decorator('urllib3', logging.ERROR)
187
240
  @annotations.lru_cache(scope='request')
241
+ @wrap_kubernetes_client
188
242
  def networking_api(context: Optional[str] = None):
189
243
  _load_config(context)
190
244
  return kubernetes.client.NetworkingV1Api()
@@ -192,6 +246,7 @@ def networking_api(context: Optional[str] = None):
192
246
 
193
247
  @_api_logging_decorator('urllib3', logging.ERROR)
194
248
  @annotations.lru_cache(scope='request')
249
+ @wrap_kubernetes_client
195
250
  def custom_objects_api(context: Optional[str] = None):
196
251
  _load_config(context)
197
252
  return kubernetes.client.CustomObjectsApi()
@@ -199,6 +254,7 @@ def custom_objects_api(context: Optional[str] = None):
199
254
 
200
255
  @_api_logging_decorator('urllib3', logging.ERROR)
201
256
  @annotations.lru_cache(scope='global')
257
+ @wrap_kubernetes_client
202
258
  def node_api(context: Optional[str] = None):
203
259
  _load_config(context)
204
260
  return kubernetes.client.NodeV1Api()
@@ -206,6 +262,7 @@ def node_api(context: Optional[str] = None):
206
262
 
207
263
  @_api_logging_decorator('urllib3', logging.ERROR)
208
264
  @annotations.lru_cache(scope='request')
265
+ @wrap_kubernetes_client
209
266
  def apps_api(context: Optional[str] = None):
210
267
  _load_config(context)
211
268
  return kubernetes.client.AppsV1Api()
@@ -213,6 +270,7 @@ def apps_api(context: Optional[str] = None):
213
270
 
214
271
  @_api_logging_decorator('urllib3', logging.ERROR)
215
272
  @annotations.lru_cache(scope='request')
273
+ @wrap_kubernetes_client
216
274
  def batch_api(context: Optional[str] = None):
217
275
  _load_config(context)
218
276
  return kubernetes.client.BatchV1Api()
@@ -220,6 +278,7 @@ def batch_api(context: Optional[str] = None):
220
278
 
221
279
  @_api_logging_decorator('urllib3', logging.ERROR)
222
280
  @annotations.lru_cache(scope='request')
281
+ @wrap_kubernetes_client
223
282
  def api_client(context: Optional[str] = None):
224
283
  _load_config(context)
225
284
  return kubernetes.client.ApiClient()
@@ -227,6 +286,7 @@ def api_client(context: Optional[str] = None):
227
286
 
228
287
  @_api_logging_decorator('urllib3', logging.ERROR)
229
288
  @annotations.lru_cache(scope='request')
289
+ @wrap_kubernetes_client
230
290
  def custom_resources_api(context: Optional[str] = None):
231
291
  _load_config(context)
232
292
  return kubernetes.client.CustomObjectsApi()
@@ -234,6 +294,7 @@ def custom_resources_api(context: Optional[str] = None):
234
294
 
235
295
  @_api_logging_decorator('urllib3', logging.ERROR)
236
296
  @annotations.lru_cache(scope='request')
297
+ @wrap_kubernetes_client
237
298
  def watch(context: Optional[str] = None):
238
299
  _load_config(context)
239
300
  return kubernetes.watch.Watch()
@@ -3128,12 +3128,12 @@ def refresh_cluster_records() -> None:
3128
3128
  # request info in backend_utils.py.
3129
3129
  # Refactor this to use some other info to
3130
3130
  # determine if a launch is in progress.
3131
- requests = requests_lib.get_request_tasks(
3132
- req_filter=requests_lib.RequestTaskFilter(
3133
- status=[requests_lib.RequestStatus.RUNNING],
3134
- include_request_names=['sky.launch']))
3135
3131
  cluster_names_with_launch_request = {
3136
- request.cluster_name for request in requests
3132
+ request.cluster_name for request in requests_lib.get_request_tasks(
3133
+ req_filter=requests_lib.RequestTaskFilter(
3134
+ status=[requests_lib.RequestStatus.RUNNING],
3135
+ include_request_names=['sky.launch'],
3136
+ fields=['cluster_name']))
3137
3137
  }
3138
3138
  cluster_names_without_launch_request = (cluster_names -
3139
3139
  cluster_names_with_launch_request)
@@ -3356,13 +3356,13 @@ def get_clusters(
3356
3356
  # request info in backend_utils.py.
3357
3357
  # Refactor this to use some other info to
3358
3358
  # determine if a launch is in progress.
3359
- requests = requests_lib.get_request_tasks(
3360
- req_filter=requests_lib.RequestTaskFilter(
3361
- status=[requests_lib.RequestStatus.RUNNING],
3362
- include_request_names=['sky.launch'],
3363
- cluster_names=cluster_names))
3364
3359
  cluster_names_with_launch_request = {
3365
- request.cluster_name for request in requests
3360
+ request.cluster_name for request in requests_lib.get_request_tasks(
3361
+ req_filter=requests_lib.RequestTaskFilter(
3362
+ status=[requests_lib.RequestStatus.RUNNING],
3363
+ include_request_names=['sky.launch'],
3364
+ cluster_names=cluster_names,
3365
+ fields=['cluster_name']))
3366
3366
  }
3367
3367
  # Preserve the index of the cluster name as it appears on "records"
3368
3368
  cluster_names_without_launch_request = [
@@ -2471,6 +2471,9 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2471
2471
  def get_cluster_name(self):
2472
2472
  return self.cluster_name
2473
2473
 
2474
+ def get_cluster_name_on_cloud(self):
2475
+ return self.cluster_name_on_cloud
2476
+
2474
2477
  def _use_internal_ips(self):
2475
2478
  """Returns whether to use internal IPs for SSH connections."""
2476
2479
  # Directly load the `use_internal_ips` flag from the cluster yaml
@@ -2954,6 +2957,12 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2954
2957
  def cluster_yaml(self, value: Optional[str]):
2955
2958
  self._cluster_yaml = value
2956
2959
 
2960
+ @property
2961
+ def instance_ids(self):
2962
+ if self.cached_cluster_info is not None:
2963
+ return self.cached_cluster_info.instance_ids()
2964
+ return None
2965
+
2957
2966
  @property
2958
2967
  def ssh_user(self):
2959
2968
  if self.cached_cluster_info is not None:
@@ -3623,9 +3632,10 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3623
3632
  gap_seconds = _RETRY_UNTIL_UP_INIT_GAP_SECONDS
3624
3633
  retry_message = ux_utils.retry_message(
3625
3634
  f'Retry after {gap_seconds:.0f}s ')
3626
- hint_message = (f'\n{retry_message} '
3627
- f'{ux_utils.log_path_hint(log_path)}'
3628
- f'{colorama.Style.RESET_ALL}')
3635
+ hint_message = (
3636
+ f'\n{retry_message} '
3637
+ f'{ux_utils.provision_hint(cluster_name)}'
3638
+ f'{colorama.Style.RESET_ALL}')
3629
3639
 
3630
3640
  # Add cluster event for retry.
3631
3641
  global_user_state.add_cluster_event(
@@ -3654,7 +3664,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3654
3664
  logger.error(
3655
3665
  ux_utils.error_message(
3656
3666
  'Failed to provision resources. '
3657
- f'{ux_utils.log_path_hint(log_path)}'))
3667
+ f'{ux_utils.provision_hint(cluster_name)}'))
3658
3668
  error_message += (
3659
3669
  '\nTo keep retrying until the cluster is up, use '
3660
3670
  'the `--retry-until-up` flag.')
@@ -3713,6 +3723,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3713
3723
  # manually or by the cloud provider.
3714
3724
  # Optimize the case where the cluster's IPs can be retrieved
3715
3725
  # from cluster_info.
3726
+ handle.cached_cluster_info = cluster_info
3716
3727
  handle.docker_user = cluster_info.docker_user
3717
3728
  handle.update_cluster_ips(max_attempts=_FETCH_IP_MAX_ATTEMPTS,
3718
3729
  cluster_info=cluster_info)
@@ -2150,6 +2150,12 @@ def queue(clusters: List[str], skip_finished: bool, all_users: bool):
2150
2150
  is_flag=True,
2151
2151
  default=False,
2152
2152
  help='Stream the cluster provisioning logs (provision.log).')
2153
+ @click.option('--worker',
2154
+ '-w',
2155
+ default=None,
2156
+ type=int,
2157
+ help='The worker ID to stream the logs from. '
2158
+ 'If not set, stream the logs of the head node.')
2153
2159
  @click.option(
2154
2160
  '--sync-down',
2155
2161
  '-s',
@@ -2187,6 +2193,7 @@ def logs(
2187
2193
  cluster: str,
2188
2194
  job_ids: Tuple[str, ...],
2189
2195
  provision: bool,
2196
+ worker: Optional[int],
2190
2197
  sync_down: bool,
2191
2198
  status: bool, # pylint: disable=redefined-outer-name
2192
2199
  follow: bool,
@@ -2216,6 +2223,13 @@ def logs(
2216
2223
  4. If the job fails or fetching the logs fails, the command will exit with
2217
2224
  a non-zero return code.
2218
2225
  """
2226
+ if worker is not None:
2227
+ if not provision:
2228
+ raise click.UsageError(
2229
+ '--worker can only be used with --provision.')
2230
+ if worker < 1:
2231
+ raise click.UsageError('--worker must be a positive integer.')
2232
+
2219
2233
  if provision and (sync_down or status or job_ids):
2220
2234
  raise click.UsageError(
2221
2235
  '--provision cannot be combined with job log options '
@@ -2235,7 +2249,11 @@ def logs(
2235
2249
 
2236
2250
  if provision:
2237
2251
  # Stream provision logs
2238
- sys.exit(sdk.tail_provision_logs(cluster, follow=follow, tail=tail))
2252
+ sys.exit(
2253
+ sdk.tail_provision_logs(cluster_name=cluster,
2254
+ worker=worker,
2255
+ follow=follow,
2256
+ tail=tail))
2239
2257
 
2240
2258
  if sync_down:
2241
2259
  with rich_utils.client_status(
@@ -3251,9 +3269,11 @@ def _down_or_stop_clusters(
3251
3269
  request_id = sdk.autostop(name, idle_minutes_to_autostop,
3252
3270
  wait_for, down)
3253
3271
  request_ids.append(request_id)
3272
+ progress.stop()
3254
3273
  _async_call_or_wait(
3255
3274
  request_id, async_call,
3256
3275
  server_constants.REQUEST_NAME_PREFIX + operation)
3276
+ progress.start()
3257
3277
  except (exceptions.NotSupportedError, exceptions.ClusterNotUpError,
3258
3278
  exceptions.CloudError) as e:
3259
3279
  message = str(e)
@@ -3281,9 +3301,11 @@ def _down_or_stop_clusters(
3281
3301
  else:
3282
3302
  request_id = sdk.stop(name, purge=purge)
3283
3303
  request_ids.append(request_id)
3304
+ progress.stop()
3284
3305
  _async_call_or_wait(
3285
3306
  request_id, async_call,
3286
3307
  server_constants.REQUEST_NAME_PREFIX + operation)
3308
+ progress.start()
3287
3309
  if not async_call:
3288
3310
  # Remove the cluster from the SSH config file as soon as it
3289
3311
  # is stopped or downed.
@@ -3317,6 +3339,10 @@ def _down_or_stop_clusters(
3317
3339
  progress.start()
3318
3340
 
3319
3341
  with progress:
3342
+ # we write a new line here to avoid the "Waiting for 'sky.down'
3343
+ # request to be scheduled" message from being printed on the same line
3344
+ # as the "Terminating <num> clusters..." message
3345
+ click.echo('')
3320
3346
  subprocess_utils.run_in_parallel(_down_or_stop, clusters)
3321
3347
  progress.live.transient = False
3322
3348
  # Make sure the progress bar not mess up the terminal.
@@ -6169,19 +6195,22 @@ def api_logs(request_id: Optional[str], server_logs: bool,
6169
6195
  **_get_shell_complete_args(_complete_api_request))
6170
6196
  @flags.all_option('Cancel all your requests.')
6171
6197
  @flags.all_users_option('Cancel all requests from all users.')
6198
+ @flags.yes_option()
6172
6199
  @usage_lib.entrypoint
6173
6200
  # pylint: disable=redefined-builtin
6174
- def api_cancel(request_ids: Optional[List[str]], all: bool, all_users: bool):
6201
+ def api_cancel(request_ids: Optional[List[str]], all: bool, all_users: bool,
6202
+ yes: bool):
6175
6203
  """Cancel a request running on SkyPilot API server."""
6176
6204
  if all or all_users:
6177
- keyword = 'ALL USERS\'' if all_users else 'YOUR'
6178
- user_input = click.prompt(
6179
- f'This will cancel all {keyword} requests.\n'
6180
- f'To proceed, please type {colorama.Style.BRIGHT}'
6181
- f'\'cancel all requests\'{colorama.Style.RESET_ALL}',
6182
- type=str)
6183
- if user_input != 'cancel all requests':
6184
- raise click.Abort()
6205
+ if not yes:
6206
+ keyword = 'ALL USERS\'' if all_users else 'YOUR'
6207
+ user_input = click.prompt(
6208
+ f'This will cancel all {keyword} requests.\n'
6209
+ f'To proceed, please type {colorama.Style.BRIGHT}'
6210
+ f'\'cancel all requests\'{colorama.Style.RESET_ALL}',
6211
+ type=str)
6212
+ if user_input != 'cancel all requests':
6213
+ raise click.Abort()
6185
6214
  request_ids = None
6186
6215
  cancelled_request_ids = sdk.get(
6187
6216
  sdk.api_cancel(request_ids=request_ids, all_users=all_users))
@@ -284,8 +284,10 @@ def config_option(expose_value: bool):
284
284
  return return_option_decorator
285
285
 
286
286
 
287
- def yes_option():
287
+ def yes_option(helptext: Optional[str] = None):
288
288
  """A decorator for the --yes/-y option."""
289
+ if helptext is None:
290
+ helptext = 'Skip confirmation prompt.'
289
291
 
290
292
  def return_option_decorator(func):
291
293
  return click.option('--yes',
@@ -293,7 +295,7 @@ def yes_option():
293
295
  is_flag=True,
294
296
  default=False,
295
297
  required=False,
296
- help='Skip confirmation prompt.')(func)
298
+ help=helptext)(func)
297
299
 
298
300
  return return_option_decorator
299
301
 
@@ -925,6 +925,7 @@ def tail_logs(
925
925
  @annotations.client_api
926
926
  @rest.retry_transient_errors()
927
927
  def tail_provision_logs(cluster_name: str,
928
+ worker: Optional[int] = None,
928
929
  follow: bool = True,
929
930
  tail: int = 0,
930
931
  output_stream: Optional['io.TextIOBase'] = None) -> int:
@@ -932,17 +933,31 @@ def tail_provision_logs(cluster_name: str,
932
933
 
933
934
  Args:
934
935
  cluster_name: name of the cluster.
936
+ worker: worker id in multi-node cluster.
937
+ If None, stream the logs of the head node.
935
938
  follow: follow the logs.
936
939
  tail: lines from end to tail.
937
940
  output_stream: optional stream to write logs.
938
941
  Returns:
939
942
  Exit code 0 on streaming success; raises on HTTP error.
940
943
  """
941
- body = payloads.ClusterNameBody(cluster_name=cluster_name)
944
+ body = payloads.ProvisionLogsBody(cluster_name=cluster_name)
945
+
946
+ if worker is not None:
947
+ remote_api_version = versions.get_remote_api_version()
948
+ if remote_api_version is not None and remote_api_version >= 21:
949
+ if worker < 1:
950
+ raise ValueError('Worker must be a positive integer.')
951
+ body.worker = worker
952
+ else:
953
+ raise exceptions.APINotSupportedError(
954
+ 'Worker node provision logs are not supported in your API '
955
+ 'server. Please upgrade to a newer API server to use it.')
942
956
  params = {
943
957
  'follow': str(follow).lower(),
944
958
  'tail': tail,
945
959
  }
960
+
946
961
  response = server_common.make_authenticated_request(
947
962
  'POST',
948
963
  '/provision_logs',
@@ -951,13 +966,21 @@ def tail_provision_logs(cluster_name: str,
951
966
  stream=True,
952
967
  timeout=(client_common.API_SERVER_REQUEST_CONNECTION_TIMEOUT_SECONDS,
953
968
  None))
969
+ # Check for HTTP errors before streaming the response
970
+ if response.status_code != 200:
971
+ with ux_utils.print_exception_no_traceback():
972
+ raise exceptions.CommandError(response.status_code,
973
+ 'tail_provision_logs',
974
+ 'Failed to stream provision logs',
975
+ response.text)
976
+
954
977
  # Log request is idempotent when tail is 0, thus can resume previous
955
978
  # streaming point on retry.
956
979
  # request_id=None here because /provision_logs does not create an async
957
980
  # request. Instead, it streams a plain file from the server. This does NOT
958
981
  # violate the stream_response doc warning about None in multi-user
959
- # environments: we are not asking stream_response to select the latest
960
- # request”. We already have the HTTP response to stream; request_id=None
982
+ # environments: we are not asking stream_response to select "the latest
983
+ # request". We already have the HTTP response to stream; request_id=None
961
984
  # merely disables the follow-up GET. It is also necessary for --no-follow
962
985
  # to return cleanly after printing the tailed lines. If we provided a
963
986
  # non-None request_id here, the get(request_id) in stream_response(
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/Rn37hj-nuHOYT-HwxSDXC/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Rn37hj-nuHOYT-HwxSDXC/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"Rn37hj-nuHOYT-HwxSDXC","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"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/jDc1PlRsl9Cc5FQUMLBu8/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/jDc1PlRsl9Cc5FQUMLBu8/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"jDc1PlRsl9Cc5FQUMLBu8","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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-8f058b0346db2aff.js" defer=""></script><script src="/dashboard/_next/static/Rn37hj-nuHOYT-HwxSDXC/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Rn37hj-nuHOYT-HwxSDXC/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"Rn37hj-nuHOYT-HwxSDXC","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-8f058b0346db2aff.js" defer=""></script><script src="/dashboard/_next/static/jDc1PlRsl9Cc5FQUMLBu8/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/jDc1PlRsl9Cc5FQUMLBu8/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"jDc1PlRsl9Cc5FQUMLBu8","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-7e0e8f06bb2f881c.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-5fdc9b851a18acdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-49141c317f3a9020.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-477555ab7c0b13d8.js" defer=""></script><script src="/dashboard/_next/static/Rn37hj-nuHOYT-HwxSDXC/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Rn37hj-nuHOYT-HwxSDXC/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"Rn37hj-nuHOYT-HwxSDXC","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-7e0e8f06bb2f881c.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-5fdc9b851a18acdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-49141c317f3a9020.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-477555ab7c0b13d8.js" defer=""></script><script src="/dashboard/_next/static/jDc1PlRsl9Cc5FQUMLBu8/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/jDc1PlRsl9Cc5FQUMLBu8/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"jDc1PlRsl9Cc5FQUMLBu8","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js" defer=""></script><script src="/dashboard/_next/static/Rn37hj-nuHOYT-HwxSDXC/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Rn37hj-nuHOYT-HwxSDXC/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"Rn37hj-nuHOYT-HwxSDXC","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js" defer=""></script><script src="/dashboard/_next/static/jDc1PlRsl9Cc5FQUMLBu8/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/jDc1PlRsl9Cc5FQUMLBu8/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"jDc1PlRsl9Cc5FQUMLBu8","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>