skypilot-nightly 1.0.0.dev20250823__tar.gz → 1.0.0.dev20250825__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of skypilot-nightly might be problematic. Click here for more details.
- {skypilot_nightly-1.0.0.dev20250823/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250825}/PKG-INFO +5 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/kubernetes.py +4 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +1 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/404.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/clusters/[cluster].html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/clusters.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/config.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/index.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/infra/[context].html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/infra.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/jobs/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/jobs.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/users.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/volumes.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/workspace/new.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/workspaces/[name].html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/workspaces.html +1 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/exceptions.py +12 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/utils.py +176 -34
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/autoscalers.py +347 -5
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/controller.py +36 -6
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/load_balancer.py +49 -16
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/load_balancing_policies.py +115 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/service.py +2 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/service_spec.py +26 -4
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/setup_files/dependencies.py +4 -2
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/schemas.py +18 -2
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825/skypilot_nightly.egg-info}/PKG-INFO +5 -1
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/skypilot_nightly.egg-info/SOURCES.txt +2 -2
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/skypilot_nightly.egg-info/requires.txt +3 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_config.py +3 -3
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/README.md +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/backends/backend_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/backends/cloud_vm_ray_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/analyze.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/do_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/hyperbolic_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/kubernetes_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/nebius_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/ssh_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/vast_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/check.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/cli/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/cli/command.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/cli/deprecation_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/cli/flags.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/cli/git.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/oauth.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/client/service_account_auth.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/ssh.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/1121-8afcf719ea87debc.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/1141-943efc7aff0f0c06.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/3015-6c9c09593b1e67b6.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/3785.d5b86f6ebc88e6e6.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/4783.c485f48348349f47.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/6856-049014c6d43d127b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/6990-08b2a1cae076a943.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/7205-88191679e7988c57.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/8969-4a6f1a928fb6d370.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/9025.a1bef12d672bb66d.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/9037-89a84fd7fa31362d.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/9946.3b7b43c217ff70ec.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/9984.7eb6cc51fb460cae.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-06afb50d25f7c61f.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-a0527109c2fab467.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-81351f95f3bec08e.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/infra-c320641c2bcbbea6.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/jobs-7421e63ac35f8fce.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-de06e613e20bc977.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/pages/workspaces-be35b22e2046564c.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/chunks/webpack-6e76f636a048e145.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -0
- {skypilot_nightly-1.0.0.dev20250823/sky/dashboard/out/_next/static/UQeqZCi6L_itwVPDcn3ba → skypilot_nightly-1.0.0.dev20250825/sky/dashboard/out/_next/static/n7XGGtvnHqbVUS8eayoGG}/_buildManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823/sky/dashboard/out/_next/static/UQeqZCi6L_itwVPDcn3ba → skypilot_nightly-1.0.0.dev20250825/sky/dashboard/out/_next/static/n7XGGtvnHqbVUS8eayoGG}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/skypilot.svg +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/recovery_strategy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/scheduler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/server/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/jobs/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/logs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/logs/agent.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/logs/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/logs/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/metrics/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/metrics/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/models.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/optimizer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/do/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/do/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/do/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/do/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/do/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/gcp/volume_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/hyperbolic/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/hyperbolic/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/hyperbolic/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/hyperbolic/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/instance_setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/kubernetes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/nebius/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/nebius/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/nebius/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/nebius/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/nebius/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/runpod/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/runpod/api/commands.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/runpod/api/pods.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/scp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/ssh/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vast/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vast/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vast/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vast/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/py.typed +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/resources.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/api/responses.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/README +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/env.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/script.py.mako +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/generated/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/generated/autostopv1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/client/impl.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/serve_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/server/impl.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/serve/spot_placer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/auth/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/auth/authn.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/auth/oauth2_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/daemons.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/html/log.html +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/html/token_page.html +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/metrics.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/event_loop.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/executor.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/payloads.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/preconditions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/process.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/queues/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/queues/local_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/queues/mp_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/requests.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/serializers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/serializers/decoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/requests/serializers/encoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/rest.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/stream_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/uvicorn.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/server/versions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/setup_files/alembic.ini +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/sky_logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/log_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/log_lib.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/cli.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/updater.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/worker.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/services.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/ssh_node_pools/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/ssh_node_pools/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/ssh_node_pools/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/task.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/do-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/kubernetes-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/nebius-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/vast-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/templates/websocket_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/users/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/users/model.conf +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/users/permission.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/users/rbac.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/users/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/users/token_service.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/annotations.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/atomic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/aws/get_default_security_group.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/cluster_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/common_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/config_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/context.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/context_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/controller_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/db/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/db/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/db/migration_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/directory_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/git.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/git_clone.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/infra_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/config_map_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/gpu_labeler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes/ssh_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/locks.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/message_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/resource_checker.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/rich_console_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/serialize_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/subprocess_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/tempstore.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/utils/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/volumes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/volumes/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/volumes/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/volumes/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/volumes/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/volumes/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/volumes/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/volumes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/workspaces/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/workspaces/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/workspaces/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/workspaces/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_api_compatibility.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_failover.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_no_parellel.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_smoke.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/tests/test_yaml_parser.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: skypilot-nightly
|
|
3
|
-
Version: 1.0.0.
|
|
3
|
+
Version: 1.0.0.dev20250825
|
|
4
4
|
Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
|
|
5
5
|
Author: SkyPilot Team
|
|
6
6
|
License: Apache 2.0
|
|
@@ -100,9 +100,11 @@ Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "oci"
|
|
|
100
100
|
Provides-Extra: kubernetes
|
|
101
101
|
Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "kubernetes"
|
|
102
102
|
Requires-Dist: websockets; extra == "kubernetes"
|
|
103
|
+
Requires-Dist: python-dateutil; extra == "kubernetes"
|
|
103
104
|
Provides-Extra: ssh
|
|
104
105
|
Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "ssh"
|
|
105
106
|
Requires-Dist: websockets; extra == "ssh"
|
|
107
|
+
Requires-Dist: python-dateutil; extra == "ssh"
|
|
106
108
|
Provides-Extra: remote
|
|
107
109
|
Requires-Dist: grpcio>=1.63.0; extra == "remote"
|
|
108
110
|
Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "remote"
|
|
@@ -168,8 +170,10 @@ Requires-Dist: oci; extra == "all"
|
|
|
168
170
|
Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
|
|
169
171
|
Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
|
|
170
172
|
Requires-Dist: websockets; extra == "all"
|
|
173
|
+
Requires-Dist: python-dateutil; extra == "all"
|
|
171
174
|
Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
|
|
172
175
|
Requires-Dist: websockets; extra == "all"
|
|
176
|
+
Requires-Dist: python-dateutil; extra == "all"
|
|
173
177
|
Requires-Dist: grpcio>=1.63.0; extra == "all"
|
|
174
178
|
Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
|
|
175
179
|
Requires-Dist: runpod>=1.6.1; extra == "all"
|
|
@@ -7,7 +7,7 @@ import urllib.request
|
|
|
7
7
|
from sky.utils import directory_utils
|
|
8
8
|
|
|
9
9
|
# Replaced with the current commit when building the wheels.
|
|
10
|
-
_SKYPILOT_COMMIT_SHA = '
|
|
10
|
+
_SKYPILOT_COMMIT_SHA = '30124b0443e392a3ace7377123d3694b8fb2982f'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _get_git_commit():
|
|
@@ -37,7 +37,7 @@ def _get_git_commit():
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
__commit__ = _get_git_commit()
|
|
40
|
-
__version__ = '1.0.0.
|
|
40
|
+
__version__ = '1.0.0.dev20250825'
|
|
41
41
|
__root_dir__ = directory_utils.get_sky_dir()
|
|
42
42
|
|
|
43
43
|
|
{skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/adaptors/kubernetes.py
RENAMED
|
@@ -14,8 +14,12 @@ _IMPORT_ERROR_MESSAGE = ('Failed to import dependencies for Kubernetes. '
|
|
|
14
14
|
'Try running: pip install "skypilot[kubernetes]"')
|
|
15
15
|
kubernetes = common.LazyImport('kubernetes',
|
|
16
16
|
import_error_message=_IMPORT_ERROR_MESSAGE)
|
|
17
|
+
models = common.LazyImport('kubernetes.client.models',
|
|
18
|
+
import_error_message=_IMPORT_ERROR_MESSAGE)
|
|
17
19
|
urllib3 = common.LazyImport('urllib3',
|
|
18
20
|
import_error_message=_IMPORT_ERROR_MESSAGE)
|
|
21
|
+
dateutil_parser = common.LazyImport('dateutil.parser',
|
|
22
|
+
import_error_message=_IMPORT_ERROR_MESSAGE)
|
|
19
23
|
|
|
20
24
|
# Timeout to use for API calls
|
|
21
25
|
API_TIMEOUT = 5
|
{skypilot_nightly-1.0.0.dev20250823 → skypilot_nightly-1.0.0.dev20250825}/sky/dashboard/out/404.html
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-06afb50d25f7c61f.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-06afb50d25f7c61f.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/4676-9da7fdbde90b5549.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-08b2a1cae076a943.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-8afcf719ea87debc.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-049014c6d43d127b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-6c9c09593b1e67b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/9037-89a84fd7fa31362d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-a0527109c2fab467.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/4676-9da7fdbde90b5549.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-08b2a1cae076a943.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-8afcf719ea87debc.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-049014c6d43d127b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-6c9c09593b1e67b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/9037-89a84fd7fa31362d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-a0527109c2fab467.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-469814d711d63b1b.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-469814d711d63b1b.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-81351f95f3bec08e.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-81351f95f3bec08e.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-c320641c2bcbbea6.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-c320641c2bcbbea6.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-dd64309c3fe67ed2.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-dd64309c3fe67ed2.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-07349868f7905d37.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-07349868f7905d37.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/pools/[pool]","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-7421e63ac35f8fce.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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-7421e63ac35f8fce.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-018bf31cda52e11b.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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-018bf31cda52e11b.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-739726d6b823f532.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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-739726d6b823f532.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7205-88191679e7988c57.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-08b2a1cae076a943.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-8afcf719ea87debc.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-6c9c09593b1e67b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-943efc7aff0f0c06.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-de06e613e20bc977.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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7205-88191679e7988c57.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-4a6f1a928fb6d370.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-08b2a1cae076a943.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-8afcf719ea87debc.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-6c9c09593b1e67b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-943efc7aff0f0c06.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-de06e613e20bc977.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-be35b22e2046564c.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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6e76f636a048e145.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-be35b22e2046564c.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/n7XGGtvnHqbVUS8eayoGG/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"n7XGGtvnHqbVUS8eayoGG","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -180,6 +180,18 @@ class KubeAPIUnreachableError(ResourcesUnavailableError):
|
|
|
180
180
|
pass
|
|
181
181
|
|
|
182
182
|
|
|
183
|
+
class KubernetesValidationError(Exception):
|
|
184
|
+
"""Raised when the Kubernetes validation fails.
|
|
185
|
+
|
|
186
|
+
It stores a list of strings that represent the path to the field which
|
|
187
|
+
caused the validation error.
|
|
188
|
+
"""
|
|
189
|
+
|
|
190
|
+
def __init__(self, path: List[str], message: str):
|
|
191
|
+
super().__init__(message)
|
|
192
|
+
self.path = path
|
|
193
|
+
|
|
194
|
+
|
|
183
195
|
class InvalidCloudConfigs(Exception):
|
|
184
196
|
"""Raised when invalid configurations are provided for a given cloud."""
|
|
185
197
|
pass
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""Kubernetes utilities for SkyPilot."""
|
|
2
2
|
import dataclasses
|
|
3
|
+
import datetime
|
|
3
4
|
import enum
|
|
4
5
|
import functools
|
|
5
6
|
import hashlib
|
|
@@ -1656,50 +1657,191 @@ def check_credentials(context: Optional[str],
|
|
|
1656
1657
|
return True, None
|
|
1657
1658
|
|
|
1658
1659
|
|
|
1660
|
+
class PodValidator:
|
|
1661
|
+
"""Validates Kubernetes pod configs against the OpenAPI spec.
|
|
1662
|
+
|
|
1663
|
+
Adapted from kubernetes.client.ApiClient:
|
|
1664
|
+
https://github.com/kubernetes-client/python/blob/0c56ef1c8c4b50087bc7b803f6af896fb973309e/kubernetes/client/api_client.py#L33
|
|
1665
|
+
|
|
1666
|
+
We needed to adapt it because the original implementation ignores
|
|
1667
|
+
unknown fields, whereas we want to raise an error so that users
|
|
1668
|
+
are aware of the issue.
|
|
1669
|
+
"""
|
|
1670
|
+
PRIMITIVE_TYPES = (int, float, bool, str)
|
|
1671
|
+
NATIVE_TYPES_MAPPING = {
|
|
1672
|
+
'int': int,
|
|
1673
|
+
'float': float,
|
|
1674
|
+
'str': str,
|
|
1675
|
+
'bool': bool,
|
|
1676
|
+
'date': datetime.date,
|
|
1677
|
+
'datetime': datetime.datetime,
|
|
1678
|
+
'object': object,
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
@classmethod
|
|
1682
|
+
def validate(cls, data):
|
|
1683
|
+
return cls.__validate(data, kubernetes.models.V1Pod)
|
|
1684
|
+
|
|
1685
|
+
@classmethod
|
|
1686
|
+
def __validate(cls, data, klass):
|
|
1687
|
+
"""Deserializes dict, list, str into an object.
|
|
1688
|
+
|
|
1689
|
+
:param data: dict, list or str.
|
|
1690
|
+
:param klass: class literal, or string of class name.
|
|
1691
|
+
|
|
1692
|
+
:return: object.
|
|
1693
|
+
"""
|
|
1694
|
+
if data is None:
|
|
1695
|
+
return None
|
|
1696
|
+
|
|
1697
|
+
if isinstance(klass, str):
|
|
1698
|
+
if klass.startswith('list['):
|
|
1699
|
+
sub_kls = re.match(r'list\[(.*)\]', klass).group(1)
|
|
1700
|
+
return [cls.__validate(sub_data, sub_kls) for sub_data in data]
|
|
1701
|
+
|
|
1702
|
+
if klass.startswith('dict('):
|
|
1703
|
+
sub_kls = re.match(r'dict\(([^,]*), (.*)\)', klass).group(2)
|
|
1704
|
+
return {k: cls.__validate(v, sub_kls) for k, v in data.items()}
|
|
1705
|
+
|
|
1706
|
+
# convert str to class
|
|
1707
|
+
if klass in cls.NATIVE_TYPES_MAPPING:
|
|
1708
|
+
klass = cls.NATIVE_TYPES_MAPPING[klass]
|
|
1709
|
+
else:
|
|
1710
|
+
klass = getattr(kubernetes.models, klass)
|
|
1711
|
+
|
|
1712
|
+
if klass in cls.PRIMITIVE_TYPES:
|
|
1713
|
+
return cls.__validate_primitive(data, klass)
|
|
1714
|
+
elif klass == object:
|
|
1715
|
+
return cls.__validate_object(data)
|
|
1716
|
+
elif klass == datetime.date:
|
|
1717
|
+
return cls.__validate_date(data)
|
|
1718
|
+
elif klass == datetime.datetime:
|
|
1719
|
+
return cls.__validate_datetime(data)
|
|
1720
|
+
else:
|
|
1721
|
+
return cls.__validate_model(data, klass)
|
|
1722
|
+
|
|
1723
|
+
@classmethod
|
|
1724
|
+
def __validate_primitive(cls, data, klass):
|
|
1725
|
+
"""Deserializes string to primitive type.
|
|
1726
|
+
|
|
1727
|
+
:param data: str.
|
|
1728
|
+
:param klass: class literal.
|
|
1729
|
+
|
|
1730
|
+
:return: int, long, float, str, bool.
|
|
1731
|
+
"""
|
|
1732
|
+
try:
|
|
1733
|
+
return klass(data)
|
|
1734
|
+
except UnicodeEncodeError:
|
|
1735
|
+
return str(data)
|
|
1736
|
+
except TypeError:
|
|
1737
|
+
return data
|
|
1738
|
+
|
|
1739
|
+
@classmethod
|
|
1740
|
+
def __validate_object(cls, value):
|
|
1741
|
+
"""Return an original value.
|
|
1742
|
+
|
|
1743
|
+
:return: object.
|
|
1744
|
+
"""
|
|
1745
|
+
return value
|
|
1746
|
+
|
|
1747
|
+
@classmethod
|
|
1748
|
+
def __validate_date(cls, string):
|
|
1749
|
+
"""Deserializes string to date.
|
|
1750
|
+
|
|
1751
|
+
:param string: str.
|
|
1752
|
+
:return: date.
|
|
1753
|
+
"""
|
|
1754
|
+
try:
|
|
1755
|
+
return kubernetes.dateutil_parser.parse(string).date()
|
|
1756
|
+
except ValueError as exc:
|
|
1757
|
+
raise ValueError(
|
|
1758
|
+
f'Failed to parse `{string}` as date object') from exc
|
|
1759
|
+
|
|
1760
|
+
@classmethod
|
|
1761
|
+
def __validate_datetime(cls, string):
|
|
1762
|
+
"""Deserializes string to datetime.
|
|
1763
|
+
|
|
1764
|
+
The string should be in iso8601 datetime format.
|
|
1765
|
+
|
|
1766
|
+
:param string: str.
|
|
1767
|
+
:return: datetime.
|
|
1768
|
+
"""
|
|
1769
|
+
try:
|
|
1770
|
+
return kubernetes.dateutil_parser.parse(string)
|
|
1771
|
+
except ValueError as exc:
|
|
1772
|
+
raise ValueError(
|
|
1773
|
+
f'Failed to parse `{string}` as datetime object') from exc
|
|
1774
|
+
|
|
1775
|
+
@classmethod
|
|
1776
|
+
def __validate_model(cls, data, klass):
|
|
1777
|
+
"""Deserializes list or dict to model.
|
|
1778
|
+
|
|
1779
|
+
:param data: dict, list.
|
|
1780
|
+
:param klass: class literal.
|
|
1781
|
+
:return: model object.
|
|
1782
|
+
"""
|
|
1783
|
+
|
|
1784
|
+
if not klass.openapi_types and not hasattr(klass,
|
|
1785
|
+
'get_real_child_model'):
|
|
1786
|
+
return data
|
|
1787
|
+
|
|
1788
|
+
kwargs = {}
|
|
1789
|
+
try:
|
|
1790
|
+
if (data is not None and klass.openapi_types is not None and
|
|
1791
|
+
isinstance(data, (list, dict))):
|
|
1792
|
+
# attribute_map is a dict that maps field names in snake_case
|
|
1793
|
+
# to camelCase.
|
|
1794
|
+
reverse_attribute_map = {
|
|
1795
|
+
v: k for k, v in klass.attribute_map.items()
|
|
1796
|
+
}
|
|
1797
|
+
for k, v in data.items():
|
|
1798
|
+
field_name = reverse_attribute_map.get(k, None)
|
|
1799
|
+
if field_name is None:
|
|
1800
|
+
raise ValueError(
|
|
1801
|
+
f'Unknown field `{k}`. Please ensure '
|
|
1802
|
+
'pod_config follows the Kubernetes '
|
|
1803
|
+
'Pod schema: '
|
|
1804
|
+
'https://github.com/kubernetes/kubernetes/blob/master/api/openapi-spec/v3/api__v1_openapi.json'
|
|
1805
|
+
)
|
|
1806
|
+
kwargs[field_name] = cls.__validate(
|
|
1807
|
+
v, klass.openapi_types[field_name])
|
|
1808
|
+
except exceptions.KubernetesValidationError as e:
|
|
1809
|
+
raise exceptions.KubernetesValidationError([k] + e.path,
|
|
1810
|
+
str(e)) from e
|
|
1811
|
+
except Exception as e:
|
|
1812
|
+
raise exceptions.KubernetesValidationError([k], str(e)) from e
|
|
1813
|
+
|
|
1814
|
+
instance = klass(**kwargs)
|
|
1815
|
+
|
|
1816
|
+
if hasattr(instance, 'get_real_child_model'):
|
|
1817
|
+
klass_name = instance.get_real_child_model(data)
|
|
1818
|
+
if klass_name:
|
|
1819
|
+
instance = cls.__validate(data, klass_name)
|
|
1820
|
+
return instance
|
|
1821
|
+
|
|
1659
1822
|
def check_pod_config(pod_config: dict) \
|
|
1660
1823
|
-> Tuple[bool, Optional[str]]:
|
|
1661
|
-
"""Check if the pod_config is a valid pod config
|
|
1824
|
+
"""Check if the pod_config is a valid pod config.
|
|
1825
|
+
|
|
1826
|
+
Uses the deserialize API from the kubernetes client library.
|
|
1827
|
+
|
|
1828
|
+
This is a client-side validation, meant to catch common errors like
|
|
1829
|
+
unknown/misspelled fields, and missing required fields.
|
|
1662
1830
|
|
|
1663
|
-
|
|
1831
|
+
The full validation however is done later on by the Kubernetes API server
|
|
1832
|
+
when the pod creation request is sent.
|
|
1664
1833
|
|
|
1665
1834
|
Returns:
|
|
1666
1835
|
bool: True if pod_config is valid.
|
|
1667
1836
|
str: Error message about why the pod_config is invalid, None otherwise.
|
|
1668
1837
|
"""
|
|
1669
|
-
errors = []
|
|
1670
|
-
# This api_client won't be used to send any requests, so there is no need to
|
|
1671
|
-
# load kubeconfig
|
|
1672
|
-
api_client = kubernetes.kubernetes.client.ApiClient()
|
|
1673
|
-
|
|
1674
|
-
# Used for kubernetes api_client deserialize function, the function will use
|
|
1675
|
-
# data attr, the detail ref:
|
|
1676
|
-
# https://github.com/kubernetes-client/python/blob/master/kubernetes/client/api_client.py#L244
|
|
1677
|
-
class InnerResponse():
|
|
1678
|
-
|
|
1679
|
-
def __init__(self, data: dict):
|
|
1680
|
-
self.data = json.dumps(data)
|
|
1681
|
-
|
|
1682
1838
|
try:
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
value = InnerResponse(pod_config['metadata'])
|
|
1687
|
-
api_client.deserialize(
|
|
1688
|
-
value, kubernetes.kubernetes.client.V1ObjectMeta)
|
|
1689
|
-
except ValueError as e:
|
|
1690
|
-
errors.append(f'Invalid metadata: {str(e)}')
|
|
1691
|
-
# Validate spec if present
|
|
1692
|
-
if 'spec' in pod_config:
|
|
1693
|
-
try:
|
|
1694
|
-
value = InnerResponse(pod_config['spec'])
|
|
1695
|
-
api_client.deserialize(value,
|
|
1696
|
-
kubernetes.kubernetes.client.V1PodSpec)
|
|
1697
|
-
except ValueError as e:
|
|
1698
|
-
errors.append(f'Invalid spec: {str(e)}')
|
|
1699
|
-
return len(errors) == 0, '.'.join(errors)
|
|
1839
|
+
PodValidator.validate(pod_config)
|
|
1840
|
+
except exceptions.KubernetesValidationError as e:
|
|
1841
|
+
return False, f'Validation error in {".".join(e.path)}: {str(e)}'
|
|
1700
1842
|
except Exception as e: # pylint: disable=broad-except
|
|
1701
|
-
|
|
1702
|
-
|
|
1843
|
+
return False, f'Unexpected error: {str(e)}'
|
|
1844
|
+
return True, None
|
|
1703
1845
|
|
|
1704
1846
|
|
|
1705
1847
|
def is_kubeconfig_exec_auth(
|