skypilot-nightly 1.0.0.dev20250826__tar.gz → 1.0.0.dev20250827__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 (567) hide show
  1. {skypilot_nightly-1.0.0.dev20250826/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250827}/PKG-INFO +2 -1
  2. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/authentication.py +3 -9
  4. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/backends/backend_utils.py +30 -43
  5. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/backends/cloud_vm_ray_backend.py +2 -2
  6. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/cli/command.py +2 -1
  7. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/common.py +41 -14
  8. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/sdk.py +1 -1
  9. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/aws.py +1 -1
  10. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/cloud.py +15 -0
  11. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/kubernetes.py +27 -0
  12. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/ssh.py +2 -3
  13. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/404.html +1 -1
  14. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  15. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/clusters/[cluster].html +1 -1
  16. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/clusters.html +1 -1
  17. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/config.html +1 -1
  18. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/index.html +1 -1
  19. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/infra/[context].html +1 -1
  20. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/infra.html +1 -1
  21. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/jobs/[job].html +1 -1
  22. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
  23. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/jobs.html +1 -1
  24. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/users.html +1 -1
  25. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/volumes.html +1 -1
  26. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/workspace/new.html +1 -1
  27. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/workspaces/[name].html +1 -1
  28. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/workspaces.html +1 -1
  29. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/global_user_state.py +103 -11
  30. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/config.py +2 -8
  31. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/instance.py +6 -0
  32. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/network_utils.py +3 -4
  33. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/utils.py +6 -5
  34. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/nebius/utils.py +15 -7
  35. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/vsphere_utils.py +2 -8
  36. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/api/responses.py +7 -0
  37. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/serve_utils.py +2 -2
  38. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/service_spec.py +2 -8
  39. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/auth/authn.py +4 -0
  40. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/common.py +7 -1
  41. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/executor.py +4 -0
  42. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/server.py +18 -33
  43. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/uvicorn.py +33 -0
  44. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/setup_files/dependencies.py +1 -0
  45. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/sky_logging.py +4 -1
  46. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/events.py +2 -2
  47. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skypilot_config.py +4 -2
  48. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/ssh_node_pools/core.py +3 -1
  49. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/task.py +3 -9
  50. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/users/server.py +6 -6
  51. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/common_utils.py +3 -2
  52. skypilot_nightly-1.0.0.dev20250827/sky/utils/yaml_utils.py +35 -0
  53. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/volumes/volume.py +8 -3
  54. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827/skypilot_nightly.egg-info}/PKG-INFO +2 -1
  55. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/skypilot_nightly.egg-info/SOURCES.txt +3 -2
  56. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/skypilot_nightly.egg-info/requires.txt +1 -0
  57. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_config.py +1 -1
  58. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/LICENSE +0 -0
  59. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/MANIFEST.in +0 -0
  60. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/README.md +0 -0
  61. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/pyproject.toml +0 -0
  62. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/setup.cfg +0 -0
  63. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/setup.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/__init__.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/aws.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/azure.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/cloudflare.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/common.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/cudo.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/do.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/docker.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/gcp.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/hyperbolic.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/ibm.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/kubernetes.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/nebius.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/oci.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/runpod.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/vast.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/adaptors/vsphere.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/admin_policy.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/backends/__init__.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/backends/backend.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/backends/docker_utils.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/backends/local_docker_backend.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/backends/wheel_utils.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/__init__.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/aws_catalog.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/azure_catalog.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/common.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/config.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/cudo_catalog.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/__init__.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/analyze.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/do_catalog.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/fluidstack_catalog.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/gcp_catalog.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/hyperbolic_catalog.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/ibm_catalog.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/kubernetes_catalog.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/lambda_catalog.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/nebius_catalog.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/oci_catalog.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/paperspace_catalog.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/runpod_catalog.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/scp_catalog.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/ssh_catalog.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/vast_catalog.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/catalog/vsphere_catalog.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/check.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/cli.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/__init__.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/cli/__init__.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/cli/deprecation_utils.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/cli/flags.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/cli/git.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/oauth.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/sdk_async.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/client/service_account_auth.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/cloud_stores.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/__init__.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/azure.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/cudo.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/do.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/fluidstack.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/gcp.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/hyperbolic.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/ibm.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/lambda_cloud.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/nebius.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/oci.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/paperspace.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/runpod.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/scp.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/utils/__init__.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/utils/aws_utils.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/utils/azure_utils.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/utils/gcp_utils.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/utils/oci_utils.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/utils/scp_utils.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/vast.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/clouds/vsphere.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/core.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dag.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250826/sky/dashboard/out/_next/static/TPMkEeuj85tHTmIW7Gu3S → skypilot_nightly-1.0.0.dev20250827/sky/dashboard/out/_next/static/-eL7Ky3bxVivzeLHNB9U6}/_buildManifest.js +0 -0
  158. {skypilot_nightly-1.0.0.dev20250826/sky/dashboard/out/_next/static/TPMkEeuj85tHTmIW7Gu3S → skypilot_nightly-1.0.0.dev20250827/sky/dashboard/out/_next/static/-eL7Ky3bxVivzeLHNB9U6}/_ssgManifest.js +0 -0
  159. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/1121-8afcf719ea87debc.js +0 -0
  160. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/1141-943efc7aff0f0c06.js +0 -0
  161. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
  162. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
  163. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/3015-6c9c09593b1e67b6.js +0 -0
  164. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/3785.d5b86f6ebc88e6e6.js +0 -0
  165. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
  166. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
  167. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js +0 -0
  168. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js +0 -0
  169. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js +0 -0
  170. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/4783.c485f48348349f47.js +0 -0
  171. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
  172. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
  173. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -0
  174. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
  175. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
  176. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/6856-049014c6d43d127b.js +0 -0
  177. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
  178. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/6990-08b2a1cae076a943.js +0 -0
  179. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/7205-88191679e7988c57.js +0 -0
  180. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js +0 -0
  181. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
  182. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js +0 -0
  183. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js +0 -0
  184. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/8969-4a6f1a928fb6d370.js +0 -0
  185. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/9025.a1bef12d672bb66d.js +0 -0
  186. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/9037-89a84fd7fa31362d.js +0 -0
  187. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/9946.3b7b43c217ff70ec.js +0 -0
  188. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/9984.7eb6cc51fb460cae.js +0 -0
  189. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
  190. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
  191. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
  192. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
  193. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js +0 -0
  194. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
  195. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-06afb50d25f7c61f.js +0 -0
  196. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-a0527109c2fab467.js +0 -0
  197. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js +0 -0
  198. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
  199. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
  200. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-81351f95f3bec08e.js +0 -0
  201. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/infra-c320641c2bcbbea6.js +0 -0
  202. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js +0 -0
  203. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js +0 -0
  204. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/jobs-7421e63ac35f8fce.js +0 -0
  205. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js +0 -0
  206. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js +0 -0
  207. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
  208. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-de06e613e20bc977.js +0 -0
  209. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/pages/workspaces-be35b22e2046564c.js +0 -0
  210. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  211. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/chunks/webpack-6e76f636a048e145.js +0 -0
  212. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -0
  213. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/favicon.ico +0 -0
  214. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/skypilot.svg +0 -0
  215. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  216. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/data/__init__.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/data/data_transfer.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/data/data_utils.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/data/mounting_utils.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/data/storage.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/data/storage_utils.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/exceptions.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/execution.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/__init__.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/client/__init__.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/client/sdk.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/client/sdk_async.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/constants.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/controller.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/recovery_strategy.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/scheduler.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/server/__init__.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/server/core.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/server/server.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/server/utils.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/state.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/jobs/utils.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/logs/__init__.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/logs/agent.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/logs/aws.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/logs/gcp.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/metrics/__init__.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/metrics/utils.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/models.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/optimizer.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/__init__.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/aws/__init__.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/aws/config.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/aws/instance.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/aws/utils.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/azure/__init__.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/azure/azure-config-template.json +0 -0
  253. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/azure/config.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/azure/instance.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/common.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/constants.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/cudo/__init__.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/cudo/config.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/cudo/cudo_machine_type.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/cudo/cudo_utils.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/cudo/cudo_wrapper.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/cudo/instance.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/do/__init__.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/do/config.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/do/constants.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/do/instance.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/do/utils.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/docker_utils.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/fluidstack/__init__.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/fluidstack/config.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/fluidstack/instance.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/gcp/__init__.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/gcp/config.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/gcp/constants.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/gcp/instance.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/gcp/instance_utils.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/gcp/mig_utils.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/gcp/volume_utils.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/hyperbolic/__init__.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/hyperbolic/config.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/hyperbolic/instance.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/hyperbolic/utils.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/instance_setup.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/__init__.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/constants.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  288. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/network.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/kubernetes/volume.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/lambda_cloud/__init__.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/lambda_cloud/config.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/lambda_cloud/instance.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/logging.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/metadata_utils.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/nebius/__init__.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/nebius/config.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/nebius/constants.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/nebius/instance.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/oci/__init__.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/oci/config.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/oci/instance.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/oci/query_utils.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/paperspace/__init__.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/paperspace/config.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/paperspace/constants.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/paperspace/instance.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/paperspace/utils.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/provisioner.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/runpod/__init__.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/runpod/api/__init__.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/runpod/api/commands.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/runpod/api/pods.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/runpod/config.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/runpod/instance.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/runpod/utils.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/scp/__init__.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/scp/config.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/scp/instance.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/ssh/__init__.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vast/__init__.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vast/config.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vast/instance.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vast/utils.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/__init__.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/__init__.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/custom_script.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/id_generator.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/service_manager.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  336. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/common/vim_utils.py +0 -0
  337. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/config.py +0 -0
  338. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/provision/vsphere/instance.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/py.typed +0 -0
  340. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/resources.py +0 -0
  341. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/__init__.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/api/__init__.py +0 -0
  343. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/README +0 -0
  344. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/env.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
  346. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
  347. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/script.py.mako +0 -0
  352. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/generated/__init__.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/generated/autostopv1_pb2.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
  359. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/__init__.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/autoscalers.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/client/__init__.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/client/impl.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/client/sdk.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/client/sdk_async.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/constants.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/controller.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/load_balancer.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/load_balancing_policies.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/replica_managers.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/serve_state.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/server/__init__.py +0 -0
  373. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/server/core.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/server/impl.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/server/server.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/service.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/serve/spot_placer.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/__init__.py +0 -0
  379. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/auth/__init__.py +0 -0
  380. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/auth/oauth2_proxy.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/config.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/constants.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/daemons.py +0 -0
  384. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/html/log.html +0 -0
  385. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/html/token_page.html +0 -0
  386. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/metrics.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/__init__.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/event_loop.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/payloads.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/preconditions.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/process.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/queues/__init__.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/queues/local_queue.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/queues/mp_queue.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/requests.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/serializers/__init__.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/serializers/decoders.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/requests/serializers/encoders.py +0 -0
  399. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/rest.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/state.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/stream_utils.py +0 -0
  402. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/server/versions.py +0 -0
  403. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/setup_files/MANIFEST.in +0 -0
  404. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/setup_files/alembic.ini +0 -0
  405. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/setup_files/setup.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/LICENSE +0 -0
  407. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/__init__.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/attempt_skylet.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/autostop_lib.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/configs.py +0 -0
  411. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/constants.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/job_lib.py +0 -0
  413. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/log_lib.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/log_lib.pyi +0 -0
  415. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/providers/__init__.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/providers/command_runner.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/providers/ibm/__init__.py +0 -0
  418. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/providers/ibm/node_provider.py +0 -0
  419. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/providers/ibm/utils.py +0 -0
  420. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  421. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/__init__.py +0 -0
  422. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
  423. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  424. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/cli.py.diff +0 -0
  425. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/cli.py.patch +0 -0
  426. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
  427. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  428. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
  429. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  430. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
  431. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  432. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/updater.py.diff +0 -0
  433. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/updater.py.patch +0 -0
  434. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/worker.py.diff +0 -0
  435. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/ray_patches/worker.py.patch +0 -0
  436. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/services.py +0 -0
  437. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/skylet.py +0 -0
  438. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/skylet/subprocess_daemon.py +0 -0
  439. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/ssh_node_pools/__init__.py +0 -0
  440. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/ssh_node_pools/server.py +0 -0
  441. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/aws-ray.yml.j2 +0 -0
  442. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/azure-ray.yml.j2 +0 -0
  443. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/cudo-ray.yml.j2 +0 -0
  444. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/do-ray.yml.j2 +0 -0
  445. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  446. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/gcp-ray.yml.j2 +0 -0
  447. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
  448. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/ibm-ray.yml.j2 +0 -0
  449. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/jobs-controller.yaml.j2 +0 -0
  450. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  451. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  452. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  453. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  454. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  455. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/lambda-ray.yml.j2 +0 -0
  456. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/local-ray.yml.j2 +0 -0
  457. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/nebius-ray.yml.j2 +0 -0
  458. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/oci-ray.yml.j2 +0 -0
  459. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/paperspace-ray.yml.j2 +0 -0
  460. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/runpod-ray.yml.j2 +0 -0
  461. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/scp-ray.yml.j2 +0 -0
  462. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  463. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  464. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/vast-ray.yml.j2 +0 -0
  465. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/vsphere-ray.yml.j2 +0 -0
  466. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/templates/websocket_proxy.py +0 -0
  467. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/usage/__init__.py +0 -0
  468. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/usage/constants.py +0 -0
  469. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/usage/usage_lib.py +0 -0
  470. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/users/__init__.py +0 -0
  471. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/users/model.conf +0 -0
  472. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/users/permission.py +0 -0
  473. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/users/rbac.py +0 -0
  474. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/users/token_service.py +0 -0
  475. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/__init__.py +0 -0
  476. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/accelerator_registry.py +0 -0
  477. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/admin_policy_utils.py +0 -0
  478. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/annotations.py +0 -0
  479. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/atomic.py +0 -0
  480. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/aws/__init__.py +0 -0
  481. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/aws/get_default_security_group.py +0 -0
  482. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/cli_utils/__init__.py +0 -0
  483. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/cli_utils/status_utils.py +0 -0
  484. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/cluster_utils.py +0 -0
  485. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/command_runner.py +0 -0
  486. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/command_runner.pyi +0 -0
  487. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/common.py +0 -0
  488. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/config_utils.py +0 -0
  489. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/context.py +0 -0
  490. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/context_utils.py +0 -0
  491. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/control_master_utils.py +0 -0
  492. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/controller_utils.py +0 -0
  493. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/dag_utils.py +0 -0
  494. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/db/__init__.py +0 -0
  495. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/db/db_utils.py +0 -0
  496. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/db/migration_utils.py +0 -0
  497. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/directory_utils.py +0 -0
  498. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/env_options.py +0 -0
  499. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/git.py +0 -0
  500. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/git_clone.sh +0 -0
  501. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/infra_utils.py +0 -0
  502. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/__init__.py +0 -0
  503. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
  504. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/config_map_utils.py +0 -0
  505. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/create_cluster.sh +0 -0
  506. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  507. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
  508. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  509. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  510. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  511. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  512. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  513. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  514. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  515. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  516. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
  517. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  518. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes/ssh_utils.py +0 -0
  519. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/kubernetes_enums.py +0 -0
  520. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/locks.py +0 -0
  521. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/log_utils.py +0 -0
  522. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/message_utils.py +0 -0
  523. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/registry.py +0 -0
  524. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/resource_checker.py +0 -0
  525. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/resources_utils.py +0 -0
  526. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/rich_console_utils.py +0 -0
  527. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/rich_utils.py +0 -0
  528. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/schemas.py +0 -0
  529. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/serialize_utils.py +0 -0
  530. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/status_lib.py +0 -0
  531. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/subprocess_utils.py +0 -0
  532. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/tempstore.py +0 -0
  533. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/timeline.py +0 -0
  534. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/ux_utils.py +0 -0
  535. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/validator.py +0 -0
  536. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/utils/volume.py +0 -0
  537. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/volumes/__init__.py +0 -0
  538. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/volumes/client/__init__.py +0 -0
  539. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/volumes/client/sdk.py +0 -0
  540. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/volumes/server/__init__.py +0 -0
  541. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/volumes/server/core.py +0 -0
  542. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/volumes/server/server.py +0 -0
  543. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/volumes/utils.py +0 -0
  544. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/workspaces/__init__.py +0 -0
  545. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/workspaces/core.py +0 -0
  546. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/workspaces/server.py +0 -0
  547. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/sky/workspaces/utils.py +0 -0
  548. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  549. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  550. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/skypilot_nightly.egg-info/top_level.txt +0 -0
  551. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_api.py +0 -0
  552. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_api_compatibility.py +0 -0
  553. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_cli.py +0 -0
  554. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_db_utils.py +0 -0
  555. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_failover.py +0 -0
  556. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_global_user_state.py +0 -0
  557. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_jobs.py +0 -0
  558. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_jobs_and_serve.py +0 -0
  559. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_list_accelerators.py +0 -0
  560. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_no_parellel.py +0 -0
  561. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_optimizer_dryruns.py +0 -0
  562. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_optimizer_random_dag.py +0 -0
  563. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_serve_autoscaler.py +0 -0
  564. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_smoke.py +0 -0
  565. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_storage.py +0 -0
  566. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/tests/test_wheels.py +0 -0
  567. {skypilot_nightly-1.0.0.dev20250826 → skypilot_nightly-1.0.0.dev20250827}/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.dev20250826
3
+ Version: 1.0.0.dev20250827
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -53,6 +53,7 @@ Requires-Dist: casbin
53
53
  Requires-Dist: sqlalchemy_adapter
54
54
  Requires-Dist: prometheus_client>=0.8.0
55
55
  Requires-Dist: passlib
56
+ Requires-Dist: bcrypt
56
57
  Requires-Dist: pyjwt
57
58
  Requires-Dist: gitpython
58
59
  Requires-Dist: types-paramiko
@@ -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 = '7e47012cb058255cf9c6c39206d3ea779aa01a9e'
10
+ _SKYPILOT_COMMIT_SHA = '01e261e45881118c963337e22cc819586eef9b43'
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.dev20250826'
40
+ __version__ = '1.0.0.dev20250827'
41
41
  __root_dir__ = directory_utils.get_sky_dir()
42
42
 
43
43
 
@@ -25,7 +25,6 @@ import re
25
25
  import socket
26
26
  import subprocess
27
27
  import sys
28
- import typing
29
28
  from typing import Any, Dict, Optional, Tuple
30
29
  import uuid
31
30
 
@@ -37,7 +36,6 @@ from sky import exceptions
37
36
  from sky import global_user_state
38
37
  from sky import sky_logging
39
38
  from sky import skypilot_config
40
- from sky.adaptors import common as adaptors_common
41
39
  from sky.adaptors import gcp
42
40
  from sky.adaptors import ibm
43
41
  from sky.adaptors import kubernetes
@@ -51,6 +49,7 @@ from sky.utils import config_utils
51
49
  from sky.utils import kubernetes_enums
52
50
  from sky.utils import subprocess_utils
53
51
  from sky.utils import ux_utils
52
+ from sky.utils import yaml_utils
54
53
 
55
54
  logger = sky_logging.init_logger(__name__)
56
55
 
@@ -67,11 +66,6 @@ MAX_TRIALS = 64
67
66
  # the former dir is empheral.
68
67
  _SSH_KEY_PATH_PREFIX = '~/.sky/clients/{user_hash}/ssh'
69
68
 
70
- if typing.TYPE_CHECKING:
71
- import yaml
72
- else:
73
- yaml = adaptors_common.LazyImport('yaml')
74
-
75
69
 
76
70
  def get_ssh_key_and_lock_path(
77
71
  user_hash: Optional[str] = None) -> Tuple[str, str, str]:
@@ -209,7 +203,7 @@ def configure_ssh_info(config: Dict[str, Any]) -> Dict[str, Any]:
209
203
  config['auth']['ssh_user'])
210
204
  config_str = config_str.replace('skypilot:ssh_public_key_content',
211
205
  public_key)
212
- config = yaml.safe_load(config_str)
206
+ config = yaml_utils.safe_load(config_str)
213
207
  return config
214
208
 
215
209
 
@@ -289,7 +283,7 @@ def setup_gcp_authentication(config: Dict[str, Any]) -> Dict[str, Any]:
289
283
  os_login_username = None
290
284
  if proc.returncode == 0:
291
285
  try:
292
- profile = yaml.safe_load(proc.stdout)
286
+ profile = yaml_utils.safe_load(proc.stdout)
293
287
  username = profile['posixAccounts'][0]['username']
294
288
  if username:
295
289
  os_login_username = username
@@ -60,6 +60,7 @@ from sky.utils import subprocess_utils
60
60
  from sky.utils import tempstore
61
61
  from sky.utils import timeline
62
62
  from sky.utils import ux_utils
63
+ from sky.utils import yaml_utils
63
64
  from sky.workspaces import core as workspaces_core
64
65
 
65
66
  if typing.TYPE_CHECKING:
@@ -484,8 +485,8 @@ def _replace_yaml_dicts(
484
485
  if key in old_block:
485
486
  _restore_block(value, old_block[key])
486
487
 
487
- new_config = yaml.safe_load(new_yaml)
488
- old_config = yaml.safe_load(old_yaml)
488
+ new_config = yaml_utils.safe_load(new_yaml)
489
+ old_config = yaml_utils.safe_load(old_yaml)
489
490
  excluded_results = {}
490
491
  # Find all key values excluded from restore
491
492
  for exclude_restore_key_name_list in restore_key_names_exceptions:
@@ -2881,38 +2882,42 @@ def get_clusters(
2881
2882
  A list of cluster records. If the cluster does not exist or has been
2882
2883
  terminated, the record will be omitted from the returned list.
2883
2884
  """
2884
- records = global_user_state.get_clusters()
2885
- current_user = common_utils.get_current_user()
2886
-
2887
- # Filter out clusters created by the controller.
2888
- if (not env_options.Options.SHOW_DEBUG_INFO.get() and
2889
- not _include_is_managed):
2890
- records = [
2891
- record for record in records if not record.get('is_managed', False)
2892
- ]
2893
2885
 
2894
- # Filter by user if requested
2886
+ exclude_managed_clusters = False
2887
+ if not (_include_is_managed or env_options.Options.SHOW_DEBUG_INFO.get()):
2888
+ exclude_managed_clusters = True
2889
+ user_hashes_filter = None
2895
2890
  if not all_users:
2896
- records = [
2897
- record for record in records
2898
- if record['user_hash'] == current_user.id
2899
- ]
2900
-
2891
+ user_hashes_filter = {common_utils.get_current_user().id}
2901
2892
  accessible_workspaces = workspaces_core.get_workspaces()
2902
2893
 
2903
- workspace_filtered_records = []
2904
- for record in records:
2905
- cluster_workspace = record.get('workspace',
2906
- constants.SKYPILOT_DEFAULT_WORKSPACE)
2907
- if cluster_workspace in accessible_workspaces:
2908
- workspace_filtered_records.append(record)
2909
-
2910
- records = workspace_filtered_records
2894
+ records = global_user_state.get_clusters(
2895
+ exclude_managed_clusters=exclude_managed_clusters,
2896
+ user_hashes_filter=user_hashes_filter,
2897
+ workspaces_filter=accessible_workspaces)
2911
2898
 
2912
2899
  yellow = colorama.Fore.YELLOW
2913
2900
  bright = colorama.Style.BRIGHT
2914
2901
  reset = colorama.Style.RESET_ALL
2915
2902
 
2903
+ if cluster_names is not None:
2904
+ if isinstance(cluster_names, str):
2905
+ cluster_names = [cluster_names]
2906
+ cluster_names = _get_glob_clusters(cluster_names, silent=True)
2907
+ new_records = []
2908
+ not_exist_cluster_names = []
2909
+ for cluster_name in cluster_names:
2910
+ for record in records:
2911
+ if record['name'] == cluster_name:
2912
+ new_records.append(record)
2913
+ break
2914
+ else:
2915
+ not_exist_cluster_names.append(cluster_name)
2916
+ if not_exist_cluster_names:
2917
+ clusters_str = ', '.join(not_exist_cluster_names)
2918
+ logger.info(f'Cluster(s) not found: {bright}{clusters_str}{reset}.')
2919
+ records = new_records
2920
+
2916
2921
  def _update_record_with_credentials_and_resources_str(
2917
2922
  record: Optional[Dict[str, Any]]) -> None:
2918
2923
  """Add the credentials to the record.
@@ -2952,24 +2957,6 @@ def get_clusters(
2952
2957
  credentials['ssh_private_key_content'] = f.read()
2953
2958
  record['credentials'] = credentials
2954
2959
 
2955
- if cluster_names is not None:
2956
- if isinstance(cluster_names, str):
2957
- cluster_names = [cluster_names]
2958
- cluster_names = _get_glob_clusters(cluster_names, silent=True)
2959
- new_records = []
2960
- not_exist_cluster_names = []
2961
- for cluster_name in cluster_names:
2962
- for record in records:
2963
- if record['name'] == cluster_name:
2964
- new_records.append(record)
2965
- break
2966
- else:
2967
- not_exist_cluster_names.append(cluster_name)
2968
- if not_exist_cluster_names:
2969
- clusters_str = ', '.join(not_exist_cluster_names)
2970
- logger.info(f'Cluster(s) not found: {bright}{clusters_str}{reset}.')
2971
- records = new_records
2972
-
2973
2960
  def _update_records_with_resources(
2974
2961
  records: List[Optional[Dict[str, Any]]]) -> None:
2975
2962
  """Add the resources to the record."""
@@ -22,7 +22,6 @@ from typing import (Any, Callable, Dict, Iterable, List, Optional, Set, Tuple,
22
22
 
23
23
  import colorama
24
24
  import psutil
25
- import yaml
26
25
 
27
26
  from sky import backends
28
27
  from sky import catalog
@@ -77,6 +76,7 @@ from sky.utils import subprocess_utils
77
76
  from sky.utils import timeline
78
77
  from sky.utils import ux_utils
79
78
  from sky.utils import volume as volume_lib
79
+ from sky.utils import yaml_utils
80
80
 
81
81
  if typing.TYPE_CHECKING:
82
82
  import grpc
@@ -2351,7 +2351,7 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2351
2351
  # If the cluster yaml is not available,
2352
2352
  # we skip updating the cluster info.
2353
2353
  return
2354
- config = yaml.safe_load(yaml_str)
2354
+ config = yaml_utils.safe_load(yaml_str)
2355
2355
  try:
2356
2356
  cluster_info = provision_lib.get_cluster_info(
2357
2357
  provider_name,
@@ -89,6 +89,7 @@ from sky.utils import status_lib
89
89
  from sky.utils import subprocess_utils
90
90
  from sky.utils import timeline
91
91
  from sky.utils import ux_utils
92
+ from sky.utils import yaml_utils
92
93
  from sky.utils.cli_utils import status_utils
93
94
  from sky.volumes import utils as volumes_utils
94
95
  from sky.volumes.client import sdk as volumes_sdk
@@ -589,7 +590,7 @@ def _check_yaml_only(
589
590
  try:
590
591
  with open(entrypoint, 'r', encoding='utf-8') as f:
591
592
  try:
592
- config = list(yaml.safe_load_all(f))
593
+ config = list(yaml_utils.safe_load_all(f))
593
594
  if config:
594
595
  # FIXME(zongheng): in a chain DAG YAML it only returns the
595
596
  # first section. OK for downstream but is weird.
@@ -19,6 +19,7 @@ from sky.adaptors import common as adaptors_common
19
19
  from sky.client import service_account_auth
20
20
  from sky.data import data_utils
21
21
  from sky.data import storage_utils
22
+ from sky.schemas.api import responses as api_responses
22
23
  from sky.server import common as server_common
23
24
  from sky.server.requests import payloads
24
25
  from sky.skylet import constants
@@ -165,8 +166,12 @@ class UploadChunkParams:
165
166
  log_file: str
166
167
 
167
168
 
168
- def _upload_chunk_with_retry(params: UploadChunkParams) -> None:
169
- """Uploads a chunk of a zip file to the API server."""
169
+ def _upload_chunk_with_retry(params: UploadChunkParams) -> str:
170
+ """Uploads a chunk of a zip file to the API server.
171
+
172
+ Returns:
173
+ Status of the upload.
174
+ """
170
175
  upload_logger = params.upload_logger
171
176
  upload_logger.info(
172
177
  f'Uploading chunk: {params.chunk_index + 1} / {params.total_chunks}')
@@ -195,13 +200,14 @@ def _upload_chunk_with_retry(params: UploadChunkParams) -> None:
195
200
  data = response.json()
196
201
  status = data.get('status')
197
202
  msg = ('Uploaded chunk: '
198
- f'{params.chunk_index + 1} / {params.total_chunks}')
199
- if status == 'uploading':
203
+ f'{params.chunk_index + 1} / {params.total_chunks} '
204
+ f'(Status: {status})')
205
+ if status == api_responses.UploadStatus.UPLOADING.value:
200
206
  missing_chunks = data.get('missing_chunks')
201
207
  if missing_chunks:
202
208
  msg += f' - Waiting for chunks: {missing_chunks}'
203
209
  upload_logger.info(msg)
204
- return
210
+ return status
205
211
  elif attempt < max_attempts - 1:
206
212
  upload_logger.error(
207
213
  f'Failed to upload chunk: '
@@ -209,7 +215,12 @@ def _upload_chunk_with_retry(params: UploadChunkParams) -> None:
209
215
  f'{response.content.decode("utf-8")}')
210
216
  upload_logger.info(
211
217
  f'Retrying... ({attempt + 1} / {max_attempts})')
212
- time.sleep(1)
218
+ if response.status_code == 503:
219
+ # If the server is temporarily unavailable,
220
+ # wait a little longer before retrying.
221
+ time.sleep(10)
222
+ else:
223
+ time.sleep(1)
213
224
  else:
214
225
  try:
215
226
  response_details = response.json().get('detail')
@@ -225,6 +236,8 @@ def _upload_chunk_with_retry(params: UploadChunkParams) -> None:
225
236
  ux_utils.error_message(error_msg + '\n',
226
237
  params.log_file,
227
238
  is_local=True))
239
+ # If we reach here, the upload failed.
240
+ return 'failed'
228
241
 
229
242
 
230
243
  @contextlib.contextmanager
@@ -347,15 +360,29 @@ def upload_mounts_to_api_server(dag: 'sky.Dag',
347
360
  log_file,
348
361
  is_local=True))
349
362
 
363
+ upload_completed = False
350
364
  with httpx.Client(timeout=timeout) as client:
351
- chunk_params = [
352
- UploadChunkParams(client, upload_id, chunk_index,
353
- total_chunks, temp_zip_file.name,
354
- upload_logger, log_file)
355
- for chunk_index in range(total_chunks)
356
- ]
357
- subprocess_utils.run_in_parallel(_upload_chunk_with_retry,
358
- chunk_params)
365
+ total_retries = 3
366
+ for retry in range(total_retries):
367
+ chunk_params = [
368
+ UploadChunkParams(client, upload_id, chunk_index,
369
+ total_chunks, temp_zip_file.name,
370
+ upload_logger, log_file)
371
+ for chunk_index in range(total_chunks)
372
+ ]
373
+ statuses = subprocess_utils.run_in_parallel(
374
+ _upload_chunk_with_retry, chunk_params)
375
+ if any(status == api_responses.UploadStatus.COMPLETED.value
376
+ for status in statuses):
377
+ upload_completed = True
378
+ break
379
+ else:
380
+ upload_logger.info(
381
+ f'No chunk upload returned completed status. '
382
+ 'Retrying entire upload... '
383
+ f'({retry + 1} / {total_retries})')
384
+ if not upload_completed:
385
+ raise RuntimeError('Failed to upload files to API server.')
359
386
  os.unlink(temp_zip_file.name)
360
387
  upload_logger.info(f'Uploaded files: {upload_list}')
361
388
  logger.info(
@@ -571,7 +571,7 @@ def launch(
571
571
  idle_minutes=idle_minutes_to_autostop,
572
572
  wait_for=wait_for)
573
573
  if resource.autostop_config is not None:
574
- # For backward-compatbility, get the final autostop config for
574
+ # For backward-compatibility, get the final autostop config for
575
575
  # admin policy.
576
576
  # TODO(aylei): remove this after 0.12.0
577
577
  down = resource.autostop_config.down
@@ -933,7 +933,7 @@ class AWS(clouds.Cloud):
933
933
  # `aws configure list` as cache key. Different `aws configure list` output
934
934
  # can have same aws identity, our assumption is the output would be stable
935
935
  # in real world, so the number of cache files would be limited.
936
- # TODO(aylei): consider using a more stable cache key and evalute eviction.
936
+ # TODO(aylei): consider using a more stable cache key and evaluate eviction.
937
937
  cache_path = catalog_common.get_catalog_path(
938
938
  f'aws/.cache/user-identity-{config_hash}.txt')
939
939
  if os.path.exists(cache_path):
@@ -396,6 +396,21 @@ class Cloud:
396
396
  del label_key, label_value
397
397
  return True, None
398
398
 
399
+ @classmethod
400
+ def is_volume_name_valid(cls,
401
+ volume_name: str) -> Tuple[bool, Optional[str]]:
402
+ """Validates that the volume name is valid for this cloud.
403
+
404
+ Returns:
405
+ A tuple of a boolean indicating whether the volume name is valid
406
+ and an optional string describing the reason if the volume name
407
+ is invalid.
408
+ """
409
+ # If a cloud does not support volume, they are ignored. Only clouds
410
+ # that support volume implement this method.
411
+ del volume_name
412
+ return True, None
413
+
399
414
  @timeline.event
400
415
  def get_feasible_launchable_resources(
401
416
  self,
@@ -57,6 +57,8 @@ class Kubernetes(clouds.Cloud):
57
57
  # where the suffix is 21 characters long.
58
58
  _MAX_CLUSTER_NAME_LEN_LIMIT = 42
59
59
 
60
+ _MAX_VOLUME_NAME_LEN_LIMIT = 253
61
+
60
62
  _SUPPORTS_SERVICE_ACCOUNT_ON_REMOTE = True
61
63
 
62
64
  _DEFAULT_NUM_VCPUS = 2
@@ -1041,6 +1043,31 @@ class Kubernetes(clouds.Cloud):
1041
1043
  identities.append(identity)
1042
1044
  return identities
1043
1045
 
1046
+ @classmethod
1047
+ def is_volume_name_valid(cls,
1048
+ volume_name: str) -> Tuple[bool, Optional[str]]:
1049
+ """Validates that the volume name is valid for this cloud.
1050
+
1051
+ Follows Kubernetes DNS-1123 subdomain rules:
1052
+ - must be <= 253 characters
1053
+ - must match: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' # pylint: disable=line-too-long
1054
+ """
1055
+ # Max length per DNS-1123 subdomain
1056
+ if len(volume_name) > cls._MAX_VOLUME_NAME_LEN_LIMIT:
1057
+ return (False, f'Volume name exceeds the maximum length of '
1058
+ f'{cls._MAX_VOLUME_NAME_LEN_LIMIT} characters '
1059
+ '(DNS-1123 subdomain).')
1060
+
1061
+ # DNS-1123 label: [a-z0-9]([-a-z0-9]*[a-z0-9])?
1062
+ label = r'[a-z0-9]([-a-z0-9]*[a-z0-9])?'
1063
+ # DNS-1123 subdomain: label(\.-separated label)*
1064
+ subdomain_pattern = rf'^{label}(\.{label})*$'
1065
+ if re.fullmatch(subdomain_pattern, volume_name) is None:
1066
+ return (False, 'Volume name must be a valid DNS-1123 subdomain: '
1067
+ 'lowercase alphanumeric, "-", and "."; start/end with '
1068
+ 'alphanumeric.')
1069
+ return True, None
1070
+
1044
1071
  @classmethod
1045
1072
  def is_label_valid(cls, label_key: str,
1046
1073
  label_value: str) -> Tuple[bool, Optional[str]]:
@@ -4,8 +4,6 @@ import os
4
4
  import typing
5
5
  from typing import Dict, List, Optional, Set, Tuple, Union
6
6
 
7
- import yaml
8
-
9
7
  from sky import sky_logging
10
8
  from sky import skypilot_config
11
9
  from sky.adaptors import kubernetes as kubernetes_adaptor
@@ -14,6 +12,7 @@ from sky.provision.kubernetes import utils as kubernetes_utils
14
12
  from sky.utils import annotations
15
13
  from sky.utils import common_utils
16
14
  from sky.utils import registry
15
+ from sky.utils import yaml_utils
17
16
 
18
17
  if typing.TYPE_CHECKING:
19
18
  # Renaming to avoid shadowing variables.
@@ -66,7 +65,7 @@ class SSH(kubernetes.Kubernetes):
66
65
  if os.path.exists(SSH_NODE_POOLS_PATH):
67
66
  try:
68
67
  with open(SSH_NODE_POOLS_PATH, 'r', encoding='utf-8') as f:
69
- ssh_config = yaml.safe_load(f)
68
+ ssh_config = yaml_utils.safe_load(f)
70
69
  if ssh_config:
71
70
  # Get cluster names and prepend 'ssh-' to match
72
71
  # context naming convention
@@ -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-6e76f636a048e145.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/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_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":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_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":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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-06afb50d25f7c61f.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_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":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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-06afb50d25f7c61f.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_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":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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/4676-9da7fdbde90b5549.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.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-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-08b2a1cae076a943.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-8afcf719ea87debc.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-049014c6d43d127b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-6c9c09593b1e67b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/9037-89a84fd7fa31362d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-a0527109c2fab467.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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/4676-9da7fdbde90b5549.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.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-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-08b2a1cae076a943.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-8afcf719ea87debc.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-049014c6d43d127b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-6c9c09593b1e67b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/9037-89a84fd7fa31362d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-a0527109c2fab467.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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-469814d711d63b1b.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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-469814d711d63b1b.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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/infra/%5Bcontext%5D-81351f95f3bec08e.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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/infra/%5Bcontext%5D-81351f95f3bec08e.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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/infra-c320641c2bcbbea6.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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/infra-c320641c2bcbbea6.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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/754-d0da8ab45f9509e9.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-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-dd64309c3fe67ed2.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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/754-d0da8ab45f9509e9.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-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-dd64309c3fe67ed2.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"-eL7Ky3bxVivzeLHNB9U6","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-6e76f636a048e145.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/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.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-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-07349868f7905d37.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/TPMkEeuj85tHTmIW7Gu3S/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/pools/[pool]","query":{},"buildId":"TPMkEeuj85tHTmIW7Gu3S","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-6e76f636a048e145.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/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.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-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-07349868f7905d37.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-eL7Ky3bxVivzeLHNB9U6/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/pools/[pool]","query":{},"buildId":"-eL7Ky3bxVivzeLHNB9U6","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>