skypilot-nightly 1.0.0.dev20250502__tar.gz → 1.0.0.dev20250506__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.
- {skypilot_nightly-1.0.0.dev20250502/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250506}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/nebius.py +0 -12
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/check.py +44 -31
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/cli.py +62 -32
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/client/cli.py +62 -32
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/nebius.py +0 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/404.html +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/clusters/[cluster].html +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/clusters.html +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/index.html +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/jobs/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/jobs.html +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/kubernetes/utils.py +6 -2
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/nebius/utils.py +19 -39
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/payloads.py +3 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/common_utils.py +4 -4
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/controller_utils.py +13 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/schemas.py +18 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506/skypilot_nightly.egg-info}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/skypilot_nightly.egg-info/SOURCES.txt +2 -2
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/README.md +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/backends/backend_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/backends/cloud_vm_ray_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/benchmark/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/benchmark/benchmark_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/benchmark/benchmark_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/client/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/do_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/nebius_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/vast_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502/sky/dashboard/out/_next/static/GWvVBSCS7FmUiVmjaL1a7 → skypilot_nightly-1.0.0.dev20250506/sky/dashboard/out/_next/static/XGMId9CZTvpE82L-EIMuY}/_buildManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502/sky/dashboard/out/_next/static/GWvVBSCS7FmUiVmjaL1a7 → skypilot_nightly-1.0.0.dev20250506/sky/dashboard/out/_next/static/XGMId9CZTvpE82L-EIMuY}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/236-2db3ee3fba33dd9e.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/312-c3c8845990db8ffc.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/37-0a572fe0dbb89c4d.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/678-206dddca808e6d16.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/845-9e60713e0c441abc.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/979-7bf73a4c7cea0f5c.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/fd9d1056-2821b0f0cabcd8bd.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/framework-87d061ee6ed71b28.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/main-app-241eb28595532291.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/main-e0e2335212e72357.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-6ac338bc2239cb45.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-f383db7389368ea7.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/pages/index-f9f039532ca8cbc4.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-1c519e1afc523dc9.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/chunks/webpack-830f59b8404e96b8.js +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/_next/static/css/c6933bbb2ce7f4dd.css +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/skypilot.svg +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/dashboard/dashboard.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/dashboard/static/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/dashboard/templates/index.html +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/recovery_strategy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/scheduler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/server/dashboard_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/jobs/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/models.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/optimizer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/do/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/do/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/do/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/do/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/do/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/instance_setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/kubernetes/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/kubernetes/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/nebius/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/nebius/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/nebius/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/runpod/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/runpod/api/commands.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/runpod/api/pods.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vast/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vast/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vast/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vast/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/resources.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/serve_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/service.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/serve/spot_placer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/html/log.html +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/event_loop.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/executor.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/preconditions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/process.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/queues/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/queues/local_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/queues/mp_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/requests.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/serializers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/serializers/decoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/requests/serializers/encoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/stream_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/server/uvicorn.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/setup_files/dependencies.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/sky_logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/log_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/log_lib.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/providers/scp/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/task.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/do-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/kubernetes-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/nebius-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/vast-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/templates/websocket_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/annotations.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/atomic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/aws/get_default_security_group.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/cluster_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/config_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/gpu_labeler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/message_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/rich_console_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/subprocess_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/skypilot_nightly.egg-info/requires.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_failover.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_smoke.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/tests/test_yaml_parser.py +0 -0
@@ -5,7 +5,7 @@ from typing import Optional
|
|
5
5
|
import urllib.request
|
6
6
|
|
7
7
|
# Replaced with the current commit when building the wheels.
|
8
|
-
_SKYPILOT_COMMIT_SHA = '
|
8
|
+
_SKYPILOT_COMMIT_SHA = '007c2e532e298f412319e6241d5f243e947689a5'
|
9
9
|
|
10
10
|
|
11
11
|
def _get_git_commit():
|
@@ -35,7 +35,7 @@ def _get_git_commit():
|
|
35
35
|
|
36
36
|
|
37
37
|
__commit__ = _get_git_commit()
|
38
|
-
__version__ = '1.0.0.
|
38
|
+
__version__ = '1.0.0.dev20250506'
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
40
40
|
|
41
41
|
|
{skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/adaptors/nebius.py
RENAMED
@@ -8,11 +8,9 @@ from sky.utils import ux_utils
|
|
8
8
|
|
9
9
|
NEBIUS_TENANT_ID_FILENAME = 'NEBIUS_TENANT_ID.txt'
|
10
10
|
NEBIUS_IAM_TOKEN_FILENAME = 'NEBIUS_IAM_TOKEN.txt'
|
11
|
-
NEBIUS_PROJECT_ID_FILENAME = 'NEBIUS_PROJECT_ID.txt'
|
12
11
|
NEBIUS_CREDENTIALS_FILENAME = 'credentials.json'
|
13
12
|
NEBIUS_TENANT_ID_PATH = '~/.nebius/' + NEBIUS_TENANT_ID_FILENAME
|
14
13
|
NEBIUS_IAM_TOKEN_PATH = '~/.nebius/' + NEBIUS_IAM_TOKEN_FILENAME
|
15
|
-
NEBIUS_PROJECT_ID_PATH = '~/.nebius/' + NEBIUS_PROJECT_ID_FILENAME
|
16
14
|
NEBIUS_CREDENTIALS_PATH = '~/.nebius/' + NEBIUS_CREDENTIALS_FILENAME
|
17
15
|
|
18
16
|
DEFAULT_REGION = 'eu-north1'
|
@@ -92,16 +90,6 @@ def is_token_or_cred_file_exist():
|
|
92
90
|
os.path.exists(os.path.expanduser(NEBIUS_CREDENTIALS_PATH)))
|
93
91
|
|
94
92
|
|
95
|
-
@annotations.lru_cache(scope='request')
|
96
|
-
def get_project_id():
|
97
|
-
try:
|
98
|
-
with open(os.path.expanduser(NEBIUS_PROJECT_ID_PATH),
|
99
|
-
encoding='utf-8') as file:
|
100
|
-
return file.read().strip()
|
101
|
-
except FileNotFoundError:
|
102
|
-
return None
|
103
|
-
|
104
|
-
|
105
93
|
@annotations.lru_cache(scope='request')
|
106
94
|
def get_tenant_id():
|
107
95
|
try:
|
@@ -1,4 +1,6 @@
|
|
1
1
|
"""Credential checks: check cloud credentials and enable clouds."""
|
2
|
+
import collections
|
3
|
+
import itertools
|
2
4
|
import os
|
3
5
|
import traceback
|
4
6
|
from types import ModuleType
|
@@ -16,6 +18,7 @@ from sky.adaptors import cloudflare
|
|
16
18
|
from sky.clouds import cloud as sky_cloud
|
17
19
|
from sky.utils import registry
|
18
20
|
from sky.utils import rich_utils
|
21
|
+
from sky.utils import subprocess_utils
|
19
22
|
from sky.utils import ux_utils
|
20
23
|
|
21
24
|
CHECK_MARK_EMOJI = '\U00002714' # Heavy check mark unicode
|
@@ -38,32 +41,19 @@ def check_capabilities(
|
|
38
41
|
enabled_clouds: Dict[str, List[sky_cloud.CloudCapability]] = {}
|
39
42
|
disabled_clouds: Dict[str, List[sky_cloud.CloudCapability]] = {}
|
40
43
|
|
41
|
-
def
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
except exceptions.NotSupportedError:
|
55
|
-
continue
|
56
|
-
except Exception: # pylint: disable=broad-except
|
57
|
-
# Catch all exceptions to prevent a single cloud
|
58
|
-
# from blocking the check for other clouds.
|
59
|
-
ok, reason = False, traceback.format_exc()
|
60
|
-
cloud_capabilities.append(
|
61
|
-
(capability, ok, reason.strip() if reason else None))
|
62
|
-
if ok:
|
63
|
-
enabled_clouds.setdefault(cloud_repr, []).append(capability)
|
64
|
-
else:
|
65
|
-
disabled_clouds.setdefault(cloud_repr, []).append(capability)
|
66
|
-
_print_checked_cloud(echo, verbose, cloud_tuple, cloud_capabilities)
|
44
|
+
def check_one_cloud_one_capability(
|
45
|
+
payload: Tuple[Tuple[str, Union[sky_clouds.Cloud, ModuleType]],
|
46
|
+
sky_cloud.CloudCapability]
|
47
|
+
) -> Optional[Tuple[sky_cloud.CloudCapability, bool, Optional[str]]]:
|
48
|
+
cloud_tuple, capability = payload
|
49
|
+
_, cloud = cloud_tuple
|
50
|
+
try:
|
51
|
+
ok, reason = cloud.check_credentials(capability)
|
52
|
+
except exceptions.NotSupportedError:
|
53
|
+
return None
|
54
|
+
except Exception: # pylint: disable=broad-except
|
55
|
+
ok, reason = False, traceback.format_exc()
|
56
|
+
return capability, ok, reason.strip() if reason else None
|
67
57
|
|
68
58
|
def get_cloud_tuple(
|
69
59
|
cloud_name: str) -> Tuple[str, Union[sky_clouds.Cloud, ModuleType]]:
|
@@ -88,10 +78,10 @@ def check_capabilities(
|
|
88
78
|
|
89
79
|
# Use allowed_clouds from config if it exists, otherwise check all clouds.
|
90
80
|
# Also validate names with get_cloud_tuple.
|
91
|
-
config_allowed_cloud_names = [
|
81
|
+
config_allowed_cloud_names = sorted([
|
92
82
|
get_cloud_tuple(c)[0] for c in skypilot_config.get_nested((
|
93
83
|
'allowed_clouds',), get_all_clouds())
|
94
|
-
]
|
84
|
+
])
|
95
85
|
# Use disallowed_cloud_names for logging the clouds that will be disabled
|
96
86
|
# because they are not included in allowed_clouds in config.yaml.
|
97
87
|
disallowed_cloud_names = [
|
@@ -102,8 +92,30 @@ def check_capabilities(
|
|
102
92
|
c for c in clouds_to_check if c[0] in config_allowed_cloud_names
|
103
93
|
]
|
104
94
|
|
105
|
-
|
106
|
-
|
95
|
+
combinations = list(itertools.product(clouds_to_check, capabilities))
|
96
|
+
with rich_utils.safe_status('Checking Cloud(s)...'):
|
97
|
+
check_results = subprocess_utils.run_in_parallel(
|
98
|
+
check_one_cloud_one_capability, combinations)
|
99
|
+
|
100
|
+
check_results_dict: Dict[
|
101
|
+
Tuple[str, Union[sky_clouds.Cloud, ModuleType]],
|
102
|
+
List[Tuple[sky_cloud.CloudCapability, bool,
|
103
|
+
Optional[str]]]] = collections.defaultdict(list)
|
104
|
+
for combination, check_result in zip(combinations, check_results):
|
105
|
+
if check_result is None:
|
106
|
+
continue
|
107
|
+
capability, ok, _ = check_result
|
108
|
+
cloud_tuple, _ = combination
|
109
|
+
cloud_repr = cloud_tuple[0]
|
110
|
+
if ok:
|
111
|
+
enabled_clouds.setdefault(cloud_repr, []).append(capability)
|
112
|
+
else:
|
113
|
+
disabled_clouds.setdefault(cloud_repr, []).append(capability)
|
114
|
+
check_results_dict[cloud_tuple].append(check_result)
|
115
|
+
|
116
|
+
for cloud_tuple, check_result_list in sorted(check_results_dict.items(),
|
117
|
+
key=lambda item: item[0][0]):
|
118
|
+
_print_checked_cloud(echo, verbose, cloud_tuple, check_result_list)
|
107
119
|
|
108
120
|
# Determine the set of enabled clouds: (previously enabled clouds + newly
|
109
121
|
# enabled clouds - newly disabled clouds) intersected with
|
@@ -173,7 +185,8 @@ def check_capabilities(
|
|
173
185
|
if not quiet:
|
174
186
|
enabled_clouds_str = '\n ' + '\n '.join([
|
175
187
|
_format_enabled_cloud(cloud, capabilities)
|
176
|
-
for cloud, capabilities in enabled_clouds.items()
|
188
|
+
for cloud, capabilities in sorted(enabled_clouds.items(),
|
189
|
+
key=lambda item: item[0])
|
177
190
|
])
|
178
191
|
echo(f'\n{colorama.Fore.GREEN}{PARTY_POPPER_EMOJI} '
|
179
192
|
f'Enabled clouds {PARTY_POPPER_EMOJI}'
|
@@ -3450,29 +3450,53 @@ def show_gpus(
|
|
3450
3450
|
total_gpu_info: Dict[str, List[int]] = collections.defaultdict(
|
3451
3451
|
lambda: [0, 0])
|
3452
3452
|
|
3453
|
-
|
3454
|
-
|
3455
|
-
|
3456
|
-
for
|
3457
|
-
|
3458
|
-
|
3459
|
-
|
3460
|
-
|
3461
|
-
|
3462
|
-
|
3463
|
-
|
3464
|
-
|
3465
|
-
|
3466
|
-
|
3467
|
-
|
3468
|
-
|
3469
|
-
|
3470
|
-
|
3471
|
-
|
3472
|
-
|
3473
|
-
|
3474
|
-
|
3475
|
-
|
3453
|
+
# TODO(kyuds): remove backwards compatibility code (else branch)
|
3454
|
+
# when API version is bumped
|
3455
|
+
if realtime_gpu_availability_lists:
|
3456
|
+
# can't check for isinstance tuple as the tuple is converted to list
|
3457
|
+
if len(realtime_gpu_availability_lists[0]) == 2:
|
3458
|
+
for (ctx, availability_list) in realtime_gpu_availability_lists:
|
3459
|
+
realtime_gpu_table = log_utils.create_table(
|
3460
|
+
['GPU', qty_header, 'TOTAL_GPUS', free_header])
|
3461
|
+
for realtime_gpu_availability in sorted(availability_list):
|
3462
|
+
gpu_availability = models.RealtimeGpuAvailability(
|
3463
|
+
*realtime_gpu_availability)
|
3464
|
+
available_qty = (gpu_availability.available
|
3465
|
+
if gpu_availability.available != -1
|
3466
|
+
else no_permissions_str)
|
3467
|
+
realtime_gpu_table.add_row([
|
3468
|
+
gpu_availability.gpu,
|
3469
|
+
_list_to_str(gpu_availability.counts),
|
3470
|
+
gpu_availability.capacity,
|
3471
|
+
available_qty,
|
3472
|
+
])
|
3473
|
+
gpu = gpu_availability.gpu
|
3474
|
+
capacity = gpu_availability.capacity
|
3475
|
+
# we want total, so skip permission denied.
|
3476
|
+
available = max(gpu_availability.available, 0)
|
3477
|
+
if capacity > 0:
|
3478
|
+
total_gpu_info[gpu][0] += capacity
|
3479
|
+
total_gpu_info[gpu][1] += available
|
3480
|
+
realtime_gpu_infos.append((ctx, realtime_gpu_table))
|
3481
|
+
else:
|
3482
|
+
# can remove this with api server version bump.
|
3483
|
+
# 2025.05.03
|
3484
|
+
availability_list = realtime_gpu_availability_lists
|
3485
|
+
realtime_gpu_table = log_utils.create_table(
|
3486
|
+
['GPU', qty_header, 'TOTAL_GPUS', free_header])
|
3487
|
+
for realtime_gpu_availability in sorted(availability_list):
|
3488
|
+
gpu_availability = models.RealtimeGpuAvailability(
|
3489
|
+
*realtime_gpu_availability)
|
3490
|
+
available_qty = (gpu_availability.available
|
3491
|
+
if gpu_availability.available != -1 else
|
3492
|
+
no_permissions_str)
|
3493
|
+
realtime_gpu_table.add_row([
|
3494
|
+
gpu_availability.gpu,
|
3495
|
+
_list_to_str(gpu_availability.counts),
|
3496
|
+
gpu_availability.capacity,
|
3497
|
+
available_qty,
|
3498
|
+
])
|
3499
|
+
realtime_gpu_infos.append((context, realtime_gpu_table))
|
3476
3500
|
|
3477
3501
|
# display an aggregated table for all contexts
|
3478
3502
|
# if there are more than one contexts with GPUs
|
@@ -3497,15 +3521,17 @@ def show_gpus(
|
|
3497
3521
|
available = node_info.free[
|
3498
3522
|
'accelerators_available'] if node_info.free[
|
3499
3523
|
'accelerators_available'] != -1 else no_permissions_str
|
3500
|
-
|
3501
|
-
|
3502
|
-
|
3503
|
-
|
3524
|
+
total = node_info.total['accelerator_count']
|
3525
|
+
if total > 0:
|
3526
|
+
node_table.add_row([
|
3527
|
+
node_name, node_info.accelerator_type,
|
3528
|
+
node_info.total['accelerator_count'], available
|
3529
|
+
])
|
3504
3530
|
k8s_per_node_acc_message = (
|
3505
3531
|
'Kubernetes per node accelerator availability ')
|
3506
3532
|
if nodes_info.hint:
|
3507
3533
|
k8s_per_node_acc_message += nodes_info.hint
|
3508
|
-
return (f'{colorama.Fore.
|
3534
|
+
return (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
|
3509
3535
|
f'{k8s_per_node_acc_message}'
|
3510
3536
|
f'{colorama.Style.RESET_ALL}\n'
|
3511
3537
|
f'{node_table.get_string()}')
|
@@ -3557,17 +3583,21 @@ def show_gpus(
|
|
3557
3583
|
'Total Kubernetes GPUs'
|
3558
3584
|
f'{colorama.Style.RESET_ALL}\n')
|
3559
3585
|
yield from total_table.get_string()
|
3560
|
-
yield '\n
|
3586
|
+
yield '\n\n'
|
3561
3587
|
|
3562
3588
|
# print individual infos.
|
3563
|
-
for (
|
3589
|
+
for (idx,
|
3590
|
+
(ctx,
|
3591
|
+
k8s_realtime_table)) in enumerate(k8s_realtime_infos):
|
3564
3592
|
context_str = f'(Context: {ctx})' if ctx else ''
|
3565
3593
|
yield (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
|
3566
3594
|
f'Kubernetes GPUs {context_str}'
|
3567
3595
|
f'{colorama.Style.RESET_ALL}\n')
|
3568
3596
|
yield from k8s_realtime_table.get_string()
|
3569
3597
|
yield '\n\n'
|
3570
|
-
yield _format_kubernetes_node_info(ctx)
|
3598
|
+
yield _format_kubernetes_node_info(ctx)
|
3599
|
+
if idx != len(k8s_realtime_infos) - 1:
|
3600
|
+
yield '\n\n'
|
3571
3601
|
if kubernetes_autoscaling:
|
3572
3602
|
k8s_messages += (
|
3573
3603
|
'\n' + kubernetes_utils.KUBERNETES_AUTOSCALER_NOTE)
|
@@ -3669,7 +3699,7 @@ def show_gpus(
|
|
3669
3699
|
'Total Kubernetes GPUs'
|
3670
3700
|
f'{colorama.Style.RESET_ALL}\n')
|
3671
3701
|
yield from total_table.get_string()
|
3672
|
-
yield '\n
|
3702
|
+
yield '\n\n'
|
3673
3703
|
|
3674
3704
|
# print individual tables
|
3675
3705
|
for (ctx, k8s_realtime_table) in k8s_realtime_infos:
|
@@ -3450,29 +3450,53 @@ def show_gpus(
|
|
3450
3450
|
total_gpu_info: Dict[str, List[int]] = collections.defaultdict(
|
3451
3451
|
lambda: [0, 0])
|
3452
3452
|
|
3453
|
-
|
3454
|
-
|
3455
|
-
|
3456
|
-
for
|
3457
|
-
|
3458
|
-
|
3459
|
-
|
3460
|
-
|
3461
|
-
|
3462
|
-
|
3463
|
-
|
3464
|
-
|
3465
|
-
|
3466
|
-
|
3467
|
-
|
3468
|
-
|
3469
|
-
|
3470
|
-
|
3471
|
-
|
3472
|
-
|
3473
|
-
|
3474
|
-
|
3475
|
-
|
3453
|
+
# TODO(kyuds): remove backwards compatibility code (else branch)
|
3454
|
+
# when API version is bumped
|
3455
|
+
if realtime_gpu_availability_lists:
|
3456
|
+
# can't check for isinstance tuple as the tuple is converted to list
|
3457
|
+
if len(realtime_gpu_availability_lists[0]) == 2:
|
3458
|
+
for (ctx, availability_list) in realtime_gpu_availability_lists:
|
3459
|
+
realtime_gpu_table = log_utils.create_table(
|
3460
|
+
['GPU', qty_header, 'TOTAL_GPUS', free_header])
|
3461
|
+
for realtime_gpu_availability in sorted(availability_list):
|
3462
|
+
gpu_availability = models.RealtimeGpuAvailability(
|
3463
|
+
*realtime_gpu_availability)
|
3464
|
+
available_qty = (gpu_availability.available
|
3465
|
+
if gpu_availability.available != -1
|
3466
|
+
else no_permissions_str)
|
3467
|
+
realtime_gpu_table.add_row([
|
3468
|
+
gpu_availability.gpu,
|
3469
|
+
_list_to_str(gpu_availability.counts),
|
3470
|
+
gpu_availability.capacity,
|
3471
|
+
available_qty,
|
3472
|
+
])
|
3473
|
+
gpu = gpu_availability.gpu
|
3474
|
+
capacity = gpu_availability.capacity
|
3475
|
+
# we want total, so skip permission denied.
|
3476
|
+
available = max(gpu_availability.available, 0)
|
3477
|
+
if capacity > 0:
|
3478
|
+
total_gpu_info[gpu][0] += capacity
|
3479
|
+
total_gpu_info[gpu][1] += available
|
3480
|
+
realtime_gpu_infos.append((ctx, realtime_gpu_table))
|
3481
|
+
else:
|
3482
|
+
# can remove this with api server version bump.
|
3483
|
+
# 2025.05.03
|
3484
|
+
availability_list = realtime_gpu_availability_lists
|
3485
|
+
realtime_gpu_table = log_utils.create_table(
|
3486
|
+
['GPU', qty_header, 'TOTAL_GPUS', free_header])
|
3487
|
+
for realtime_gpu_availability in sorted(availability_list):
|
3488
|
+
gpu_availability = models.RealtimeGpuAvailability(
|
3489
|
+
*realtime_gpu_availability)
|
3490
|
+
available_qty = (gpu_availability.available
|
3491
|
+
if gpu_availability.available != -1 else
|
3492
|
+
no_permissions_str)
|
3493
|
+
realtime_gpu_table.add_row([
|
3494
|
+
gpu_availability.gpu,
|
3495
|
+
_list_to_str(gpu_availability.counts),
|
3496
|
+
gpu_availability.capacity,
|
3497
|
+
available_qty,
|
3498
|
+
])
|
3499
|
+
realtime_gpu_infos.append((context, realtime_gpu_table))
|
3476
3500
|
|
3477
3501
|
# display an aggregated table for all contexts
|
3478
3502
|
# if there are more than one contexts with GPUs
|
@@ -3497,15 +3521,17 @@ def show_gpus(
|
|
3497
3521
|
available = node_info.free[
|
3498
3522
|
'accelerators_available'] if node_info.free[
|
3499
3523
|
'accelerators_available'] != -1 else no_permissions_str
|
3500
|
-
|
3501
|
-
|
3502
|
-
|
3503
|
-
|
3524
|
+
total = node_info.total['accelerator_count']
|
3525
|
+
if total > 0:
|
3526
|
+
node_table.add_row([
|
3527
|
+
node_name, node_info.accelerator_type,
|
3528
|
+
node_info.total['accelerator_count'], available
|
3529
|
+
])
|
3504
3530
|
k8s_per_node_acc_message = (
|
3505
3531
|
'Kubernetes per node accelerator availability ')
|
3506
3532
|
if nodes_info.hint:
|
3507
3533
|
k8s_per_node_acc_message += nodes_info.hint
|
3508
|
-
return (f'{colorama.Fore.
|
3534
|
+
return (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
|
3509
3535
|
f'{k8s_per_node_acc_message}'
|
3510
3536
|
f'{colorama.Style.RESET_ALL}\n'
|
3511
3537
|
f'{node_table.get_string()}')
|
@@ -3557,17 +3583,21 @@ def show_gpus(
|
|
3557
3583
|
'Total Kubernetes GPUs'
|
3558
3584
|
f'{colorama.Style.RESET_ALL}\n')
|
3559
3585
|
yield from total_table.get_string()
|
3560
|
-
yield '\n
|
3586
|
+
yield '\n\n'
|
3561
3587
|
|
3562
3588
|
# print individual infos.
|
3563
|
-
for (
|
3589
|
+
for (idx,
|
3590
|
+
(ctx,
|
3591
|
+
k8s_realtime_table)) in enumerate(k8s_realtime_infos):
|
3564
3592
|
context_str = f'(Context: {ctx})' if ctx else ''
|
3565
3593
|
yield (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
|
3566
3594
|
f'Kubernetes GPUs {context_str}'
|
3567
3595
|
f'{colorama.Style.RESET_ALL}\n')
|
3568
3596
|
yield from k8s_realtime_table.get_string()
|
3569
3597
|
yield '\n\n'
|
3570
|
-
yield _format_kubernetes_node_info(ctx)
|
3598
|
+
yield _format_kubernetes_node_info(ctx)
|
3599
|
+
if idx != len(k8s_realtime_infos) - 1:
|
3600
|
+
yield '\n\n'
|
3571
3601
|
if kubernetes_autoscaling:
|
3572
3602
|
k8s_messages += (
|
3573
3603
|
'\n' + kubernetes_utils.KUBERNETES_AUTOSCALER_NOTE)
|
@@ -3669,7 +3699,7 @@ def show_gpus(
|
|
3669
3699
|
'Total Kubernetes GPUs'
|
3670
3700
|
f'{colorama.Style.RESET_ALL}\n')
|
3671
3701
|
yield from total_table.get_string()
|
3672
|
-
yield '\n
|
3702
|
+
yield '\n\n'
|
3673
3703
|
|
3674
3704
|
# print individual tables
|
3675
3705
|
for (ctx, k8s_realtime_table) in k8s_realtime_infos:
|
{skypilot_nightly-1.0.0.dev20250502 → skypilot_nightly-1.0.0.dev20250506}/sky/dashboard/out/404.html
RENAMED
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"XGMId9CZTvpE82L-EIMuY","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-6ac338bc2239cb45.js" defer=""></script><script src="/dashboard/_next/static/
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-6ac338bc2239cb45.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"XGMId9CZTvpE82L-EIMuY","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-9e60713e0c441abc.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-2db3ee3fba33dd9e.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-f383db7389368ea7.js" defer=""></script><script src="/dashboard/_next/static/
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-9e60713e0c441abc.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-2db3ee3fba33dd9e.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-f383db7389368ea7.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"XGMId9CZTvpE82L-EIMuY","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="preload" href="/dashboard/skypilot.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-9e60713e0c441abc.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js" defer=""></script><script src="/dashboard/_next/static/GWvVBSCS7FmUiVmjaL1a7/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/GWvVBSCS7FmUiVmjaL1a7/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen bg-gray-50"><div class="fixed top-0 left-0 right-0 z-50 shadow-sm"><div class="fixed top-0 left-0 right-0 bg-white z-30 h-14 px-4 border-b border-gray-200 shadow-sm"><div class="flex items-center h-full"><div class="flex items-center space-x-4 mr-6"><a class="flex items-center px-1 pt-1 h-full" href="/dashboard"><div class="h-20 w-20 flex items-center justify-center"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="w-full h-full object-contain" style="color:transparent" src="/dashboard/skypilot.svg"/></div></a></div><div class="flex items-center space-x-2 md:space-x-6 mr-6"><a class="inline-flex items-center border-b-2 border-transparent text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/clusters"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Clusters</span></a><a class="inline-flex items-center border-b-2 border-transparent hover:text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/jobs"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg><span>Jobs</span></a><div class="inline-flex items-center px-1 pt-1 text-gray-400"><svg class="w-4 h-4" viewBox="0 0 423.683 423.683" width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M54.376,287.577h310.459c26.48,0,48.02-13.979,48.02-40.453c0-17.916-10.001-34.07-25.559-42.292 c-19.021-72.951-86.061-125.196-162.002-125.223v-3.431h-3.854V61.814h3.854v-9.569h-31.38v9.569h3.854v14.363h-3.854v3.431 c-75.941,0.026-142.97,52.272-161.988,125.217c-15.56,8.216-25.573,24.376-25.573,42.291 C6.36,273.597,27.896,287.577,54.376,287.577z M47.676,227.145l7.214-2.424l1.617-7.447 c13.884-64.232,71.707-110.862,137.467-110.862h31.274c65.763,0,123.582,46.63,137.473,110.862l1.607,7.447l7.223,2.424 c8.678,2.92,14.506,10.946,14.506,19.979c0,11.703-9.517,13.647-21.221,13.647H54.376c-11.7,0-21.22-1.944-21.22-13.647 C33.162,238.091,38.984,230.065,47.676,227.145z M423.683,334.602v36.836H0v-36.836h25.348v-18.418h372.99v18.418H423.683z"></path></g></g></svg><span class="ml-2">Services</span><span class="text-xs ml-2 px-1.5 py-0.5 bg-gray-100 text-gray-500 rounded">Soon</span></div></div><div class="flex items-center space-x-1 ml-auto"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-2 py-1 text-gray-600 hover:text-blue-600 transition-colors duration-150 cursor-pointer" title="Docs"><span class="mr-1">Docs</span><svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a><div class="border-l border-gray-200 h-6 mx-1"></div><a href="https://github.com/skypilot-org/skypilot" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="GitHub"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://slack.skypilot.co/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Slack"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path transform="scale(0.85) translate(1.8, 1.8)" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg></a><a href="https://github.com/skypilot-org/skypilot/issues/new" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Leave Feedback"><svg class="w-5 h-5" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z"></path></g></svg></a></div></div></div></div><div class="transition-all duration-200 ease-in-out min-h-screen" style="padding-top:56px"><main class="p-6"><div class="flex items-center justify-between mb-4 h-5"><div class="text-base"><a class="text-sky-blue hover:underline leading-none" href="/dashboard/clusters">Sky Clusters</a></div><div class="flex items-center"><button class="justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent h-10 px-4 py-2 text-sky-blue hover:text-sky-blue-bright flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw h-4 w-4 mr-1.5"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg><span>Refresh</span></button></div></div><div><div class="rounded-lg border bg-card text-card-foreground shadow-sm"><div class="relative w-full overflow-auto"><table class="w-full caption-bottom text-base"><thead class="[&_tr]:border-b"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Status</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Cluster</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">User</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Resources</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Region</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Started</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0">Actions</th></tr></thead><tbody class="[&_tr:last-child]:border-0"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><td class="p-4 align-middle [&:has([role=checkbox])]:pr-0 text-center py-6 text-gray-500" colSpan="8">No active clusters</td></tr></tbody></table></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"GWvVBSCS7FmUiVmjaL1a7","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="preload" href="/dashboard/skypilot.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-9e60713e0c441abc.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen bg-gray-50"><div class="fixed top-0 left-0 right-0 z-50 shadow-sm"><div class="fixed top-0 left-0 right-0 bg-white z-30 h-14 px-4 border-b border-gray-200 shadow-sm"><div class="flex items-center h-full"><div class="flex items-center space-x-4 mr-6"><a class="flex items-center px-1 pt-1 h-full" href="/dashboard"><div class="h-20 w-20 flex items-center justify-center"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="w-full h-full object-contain" style="color:transparent" src="/dashboard/skypilot.svg"/></div></a></div><div class="flex items-center space-x-2 md:space-x-6 mr-6"><a class="inline-flex items-center border-b-2 border-transparent text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/clusters"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Clusters</span></a><a class="inline-flex items-center border-b-2 border-transparent hover:text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/jobs"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg><span>Jobs</span></a><div class="inline-flex items-center px-1 pt-1 text-gray-400"><svg class="w-4 h-4" viewBox="0 0 423.683 423.683" width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M54.376,287.577h310.459c26.48,0,48.02-13.979,48.02-40.453c0-17.916-10.001-34.07-25.559-42.292 c-19.021-72.951-86.061-125.196-162.002-125.223v-3.431h-3.854V61.814h3.854v-9.569h-31.38v9.569h3.854v14.363h-3.854v3.431 c-75.941,0.026-142.97,52.272-161.988,125.217c-15.56,8.216-25.573,24.376-25.573,42.291 C6.36,273.597,27.896,287.577,54.376,287.577z M47.676,227.145l7.214-2.424l1.617-7.447 c13.884-64.232,71.707-110.862,137.467-110.862h31.274c65.763,0,123.582,46.63,137.473,110.862l1.607,7.447l7.223,2.424 c8.678,2.92,14.506,10.946,14.506,19.979c0,11.703-9.517,13.647-21.221,13.647H54.376c-11.7,0-21.22-1.944-21.22-13.647 C33.162,238.091,38.984,230.065,47.676,227.145z M423.683,334.602v36.836H0v-36.836h25.348v-18.418h372.99v18.418H423.683z"></path></g></g></svg><span class="ml-2">Services</span><span class="text-xs ml-2 px-1.5 py-0.5 bg-gray-100 text-gray-500 rounded">Soon</span></div></div><div class="flex items-center space-x-1 ml-auto"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-2 py-1 text-gray-600 hover:text-blue-600 transition-colors duration-150 cursor-pointer" title="Docs"><span class="mr-1">Docs</span><svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a><div class="border-l border-gray-200 h-6 mx-1"></div><a href="https://github.com/skypilot-org/skypilot" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="GitHub"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://slack.skypilot.co/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Slack"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path transform="scale(0.85) translate(1.8, 1.8)" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg></a><a href="https://github.com/skypilot-org/skypilot/issues/new" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Leave Feedback"><svg class="w-5 h-5" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z"></path></g></svg></a></div></div></div></div><div class="transition-all duration-200 ease-in-out min-h-screen" style="padding-top:56px"><main class="p-6"><div class="flex items-center justify-between mb-4 h-5"><div class="text-base"><a class="text-sky-blue hover:underline leading-none" href="/dashboard/clusters">Sky Clusters</a></div><div class="flex items-center"><button class="justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent h-10 px-4 py-2 text-sky-blue hover:text-sky-blue-bright flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw h-4 w-4 mr-1.5"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg><span>Refresh</span></button></div></div><div><div class="rounded-lg border bg-card text-card-foreground shadow-sm"><div class="relative w-full overflow-auto"><table class="w-full caption-bottom text-base"><thead class="[&_tr]:border-b"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Status</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Cluster</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">User</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Resources</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Region</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Started</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&:has([role=checkbox])]:pr-0">Actions</th></tr></thead><tbody class="[&_tr:last-child]:border-0"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><td class="p-4 align-middle [&:has([role=checkbox])]:pr-0 text-center py-6 text-gray-500" colSpan="8">No active clusters</td></tr></tbody></table></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"XGMId9CZTvpE82L-EIMuY","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-f9f039532ca8cbc4.js" defer=""></script><script src="/dashboard/_next/static/
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-f9f039532ca8cbc4.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"XGMId9CZTvpE82L-EIMuY","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-1c519e1afc523dc9.js" defer=""></script><script src="/dashboard/_next/static/
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-1c519e1afc523dc9.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/XGMId9CZTvpE82L-EIMuY/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"XGMId9CZTvpE82L-EIMuY","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|