skypilot-nightly 1.0.0.dev20250906__py3-none-any.whl → 1.0.0.dev20250907__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (40) hide show
  1. sky/__init__.py +2 -2
  2. sky/adaptors/common.py +24 -1
  3. sky/adaptors/do.py +8 -2
  4. sky/clouds/aws.py +4 -6
  5. sky/clouds/azure.py +12 -13
  6. sky/clouds/cudo.py +4 -8
  7. sky/clouds/do.py +5 -6
  8. sky/clouds/nebius.py +1 -1
  9. sky/clouds/oci.py +7 -7
  10. sky/clouds/runpod.py +59 -18
  11. sky/clouds/vast.py +21 -22
  12. sky/clouds/vsphere.py +10 -15
  13. sky/dashboard/out/404.html +1 -1
  14. sky/dashboard/out/_next/static/chunks/{webpack-8df25bce0107f4bd.js → webpack-6f5f27e9d7900777.js} +1 -1
  15. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  16. sky/dashboard/out/clusters/[cluster].html +1 -1
  17. sky/dashboard/out/clusters.html +1 -1
  18. sky/dashboard/out/config.html +1 -1
  19. sky/dashboard/out/index.html +1 -1
  20. sky/dashboard/out/infra/[context].html +1 -1
  21. sky/dashboard/out/infra.html +1 -1
  22. sky/dashboard/out/jobs/[job].html +1 -1
  23. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  24. sky/dashboard/out/jobs.html +1 -1
  25. sky/dashboard/out/users.html +1 -1
  26. sky/dashboard/out/volumes.html +1 -1
  27. sky/dashboard/out/workspace/new.html +1 -1
  28. sky/dashboard/out/workspaces/[name].html +1 -1
  29. sky/dashboard/out/workspaces.html +1 -1
  30. sky/server/daemons.py +2 -0
  31. sky/server/requests/executor.py +7 -0
  32. sky/utils/common_utils.py +18 -0
  33. {skypilot_nightly-1.0.0.dev20250906.dist-info → skypilot_nightly-1.0.0.dev20250907.dist-info}/METADATA +33 -33
  34. {skypilot_nightly-1.0.0.dev20250906.dist-info → skypilot_nightly-1.0.0.dev20250907.dist-info}/RECORD +40 -40
  35. /sky/dashboard/out/_next/static/{ZOaq9s6U49jSoGAMkeKqu → i60KpqkwvB9QVScj-NeKo}/_buildManifest.js +0 -0
  36. /sky/dashboard/out/_next/static/{ZOaq9s6U49jSoGAMkeKqu → i60KpqkwvB9QVScj-NeKo}/_ssgManifest.js +0 -0
  37. {skypilot_nightly-1.0.0.dev20250906.dist-info → skypilot_nightly-1.0.0.dev20250907.dist-info}/WHEEL +0 -0
  38. {skypilot_nightly-1.0.0.dev20250906.dist-info → skypilot_nightly-1.0.0.dev20250907.dist-info}/entry_points.txt +0 -0
  39. {skypilot_nightly-1.0.0.dev20250906.dist-info → skypilot_nightly-1.0.0.dev20250907.dist-info}/licenses/LICENSE +0 -0
  40. {skypilot_nightly-1.0.0.dev20250906.dist-info → skypilot_nightly-1.0.0.dev20250907.dist-info}/top_level.txt +0 -0
sky/__init__.py CHANGED
@@ -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 = '5f5c370acf6a60ccb53feb289f87f77ae0960e3b'
10
+ _SKYPILOT_COMMIT_SHA = '430be1ad2ab1c3b0cd6d2aab3ce228dbebe562ee'
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.dev20250906'
40
+ __version__ = '1.0.0.dev20250907'
41
41
  __root_dir__ = directory_utils.get_sky_dir()
42
42
 
43
43
 
sky/adaptors/common.py CHANGED
@@ -1,9 +1,10 @@
1
1
  """Lazy import for modules to avoid import error when not used."""
2
+ from importlib import util as importlib_util
2
3
  import functools
3
4
  import importlib
4
5
  import threading
5
6
  import types
6
- from typing import Any, Callable, Optional, Tuple
7
+ from typing import Any, Callable, List, Optional, Tuple
7
8
 
8
9
 
9
10
  class LazyImport(types.ModuleType):
@@ -78,3 +79,25 @@ def load_lazy_modules(modules: Tuple[LazyImport, ...]):
78
79
  return wrapper
79
80
 
80
81
  return decorator
82
+
83
+
84
+ def can_import_modules(module_names: List[str]) -> bool:
85
+ """ module availability without actually importing it to
86
+ save memory footprint.
87
+
88
+ Args:
89
+ module_names: List[str], the names of the modules to check.
90
+
91
+ Returns:
92
+ True if all modules are available, False otherwise.
93
+ If a module exists in sys.modules, but is set to None,
94
+ then it is considered as not available.
95
+ """
96
+ try:
97
+ for module_name in module_names:
98
+ module_spec = importlib_util.find_spec(module_name)
99
+ if module_spec is None:
100
+ return False
101
+ return True
102
+ except ValueError:
103
+ return False
sky/adaptors/do.py CHANGED
@@ -1,7 +1,5 @@
1
1
  """Digital Ocean cloud adaptors"""
2
2
 
3
- # pylint: disable=import-outside-toplevel
4
-
5
3
  from sky.adaptors import common
6
4
 
7
5
  _IMPORT_ERROR_MESSAGE = ('Failed to import dependencies for DO. '
@@ -16,5 +14,13 @@ _LAZY_MODULES = (pydo, azure)
16
14
  @common.load_lazy_modules(modules=_LAZY_MODULES)
17
15
  def exceptions():
18
16
  """Azure exceptions."""
17
+ # pylint: disable=import-outside-toplevel
19
18
  from azure.core import exceptions as azure_exceptions
20
19
  return azure_exceptions
20
+
21
+
22
+ def check_exceptions_dependencies_installed():
23
+ """Check if the azure.core.exceptions module is installed."""
24
+ if not common.can_import_modules(['azure.core.exceptions']):
25
+ return False, _IMPORT_ERROR_MESSAGE
26
+ return True, None
sky/clouds/aws.py CHANGED
@@ -17,6 +17,7 @@ from sky import provision as provision_lib
17
17
  from sky import sky_logging
18
18
  from sky import skypilot_config
19
19
  from sky.adaptors import aws
20
+ from sky.adaptors import common
20
21
  from sky.catalog import common as catalog_common
21
22
  from sky.clouds.utils import aws_utils
22
23
  from sky.skylet import constants
@@ -787,12 +788,9 @@ class AWS(clouds.Cloud):
787
788
  stderr=subprocess.PIPE)
788
789
  if proc.returncode != 0:
789
790
  return False, dependency_installation_hints
790
- try:
791
- # Checks if aws boto is installed properly
792
- # pylint: disable=import-outside-toplevel, unused-import
793
- import boto3
794
- import botocore
795
- except ImportError:
791
+
792
+ # Checks if aws boto is installed properly
793
+ if not common.can_import_modules(['boto3', 'botocore']):
796
794
  return False, dependency_installation_hints
797
795
 
798
796
  # Checks if AWS credentials 1) exist and 2) are valid.
sky/clouds/azure.py CHANGED
@@ -15,6 +15,7 @@ from sky import exceptions
15
15
  from sky import sky_logging
16
16
  from sky import skypilot_config
17
17
  from sky.adaptors import azure
18
+ from sky.adaptors import common as adaptors_common
18
19
  from sky.clouds.utils import azure_utils
19
20
  from sky.utils import annotations
20
21
  from sky.utils import common_utils
@@ -546,6 +547,7 @@ class Azure(clouds.Cloud):
546
547
  @classmethod
547
548
  def _check_credentials(cls) -> Tuple[bool, Optional[str]]:
548
549
  """Checks if the user has access credentials to this cloud."""
550
+
549
551
  help_str = (
550
552
  ' Run the following commands:'
551
553
  f'\n{cls._INDENT_PREFIX} $ az login'
@@ -561,6 +563,16 @@ class Azure(clouds.Cloud):
561
563
  return (False,
562
564
  f'{azure_token_cache_file} does not exist.' + help_str)
563
565
 
566
+ dependency_installation_hints = (
567
+ 'Azure dependencies are not installed. '
568
+ 'Run the following commands:'
569
+ f'\n{cls._INDENT_PREFIX} $ pip install skypilot[azure]'
570
+ f'\n{cls._INDENT_PREFIX}Credentials may also need to be set.')
571
+ # Check if the azure blob storage dependencies are installed.
572
+ if not adaptors_common.can_import_modules(
573
+ ['azure.storage.blob', 'msgraph']):
574
+ return False, dependency_installation_hints
575
+
564
576
  try:
565
577
  _run_output('az --version')
566
578
  except subprocess.CalledProcessError as e:
@@ -580,19 +592,6 @@ class Azure(clouds.Cloud):
580
592
  return False, (f'Getting user\'s Azure identity failed.{help_str}\n'
581
593
  f'{cls._INDENT_PREFIX}Details: '
582
594
  f'{common_utils.format_exception(e)}')
583
-
584
- # Check if the azure blob storage dependencies are installed.
585
- try:
586
- # pylint: disable=redefined-outer-name, import-outside-toplevel, unused-import
587
- from azure.storage import blob
588
- import msgraph
589
- except ImportError as e:
590
- return False, (
591
- f'Azure blob storage depdencies are not installed. '
592
- 'Run the following commands:'
593
- f'\n{cls._INDENT_PREFIX} $ pip install skypilot[azure]'
594
- f'\n{cls._INDENT_PREFIX}Details: '
595
- f'{common_utils.format_exception(e)}')
596
595
  return True, None
597
596
 
598
597
  def get_credential_file_mounts(self) -> Dict[str, str]:
sky/clouds/cudo.py CHANGED
@@ -5,6 +5,7 @@ from typing import Dict, Iterator, List, Optional, Tuple, Union
5
5
 
6
6
  from sky import catalog
7
7
  from sky import clouds
8
+ from sky.adaptors import common
8
9
  from sky.utils import common_utils
9
10
  from sky.utils import registry
10
11
  from sky.utils import resources_utils
@@ -287,14 +288,9 @@ class Cudo(clouds.Cloud):
287
288
  cls) -> Tuple[bool, Optional[Union[str, Dict[str, str]]]]:
288
289
  """Checks if the user has access credentials to
289
290
  Cudo's compute service."""
290
- try:
291
- # pylint: disable=import-outside-toplevel,unused-import
292
- from cudo_compute import cudo_api
293
- except (ImportError, subprocess.CalledProcessError) as e:
294
- return False, (
295
- f'{cls._DEPENDENCY_HINT}\n'
296
- f'{cls._INDENT_PREFIX}'
297
- f'{common_utils.format_exception(e, use_bracket=True)}')
291
+ if not common.can_import_modules(['cudo_api']):
292
+ return False, (f'{cls._DEPENDENCY_HINT}\n'
293
+ f'{cls._INDENT_PREFIX}')
298
294
 
299
295
  try:
300
296
  _run_output('cudoctl --version')
sky/clouds/do.py CHANGED
@@ -283,18 +283,17 @@ class DO(clouds.Cloud):
283
283
  """Verify that the user has valid credentials for
284
284
  DO's compute service."""
285
285
 
286
- try:
287
- do.exceptions()
288
- except ImportError as err:
289
- return False, str(err)
286
+ installed, err_msg = do.check_exceptions_dependencies_installed()
287
+ if not installed:
288
+ return False, err_msg
290
289
 
291
290
  try:
292
291
  # attempt to make a CURL request for listing instances
293
292
  do_utils.client().droplets.list()
294
- except do.exceptions().HttpResponseError as err:
295
- return False, str(err)
296
293
  except do_utils.DigitalOceanError as err:
297
294
  return False, str(err)
295
+ except do.exceptions().HttpResponseError as err:
296
+ return False, str(err)
298
297
 
299
298
  return True, None
300
299
 
sky/clouds/nebius.py CHANGED
@@ -367,10 +367,10 @@ class Nebius(clouds.Cloud):
367
367
  f'{_INDENT_PREFIX} $ nebius --format json iam whoami|jq -r \'.user_profile.tenants[0].tenant_id\' > {nebius.tenant_id_path()} \n') # pylint: disable=line-too-long
368
368
  if not nebius.is_token_or_cred_file_exist():
369
369
  return False, f'{token_cred_msg}'
370
- sdk = nebius.sdk()
371
370
  tenant_id = nebius.get_tenant_id()
372
371
  if tenant_id is None:
373
372
  return False, f'{tenant_msg}'
373
+ sdk = nebius.sdk()
374
374
  try:
375
375
  service = nebius.iam().ProjectServiceClient(sdk)
376
376
  service.list(
sky/clouds/oci.py CHANGED
@@ -28,6 +28,7 @@ from typing import Any, Dict, Iterator, List, Optional, Tuple, Union
28
28
  from sky import catalog
29
29
  from sky import clouds
30
30
  from sky import exceptions
31
+ from sky.adaptors import common
31
32
  from sky.adaptors import oci as oci_adaptor
32
33
  from sky.clouds.utils import oci_utils
33
34
  from sky.provision.oci.query_utils import query_helper
@@ -454,13 +455,12 @@ class OCI(clouds.Cloud):
454
455
  f'{cls._INDENT_PREFIX} region=us-sanjose-1\n'
455
456
  f'{cls._INDENT_PREFIX} key_file=~/.oci/oci_api_key.pem')
456
457
 
457
- try:
458
- # pylint: disable=import-outside-toplevel,unused-import
459
- import oci
460
- except ImportError:
461
- return False, ('`oci` is not installed. Install it with: '
462
- 'pip install oci\n'
463
- f'{cls._INDENT_PREFIX}{short_credential_help_str}')
458
+ dependency_error_msg = (
459
+ '`oci` is not installed. Install it with: '
460
+ 'pip install oci\n'
461
+ f'{cls._INDENT_PREFIX}{short_credential_help_str}')
462
+ if not common.can_import_modules(['oci']):
463
+ return False, dependency_error_msg
464
464
 
465
465
  conf_file = oci_adaptor.get_config_file()
466
466
 
sky/clouds/runpod.py CHANGED
@@ -1,5 +1,7 @@
1
1
  """ RunPod Cloud. """
2
2
 
3
+ from importlib import util as import_lib_util
4
+ import os
3
5
  import typing
4
6
  from typing import Dict, Iterator, List, Optional, Tuple, Union
5
7
 
@@ -12,9 +14,7 @@ if typing.TYPE_CHECKING:
12
14
  from sky import resources as resources_lib
13
15
  from sky.utils import volume as volume_lib
14
16
 
15
- _CREDENTIAL_FILES = [
16
- 'config.toml',
17
- ]
17
+ _CREDENTIAL_FILE = 'config.toml'
18
18
 
19
19
 
20
20
  @registry.CLOUD_REGISTRY.register
@@ -285,30 +285,71 @@ class RunPod(clouds.Cloud):
285
285
 
286
286
  @classmethod
287
287
  def _check_credentials(cls) -> Tuple[bool, Optional[str]]:
288
- """ Verify that the user has valid credentials for RunPod. """
288
+ """Verify that the user has valid credentials for RunPod. """
289
+ dependency_error_msg = ('Failed to import runpod. '
290
+ 'To install, run: pip install skypilot[runpod]')
289
291
  try:
290
- import runpod # pylint: disable=import-outside-toplevel
291
- valid, error = runpod.check_credentials()
292
+ runpod_spec = import_lib_util.find_spec('runpod')
293
+ if runpod_spec is None:
294
+ return False, dependency_error_msg
295
+ toml_spec = import_lib_util.find_spec('toml')
296
+ if toml_spec is None:
297
+ return False, dependency_error_msg
298
+ except ValueError:
299
+ # docstring of importlib_util.find_spec:
300
+ # First, sys.modules is checked to see if the module was alread
301
+ # imported.
302
+ # If so, then sys.modules[name].__spec__ is returned.
303
+ # If that happens to be set to None, then ValueError is raised.
304
+ return False, dependency_error_msg
305
+
306
+ valid, error = cls._check_runpod_credentials()
307
+ if not valid:
308
+ return False, (
309
+ f'{error} \n' # First line is indented by 4 spaces
310
+ ' Credentials can be set up by running: \n'
311
+ f' $ pip install runpod \n'
312
+ f' $ runpod config\n'
313
+ ' For more information, see https://docs.skypilot.co/en/latest/getting-started/installation.html#runpod' # pylint: disable=line-too-long
314
+ )
292
315
 
293
- if not valid:
316
+ return True, None
317
+
318
+ @classmethod
319
+ def _check_runpod_credentials(cls, profile: str = 'default'):
320
+ """Checks if the credentials file exists and is valid."""
321
+ credential_file = os.path.expanduser(f'~/.runpod/{_CREDENTIAL_FILE}')
322
+ if not os.path.exists(credential_file):
323
+ return False, '~/.runpod/config.toml does not exist.'
324
+
325
+ # we don't need to import toml here if config.toml does not exist,
326
+ # wait until we know the cred file exists.
327
+ import tomli as toml # pylint: disable=import-outside-toplevel
328
+
329
+ # Check for default api_key
330
+ try:
331
+ with open(credential_file, 'rb') as cred_file:
332
+ config = toml.load(cred_file)
333
+
334
+ if profile not in config:
294
335
  return False, (
295
- f'{error} \n' # First line is indented by 4 spaces
296
- ' Credentials can be set up by running: \n'
297
- f' $ pip install runpod \n'
298
- f' $ runpod config\n'
299
- ' For more information, see https://docs.skypilot.co/en/latest/getting-started/installation.html#runpod' # pylint: disable=line-too-long
336
+ f'~/.runpod/config.toml is missing {profile} profile.')
337
+
338
+ if 'api_key' not in config[profile]:
339
+ return (
340
+ False,
341
+ '~/.runpod/config.toml is missing '
342
+ f'api_key for {profile} profile.',
300
343
  )
301
344
 
302
- return True, None
345
+ except (TypeError, ValueError):
346
+ return False, '~/.runpod/config.toml is not a valid TOML file.'
303
347
 
304
- except ImportError:
305
- return False, ('Failed to import runpod. '
306
- 'To install, run: pip install skypilot[runpod]')
348
+ return True, None
307
349
 
308
350
  def get_credential_file_mounts(self) -> Dict[str, str]:
309
351
  return {
310
- f'~/.runpod/{filename}': f'~/.runpod/{filename}'
311
- for filename in _CREDENTIAL_FILES
352
+ f'~/.runpod/{_CREDENTIAL_FILE}': f'~/.runpod/{_CREDENTIAL_FILE}'
312
353
  }
313
354
 
314
355
  @classmethod
sky/clouds/vast.py CHANGED
@@ -1,10 +1,12 @@
1
1
  """ Vast Cloud. """
2
2
 
3
+ import os
3
4
  import typing
4
5
  from typing import Dict, Iterator, List, Optional, Tuple, Union
5
6
 
6
7
  from sky import catalog
7
8
  from sky import clouds
9
+ from sky.adaptors import common
8
10
  from sky.utils import registry
9
11
  from sky.utils import resources_utils
10
12
 
@@ -12,6 +14,8 @@ if typing.TYPE_CHECKING:
12
14
  from sky import resources as resources_lib
13
15
  from sky.utils import volume as volume_lib
14
16
 
17
+ _CREDENTIAL_PATH = '~/.config/vastai/vast_api_key'
18
+
15
19
 
16
20
  @registry.CLOUD_REGISTRY.register
17
21
  class Vast(clouds.Cloud):
@@ -253,32 +257,27 @@ class Vast(clouds.Cloud):
253
257
  def _check_compute_credentials(
254
258
  cls) -> Tuple[bool, Optional[Union[str, Dict[str, str]]]]:
255
259
  """Checks if the user has valid credentials for
256
- Vast's compute service. """
257
- try:
258
- import vastai_sdk as _vast # pylint: disable=import-outside-toplevel
259
- vast = _vast.VastAI()
260
-
261
- # We only support file pased credential passing
262
- if vast.creds_source != 'FILE':
263
- return False, (
264
- 'error \n' # First line is indented by 4 spaces
265
- ' Credentials can be set up by running: \n'
266
- ' $ pip install vastai\n'
267
- ' $ mkdir -p ~/.config/vastai\n'
268
- ' $ echo [key] > ~/.config/vastai/vast_api_key\n'
269
- ' For more information, see https://skypilot.readthedocs.io/en/latest/getting-started/installation.html#vast' # pylint: disable=line-too-long
270
- )
260
+ Vast's compute service."""
261
+
262
+ dependency_error_msg = ('Failed to import vast. '
263
+ 'To install, run: pip install skypilot[vast]')
264
+ if not common.can_import_modules(['vastai_sdk']):
265
+ return False, dependency_error_msg
271
266
 
272
- return True, None
267
+ if not os.path.exists(os.path.expanduser(_CREDENTIAL_PATH)):
268
+ return False, (
269
+ 'error \n' # First line is indented by 4 spaces
270
+ ' Credentials can be set up by running: \n'
271
+ ' $ pip install vastai\n'
272
+ ' $ mkdir -p ~/.config/vastai\n'
273
+ f' $ echo [key] > {_CREDENTIAL_PATH}\n'
274
+ ' For more information, see https://skypilot.readthedocs.io/en/latest/getting-started/installation.html#vast' # pylint: disable=line-too-long
275
+ )
273
276
 
274
- except ImportError:
275
- return False, ('Failed to import vast. '
276
- 'To install, run: pip install skypilot[vast]')
277
+ return True, None
277
278
 
278
279
  def get_credential_file_mounts(self) -> Dict[str, str]:
279
- return {
280
- '~/.config/vastai/vast_api_key': '~/.config/vastai/vast_api_key'
281
- }
280
+ return {f'{_CREDENTIAL_PATH}': f'{_CREDENTIAL_PATH}'}
282
281
 
283
282
  @classmethod
284
283
  def get_user_identities(cls) -> Optional[List[List[str]]]:
sky/clouds/vsphere.py CHANGED
@@ -1,5 +1,4 @@
1
1
  """Vsphere cloud implementation."""
2
- import subprocess
3
2
  import typing
4
3
  from typing import Dict, Iterator, List, Optional, Tuple, Union
5
4
 
@@ -9,7 +8,6 @@ from sky.adaptors import common as adaptors_common
9
8
  from sky.provision.vsphere import vsphere_utils
10
9
  from sky.provision.vsphere.vsphere_utils import get_vsphere_credentials
11
10
  from sky.provision.vsphere.vsphere_utils import initialize_vsphere_data
12
- from sky.utils import common_utils
13
11
  from sky.utils import registry
14
12
  from sky.utils import resources_utils
15
13
 
@@ -278,19 +276,16 @@ class Vsphere(clouds.Cloud):
278
276
  cls) -> Tuple[bool, Optional[Union[str, Dict[str, str]]]]:
279
277
  """Checks if the user has access credentials to
280
278
  vSphere's compute service."""
281
-
282
- try:
283
- # pylint: disable=import-outside-toplevel,unused-import
284
- # Check pyVmomi installation.
285
- import pyVmomi
286
- except (ImportError, subprocess.CalledProcessError) as e:
287
- return False, (
288
- 'vSphere dependencies are not installed. '
289
- 'Run the following commands:'
290
- f'\n{cls._INDENT_PREFIX} $ pip install skypilot[vSphere]'
291
- f'\n{cls._INDENT_PREFIX}Credentials may also need to be set. '
292
- 'For more details. See https://docs.skypilot.co/en/latest/getting-started/installation.html#vmware-vsphere' # pylint: disable=line-too-long
293
- f'{common_utils.format_exception(e, use_bracket=True)}')
279
+ dependency_error_msg = (
280
+ 'vSphere dependencies are not installed. '
281
+ 'Run the following commands:'
282
+ f'\n{cls._INDENT_PREFIX} $ pip install skypilot[vSphere]'
283
+ f'\n{cls._INDENT_PREFIX}Credentials may also need to be set. '
284
+ 'For more details. See https://docs.skypilot.co/en/latest/getting-started/installation.html#vmware-vsphere' # pylint: disable=line-too-long
285
+ )
286
+ # Check pyVmomi installation.
287
+ if not adaptors_common.can_import_modules(['pyVmomi']):
288
+ return False, dependency_error_msg
294
289
 
295
290
  required_keys = ['name', 'username', 'password', 'clusters']
296
291
  skip_key = 'skip_verification'
@@ -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-8df25bce0107f4bd.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/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_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":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_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":"i60KpqkwvB9QVScj-NeKo","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- !function(){"use strict";var e,t,n,r,c,o,u,a,f,i={},d={};function s(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}},r=!0;try{i[e](n,n.exports,s),r=!1}finally{r&&delete d[e]}return n.exports}s.m=i,e=[],s.O=function(t,n,r,c){if(n){c=c||0;for(var o=e.length;o>0&&e[o-1][2]>c;o--)e[o]=e[o-1];e[o]=[n,r,c];return}for(var u=1/0,o=0;o<e.length;o++){for(var n=e[o][0],r=e[o][1],c=e[o][2],a=!0,f=0;f<n.length;f++)u>=c&&Object.keys(s.O).every(function(e){return s.O[e](n[f])})?n.splice(f--,1):(a=!1,c<u&&(u=c));if(a){e.splice(o--,1);var i=r();void 0!==i&&(t=i)}}return t},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);s.r(c);var o={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach(function(t){o[t]=function(){return e[t]}});return o.default=function(){return e},s.d(c,o),c},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce(function(t,n){return s.f[n](e,t),t},[]))},s.u=function(e){return 2350===e?"static/chunks/2350.fab69e61bac57b23.js":7325===e?"static/chunks/7325.b4bc99ce0892dcd5.js":3937===e?"static/chunks/3937.210053269f121201.js":9025===e?"static/chunks/9025.c12318fb6a1a9093.js":3294===e?"static/chunks/3294.c80326aec9bfed40.js":649===e?"static/chunks/649.b9d7f7d10c1b8c53.js":7669===e?"static/chunks/7669.1f5d9a402bf5cc42.js":4045===e?"static/chunks/4045.b30465273dc5e468.js":4725===e?"static/chunks/4725.10f7a9a5d3ea8208.js":3785===e?"static/chunks/3785.4872a2f3aa489880.js":5339===e?"static/chunks/5339.3fda4a4010ff4e06.js":"static/chunks/"+e+"-"+({616:"3d59f75e2ccf9321",1121:"408ed10b2f9fce17",1141:"943efc7aff0f0c06",1272:"1ef0bf0237faccdb",1836:"37fede578e2da5f8",3015:"86cabed5d4669ad0",3850:"ff4a9a69d978632b",4676:"9da7fdbde90b5549",5739:"d67458fcb1386c92",6130:"2be46d70a38f1e82",6135:"4b4d5e824b7f9d3c",6601:"06114c982db410b6",6856:"6e2bc8a6fd0867af",6989:"01359c57e018caa4",6990:"08b2a1cae076a943",7411:"b15471acd2cba716",8969:"0be3036bf86f8256",9037:"fa1737818d0a0969"})[e]+".js"},s.miniCssF=function(e){},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},c="_N_E:",s.l=function(e,t,n,o){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var u,a,f=document.getElementsByTagName("script"),i=0;i<f.length;i++){var d=f[i];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==c+n){u=d;break}}u||(a=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,s.nc&&u.setAttribute("nonce",s.nc),u.setAttribute("data-webpack",c+n),u.src=s.tu(e)),r[e]=[t];var b=function(t,n){u.onerror=u.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],u.parentNode&&u.parentNode.removeChild(u),c&&c.forEach(function(e){return e(n)}),t)return t(n)},l=setTimeout(b.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=b.bind(null,u.onerror),u.onload=b.bind(null,u.onload),a&&document.head.appendChild(u)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=function(){return void 0===o&&(o={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(o=trustedTypes.createPolicy("nextjs#bundler",o))),o},s.tu=function(e){return s.tt().createScriptURL(e)},s.p="/dashboard/_next/",u={2272:0},s.f.j=function(e,t){var n=s.o(u,e)?u[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(2272!=e){var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var c=s.p+s.u(e),o=Error();s.l(c,function(t){if(s.o(u,e)&&(0!==(n=u[e])&&(u[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;o.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",o.name="ChunkLoadError",o.type=r,o.request=c,n[1](o)}},"chunk-"+e,e)}else u[e]=0}},s.O.j=function(e){return 0===u[e]},a=function(e,t){var n,r,c=t[0],o=t[1],a=t[2],f=0;if(c.some(function(e){return 0!==u[e]})){for(n in o)s.o(o,n)&&(s.m[n]=o[n]);if(a)var i=a(s)}for(e&&e(t);f<c.length;f++)r=c[f],s.o(u,r)&&u[r]&&u[r][0](),u[r]=0;return s.O(i)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f)),s.nc=void 0}();
1
+ !function(){"use strict";var e,t,n,r,c,o,u,a,f,i={},d={};function s(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}},r=!0;try{i[e](n,n.exports,s),r=!1}finally{r&&delete d[e]}return n.exports}s.m=i,e=[],s.O=function(t,n,r,c){if(n){c=c||0;for(var o=e.length;o>0&&e[o-1][2]>c;o--)e[o]=e[o-1];e[o]=[n,r,c];return}for(var u=1/0,o=0;o<e.length;o++){for(var n=e[o][0],r=e[o][1],c=e[o][2],a=!0,f=0;f<n.length;f++)u>=c&&Object.keys(s.O).every(function(e){return s.O[e](n[f])})?n.splice(f--,1):(a=!1,c<u&&(u=c));if(a){e.splice(o--,1);var i=r();void 0!==i&&(t=i)}}return t},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);s.r(c);var o={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach(function(t){o[t]=function(){return e[t]}});return o.default=function(){return e},s.d(c,o),c},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce(function(t,n){return s.f[n](e,t),t},[]))},s.u=function(e){return 2350===e?"static/chunks/2350.fab69e61bac57b23.js":3937===e?"static/chunks/3937.210053269f121201.js":7325===e?"static/chunks/7325.b4bc99ce0892dcd5.js":9025===e?"static/chunks/9025.c12318fb6a1a9093.js":3294===e?"static/chunks/3294.c80326aec9bfed40.js":649===e?"static/chunks/649.b9d7f7d10c1b8c53.js":7669===e?"static/chunks/7669.1f5d9a402bf5cc42.js":4045===e?"static/chunks/4045.b30465273dc5e468.js":4725===e?"static/chunks/4725.10f7a9a5d3ea8208.js":3785===e?"static/chunks/3785.4872a2f3aa489880.js":5339===e?"static/chunks/5339.3fda4a4010ff4e06.js":"static/chunks/"+e+"-"+({616:"3d59f75e2ccf9321",1121:"408ed10b2f9fce17",1141:"943efc7aff0f0c06",1272:"1ef0bf0237faccdb",1836:"37fede578e2da5f8",3015:"86cabed5d4669ad0",3850:"ff4a9a69d978632b",4676:"9da7fdbde90b5549",5739:"d67458fcb1386c92",6130:"2be46d70a38f1e82",6135:"4b4d5e824b7f9d3c",6601:"06114c982db410b6",6856:"6e2bc8a6fd0867af",6989:"01359c57e018caa4",6990:"08b2a1cae076a943",7411:"b15471acd2cba716",8969:"0be3036bf86f8256",9037:"fa1737818d0a0969"})[e]+".js"},s.miniCssF=function(e){},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},c="_N_E:",s.l=function(e,t,n,o){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var u,a,f=document.getElementsByTagName("script"),i=0;i<f.length;i++){var d=f[i];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==c+n){u=d;break}}u||(a=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,s.nc&&u.setAttribute("nonce",s.nc),u.setAttribute("data-webpack",c+n),u.src=s.tu(e)),r[e]=[t];var b=function(t,n){u.onerror=u.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],u.parentNode&&u.parentNode.removeChild(u),c&&c.forEach(function(e){return e(n)}),t)return t(n)},l=setTimeout(b.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=b.bind(null,u.onerror),u.onload=b.bind(null,u.onload),a&&document.head.appendChild(u)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=function(){return void 0===o&&(o={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(o=trustedTypes.createPolicy("nextjs#bundler",o))),o},s.tu=function(e){return s.tt().createScriptURL(e)},s.p="/dashboard/_next/",u={2272:0},s.f.j=function(e,t){var n=s.o(u,e)?u[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(2272!=e){var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var c=s.p+s.u(e),o=Error();s.l(c,function(t){if(s.o(u,e)&&(0!==(n=u[e])&&(u[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;o.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",o.name="ChunkLoadError",o.type=r,o.request=c,n[1](o)}},"chunk-"+e,e)}else u[e]=0}},s.O.j=function(e){return 0===u[e]},a=function(e,t){var n,r,c=t[0],o=t[1],a=t[2],f=0;if(c.some(function(e){return 0!==u[e]})){for(n in o)s.o(o,n)&&(s.m[n]=o[n]);if(a)var i=a(s)}for(e&&e(t);f<c.length;f++)r=c[f],s.o(u,r)&&u[r]&&u[r][0](),u[r]=0;return s.O(i)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f)),s.nc=void 0}();
@@ -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-8df25bce0107f4bd.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-1cbba24bd1bd35f8.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_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":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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-1cbba24bd1bd35f8.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_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":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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-0be3036bf86f8256.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-408ed10b2f9fce17.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-6e2bc8a6fd0867af.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-86cabed5d4669ad0.js" defer=""></script><script src="/dashboard/_next/static/chunks/9037-fa1737818d0a0969.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-0b4b35dc1dfe046c.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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-0be3036bf86f8256.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-408ed10b2f9fce17.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-6e2bc8a6fd0867af.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-86cabed5d4669ad0.js" defer=""></script><script src="/dashboard/_next/static/chunks/9037-fa1737818d0a0969.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-0b4b35dc1dfe046c.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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-6563820e094f68ca.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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-6563820e094f68ca.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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-aabba60d57826e0f.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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-aabba60d57826e0f.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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-0be3036bf86f8256.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/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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-0be3036bf86f8256.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/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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-0be3036bf86f8256.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-07349868f7905d37.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_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":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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-0be3036bf86f8256.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-07349868f7905d37.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_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":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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-1f70d9faa564804f.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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-1f70d9faa564804f.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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/1836-37fede578e2da5f8.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-0be3036bf86f8256.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-408ed10b2f9fce17.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-86cabed5d4669ad0.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-943efc7aff0f0c06.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-af76bb06dbb3954f.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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/1836-37fede578e2da5f8.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-0be3036bf86f8256.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-408ed10b2f9fce17.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-86cabed5d4669ad0.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-943efc7aff0f0c06.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-af76bb06dbb3954f.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","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-8df25bce0107f4bd.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-7598c33a746cdc91.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"ZOaq9s6U49jSoGAMkeKqu","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-6f5f27e9d7900777.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-7598c33a746cdc91.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"i60KpqkwvB9QVScj-NeKo","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
sky/server/daemons.py CHANGED
@@ -9,6 +9,7 @@ from sky import skypilot_config
9
9
  from sky.server import constants as server_constants
10
10
  from sky.utils import annotations
11
11
  from sky.utils import common
12
+ from sky.utils import common_utils
12
13
  from sky.utils import env_options
13
14
  from sky.utils import timeline
14
15
  from sky.utils import ux_utils
@@ -73,6 +74,7 @@ class InternalRequestDaemon:
73
74
  # using too much memory.
74
75
  annotations.clear_request_level_cache()
75
76
  timeline.save_timeline()
77
+ common_utils.release_memory()
76
78
  except Exception: # pylint: disable=broad-except
77
79
  # It is OK to fail to run the event, as the event is not
78
80
  # critical, but we should log the error.
@@ -437,6 +437,13 @@ def _request_execution_wrapper(request_id: str,
437
437
  request_id, return_value if not ignore_return_value else None)
438
438
  _restore_output(original_stdout, original_stderr)
439
439
  logger.info(f'Request {request_id} finished')
440
+ finally:
441
+ with metrics_lib.time_it(name='release_memory', group='internal'):
442
+ try:
443
+ common_utils.release_memory()
444
+ except Exception as e: # pylint: disable=broad-except
445
+ logger.error(f'Failed to release memory: '
446
+ f'{common_utils.format_exception(e)}')
440
447
 
441
448
 
442
449
  async def execute_request_coroutine(request: api_requests.Request):
sky/utils/common_utils.py CHANGED
@@ -1,8 +1,10 @@
1
1
  """Utils shared between all of sky"""
2
2
 
3
+ import ctypes
3
4
  import difflib
4
5
  import enum
5
6
  import functools
7
+ import gc
6
8
  import getpass
7
9
  import hashlib
8
10
  import inspect
@@ -1090,3 +1092,19 @@ def removeprefix(string: str, prefix: str) -> str:
1090
1092
  if string.startswith(prefix):
1091
1093
  return string[len(prefix):]
1092
1094
  return string
1095
+
1096
+
1097
+ def release_memory():
1098
+ """Release the process memory"""
1099
+ # Do the best effort to release the python heap and let malloc_trim
1100
+ # be more efficient.
1101
+ gc.collect()
1102
+ if sys.platform.startswith('linux'):
1103
+ try:
1104
+ # Will fail on musl (alpine), but at least it works on our
1105
+ # offical docker images.
1106
+ libc = ctypes.CDLL('libc.so.6')
1107
+ return libc.malloc_trim(0)
1108
+ except (AttributeError, OSError):
1109
+ return 0
1110
+ return 0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250906
3
+ Version: 1.0.0.dev20250907
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -145,48 +145,48 @@ Requires-Dist: grpcio>=1.63.0; extra == "server"
145
145
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
146
146
  Requires-Dist: aiosqlite; extra == "server"
147
147
  Provides-Extra: all
148
- Requires-Dist: google-cloud-storage; extra == "all"
149
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
150
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
151
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
152
- Requires-Dist: anyio; extra == "all"
148
+ Requires-Dist: azure-common; extra == "all"
149
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
150
+ Requires-Dist: nebius>=0.2.47; extra == "all"
151
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
152
+ Requires-Dist: python-dateutil; extra == "all"
153
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
154
+ Requires-Dist: colorama<0.4.5; extra == "all"
155
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
156
+ Requires-Dist: pydo>=0.3.0; extra == "all"
153
157
  Requires-Dist: aiosqlite; extra == "all"
158
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
159
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
160
+ Requires-Dist: google-cloud-storage; extra == "all"
161
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
162
+ Requires-Dist: casbin; extra == "all"
163
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
154
164
  Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
165
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
155
166
  Requires-Dist: aiohttp; extra == "all"
156
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
157
- Requires-Dist: sqlalchemy_adapter; extra == "all"
158
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
159
- Requires-Dist: nebius>=0.2.47; extra == "all"
160
- Requires-Dist: runpod>=1.6.1; extra == "all"
161
- Requires-Dist: passlib; extra == "all"
167
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
168
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
169
+ Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
170
+ Requires-Dist: docker; extra == "all"
162
171
  Requires-Dist: oci; extra == "all"
163
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
164
- Requires-Dist: casbin; extra == "all"
165
- Requires-Dist: azure-core>=1.31.0; extra == "all"
166
- Requires-Dist: pydo>=0.3.0; extra == "all"
172
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
167
173
  Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
168
- Requires-Dist: websockets; extra == "all"
169
- Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
174
+ Requires-Dist: ibm-cos-sdk; extra == "all"
175
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
170
176
  Requires-Dist: awscli>=1.27.10; extra == "all"
171
- Requires-Dist: azure-core>=1.24.0; extra == "all"
177
+ Requires-Dist: msgraph-sdk; extra == "all"
172
178
  Requires-Dist: botocore>=1.29.10; extra == "all"
173
- Requires-Dist: colorama<0.4.5; extra == "all"
174
- Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
175
179
  Requires-Dist: boto3>=1.26.1; extra == "all"
176
- Requires-Dist: ibm-vpc; extra == "all"
177
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
178
- Requires-Dist: grpcio>=1.63.0; extra == "all"
179
- Requires-Dist: msgraph-sdk; extra == "all"
180
+ Requires-Dist: websockets; extra == "all"
181
+ Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
180
182
  Requires-Dist: pyjwt; extra == "all"
181
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
182
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
183
+ Requires-Dist: passlib; extra == "all"
184
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
185
+ Requires-Dist: ibm-vpc; extra == "all"
186
+ Requires-Dist: runpod>=1.6.1; extra == "all"
187
+ Requires-Dist: anyio; extra == "all"
183
188
  Requires-Dist: msrestazure; extra == "all"
184
- Requires-Dist: docker; extra == "all"
185
- Requires-Dist: python-dateutil; extra == "all"
186
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
187
- Requires-Dist: azure-common; extra == "all"
188
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
189
- Requires-Dist: ibm-cos-sdk; extra == "all"
189
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
190
190
  Dynamic: author
191
191
  Dynamic: classifier
192
192
  Dynamic: description
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=lgxM5XXTabknkE9TNxyRYsheNYJeHtY7fGQuFuUPtmY,6615
1
+ sky/__init__.py,sha256=kY3WA_M02kYceQ-C975LU6XuyDucMKMjLY1oKrdr7FA,6615
2
2
  sky/admin_policy.py,sha256=XdcJnYqmude-LGGop-8U-FeiJcqtfYsYtIy4rmoCJnM,9799
3
3
  sky/authentication.py,sha256=00EHVELI7nuW7JQ_74t1RKIc7iohKnwdvlw6h2gXRmg,25487
4
4
  sky/check.py,sha256=Z7D6txaOAEL7fyEQ8q-Zxk1aWaHpEcl412Rj2mThbQ0,31025
@@ -20,9 +20,9 @@ sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  sky/adaptors/aws.py,sha256=4caUTO5nxZQyDVPyQdoPljaF-Lz_Fa6NEnu3FfmLZd4,8633
21
21
  sky/adaptors/azure.py,sha256=7l5jobSTsTUcTo3ptrgOpRgngHY92U64eQBPxvDe1HA,21986
22
22
  sky/adaptors/cloudflare.py,sha256=8XFjBKMusnR7EmteEGAsAAQUG4J0lDlqk7lkaum_5-4,8276
23
- sky/adaptors/common.py,sha256=-Qy2_QIGssDtRrakDX8pmnGkvDLtm3ejIsPtkMq8UT0,3058
23
+ sky/adaptors/common.py,sha256=D4PE2l4zSJxKboVYgvHcEBvwkT-dyBMn2uA-v_Ee7dk,3771
24
24
  sky/adaptors/cudo.py,sha256=WGvIQrlzJkGDe02Ve7pygA56tHwUc4kwS3XHW8kMFAA,239
25
- sky/adaptors/do.py,sha256=dJ0BYbkQoUWVu6_9Pxq3fOu6PngjZyyCQzgjnODXLCA,777
25
+ sky/adaptors/do.py,sha256=vR5zddoWtSUTuOBeRobY1WAvb_ueaOlBzsnR_gwgBMM,1026
26
26
  sky/adaptors/docker.py,sha256=_kzpZ0fkWHqqQAVVl0llTsCE31KYz3Sjn8psTBQHVkA,468
27
27
  sky/adaptors/gcp.py,sha256=oEb9jClEtApw6PQnxdxDYxOCYsedvM3aiko1EW1FDVo,3501
28
28
  sky/adaptors/hyperbolic.py,sha256=iyHDmtLFVTK9QajpAmObk0XO2OZnnO_1LbvDffPpt68,245
@@ -87,44 +87,42 @@ sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wq
87
87
  sky/client/cli/flags.py,sha256=lLXHooU4HEslbHJuGAiCrKYkJZx99hAKaJbstw7s1bc,12136
88
88
  sky/client/cli/git.py,sha256=dqSaJI1Ndv6RfKJa6HT6ednXr0j_pVlwSdh3XiQzB60,22018
89
89
  sky/clouds/__init__.py,sha256=tC9_Vi6GvVceWUi6uZvm7vXzBa0uH3CjRQ-QCYqdJMw,1624
90
- sky/clouds/aws.py,sha256=FNk2JTTrkDybRAbFLatxFP86300pv_qbIRy4tMxBpI4,62856
91
- sky/clouds/azure.py,sha256=3wMJQFNye80t8zw2o2yl2F9glmXQjR8r2F4ExU396-s,33274
90
+ sky/clouds/aws.py,sha256=Bkp6z72PpNYZsiVxZFR1U2OFqu_1AWfhehty2qiz4Qg,62787
91
+ sky/clouds/azure.py,sha256=qnabVjfS3em-TvxOIqZ6mMiipnt51MBVf7R0pnyB7bo,33233
92
92
  sky/clouds/cloud.py,sha256=z3ViXzRh08sYwPiy5LlzodohBGESHJnl1usSXDH9ZSQ,39945
93
- sky/clouds/cudo.py,sha256=UE3Czf8qIFubzeN9QgpRAxwPnyCWyKjPMe34plqIRj8,14292
94
- sky/clouds/do.py,sha256=rTQEkIfRVIVEF3c2yVcpVc1vRUMSYs1038SxeDwp7so,12595
93
+ sky/clouds/cudo.py,sha256=il2C91LV9yWD3fE3fY8sabFPCyaMO8QJ1HMSJP-H4lU,14109
94
+ sky/clouds/do.py,sha256=a3Lk3nKLaYt97AV9cA1v50pNfKUTJF0rDg16rnnqYqQ,12618
95
95
  sky/clouds/fluidstack.py,sha256=AbVYW2iwVVebIn0dWdSSsdItILHRLG3VVU3N2-n1I9c,13601
96
96
  sky/clouds/gcp.py,sha256=LteGFf8kxmVoWyzM1YTNDh3xOrsuVJFB2-E7KNJ_Yz8,68861
97
97
  sky/clouds/hyperbolic.py,sha256=bmV4NFpUPgzR0ownavHHVqyw26EtOgQ_ZB6SlxlgmJw,11999
98
98
  sky/clouds/ibm.py,sha256=qMbOkTMJzPn2HDH9cie9zERvukRZbZoueLIaufCECAw,22860
99
99
  sky/clouds/kubernetes.py,sha256=_-UCrA09EPMjClQzySApcaPF3OumgCDNbi_eLoC6NTs,56704
100
100
  sky/clouds/lambda_cloud.py,sha256=aRW4GwLjaFFR6_bPbBr9o8z-SKHtuP18BAVwoPuDtBE,13553
101
- sky/clouds/nebius.py,sha256=ngH5W4G7Zo2Fgc5eir9cQu91faVKCh1bSbydGDd-su4,21663
102
- sky/clouds/oci.py,sha256=U5wtBx78RqCgCAqjlTTgSnRqWWa7D7LIvyoo8097Fno,28571
101
+ sky/clouds/nebius.py,sha256=onEFMQEKfgFEzaeGkejlOEDR6hcBPQaxDO5rrtQ7WFU,21663
102
+ sky/clouds/oci.py,sha256=Is9MP3EBoZ3zvqNTzcb57dXRinpSMp_R_CiazEu7rYM,28557
103
103
  sky/clouds/paperspace.py,sha256=-wvFUsUGaOlFYfe3jCdEB3_mwDmK4R66hJy8nX9822o,12010
104
- sky/clouds/runpod.py,sha256=vxZn5XRrj_Cub26s9vjGhA5XIrkxuvf1Iau4f13Au-I,14104
104
+ sky/clouds/runpod.py,sha256=j04EiwzT3V1pPAXCOVA_TCFTf8KkJ6BBaUvUAWhOn0Q,15875
105
105
  sky/clouds/scp.py,sha256=zXHxLKfe8B90eHNbawNiXxsGsoBDXW5InvM2E7CaRSw,16116
106
106
  sky/clouds/ssh.py,sha256=-wnX0ea9nHV1hAiHw3sdbFmXrz6XrP-mSEgFE6JWxX0,9996
107
- sky/clouds/vast.py,sha256=HlSR4zRuXaFqXmaauRfZ1Lvxv3n5tlNpviBbrRDTUIg,12338
108
- sky/clouds/vsphere.py,sha256=SonakUIwte8UdtbwScRR6E8u3WdFNwq7YynjaWRwJlA,13358
107
+ sky/clouds/vast.py,sha256=kibPy_zH4KHBdbqIw6I15yd_gDl5tgrT5NC--rBlrOI,12266
108
+ sky/clouds/vsphere.py,sha256=pIMSh7eI-3RbTDUOnFl6lzbRWRtG9KYOsLHg-bdZJ2c,13159
109
109
  sky/clouds/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
110
  sky/clouds/utils/aws_utils.py,sha256=eT1GUR-OAfKS9CM0ZOARkhAYQ779GEGwPs9OXm6lwt0,2146
111
111
  sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4t8,3555
112
112
  sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
113
113
  sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
114
114
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
115
- sky/dashboard/out/404.html,sha256=Hogw89OB77DlJHqGM7HVgPi6307ybGOvEZwsRN3Ibuk,1423
116
- sky/dashboard/out/clusters.html,sha256=fbclkPylnClPSPIWwPzz_wmPfEZb1t8mBuaTkVvyJbE,1418
117
- sky/dashboard/out/config.html,sha256=RzscPJZoG9tLY-o9EqQDcnsprjwIluliqoMJovRzZoU,1414
115
+ sky/dashboard/out/404.html,sha256=-5nixEf8-is4z7duz7bXdHxRQsLAW9NvkTZSVY-GIn8,1423
116
+ sky/dashboard/out/clusters.html,sha256=Th5OofF3tuPiENTwFb8IwVQgYXA14QC9NoiJ_hj6K54,1418
117
+ sky/dashboard/out/config.html,sha256=8iL3UtfjAhtOWPdCls73mKKPh_EtqSHwwzQwppsGEOY,1414
118
118
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
119
- sky/dashboard/out/index.html,sha256=iRFbhq3xwaqGGrVhc3rsN-aWTOvrZoRLM_gsldWZMP0,1407
120
- sky/dashboard/out/infra.html,sha256=yQkZu3F3gN446jl0MYODNTyrM9UZ2V2w_ADyYuPq8Ik,1412
121
- sky/dashboard/out/jobs.html,sha256=VVKUG_cdVfZYEoSlMR2nuTkYP_gn-FwenCdijRlGR54,1410
119
+ sky/dashboard/out/index.html,sha256=pK3_4Gb4xUsRRJMhpVScf9yGGZuO5G4x7Y4Do12Rg6E,1407
120
+ sky/dashboard/out/infra.html,sha256=K-WSNlgI0sO_webrKSwrLceyaYOQKgsgu6KCuw2bNUc,1412
121
+ sky/dashboard/out/jobs.html,sha256=91AUVGYOJIKWmM5Ugzc6PAGeZr-gmBEkCX84dnURQ5M,1410
122
122
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
123
- sky/dashboard/out/users.html,sha256=Uf3_Y4H1SgJDuXLXntUL-xMjAw7nSYjgx3wSXVDlnZ8,1412
124
- sky/dashboard/out/volumes.html,sha256=0t6xCbH6BsnlVK1Mly7azJu7lfa8BLomsl4FiH97xqc,1416
125
- sky/dashboard/out/workspaces.html,sha256=H53YA4ZxaFubCIVeTJZvPAZOUE-rZcddhE7bt_uHPKA,1422
126
- sky/dashboard/out/_next/static/ZOaq9s6U49jSoGAMkeKqu/_buildManifest.js,sha256=Pvhr9Bwcc1m2lvV4irQGV1agk9EuhOz-ZAJ0ILvukmc,2428
127
- sky/dashboard/out/_next/static/ZOaq9s6U49jSoGAMkeKqu/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
123
+ sky/dashboard/out/users.html,sha256=PM4shJ-3Bc2TqGL_e2BIkXPr2BlLT1VqYFJzWAaTfRg,1412
124
+ sky/dashboard/out/volumes.html,sha256=d0KMmtwab1S3bNjaM9NlVup6ulzVbTBtPmc4cT1N8Bs,1416
125
+ sky/dashboard/out/workspaces.html,sha256=rpijymGfq3LZBLDU4f2QJny6chUkX46OMYJl_JzLMys,1422
128
126
  sky/dashboard/out/_next/static/chunks/1121-408ed10b2f9fce17.js,sha256=WRuwuuT4OiOBZc-c8VIS-vO9wtyRdKvGN51obQLfxwA,8596
129
127
  sky/dashboard/out/_next/static/chunks/1141-943efc7aff0f0c06.js,sha256=tUOoU0nIEShZeD5pBiOWrl8-czHc6PpnxxJilnDplHM,17330
130
128
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
@@ -160,7 +158,7 @@ sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_Qbam
160
158
  sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
161
159
  sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
162
160
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
163
- sky/dashboard/out/_next/static/chunks/webpack-8df25bce0107f4bd.js,sha256=4cxO8_-DkV4TDJcj_hAJGkAGd3das3nbxPPO450edhQ,4742
161
+ sky/dashboard/out/_next/static/chunks/webpack-6f5f27e9d7900777.js,sha256=ApPe6VC9MxamBNNIq-r5C6TsW07JmYtbpuHhdcaof5s,4742
164
162
  sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
165
163
  sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
166
164
  sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js,sha256=p8CQtv5n745WbV7QdyCapmglI2s_2UBB-f_KZE4RAZg,879
@@ -179,14 +177,16 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.j
179
177
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
180
178
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js,sha256=cGCpDszMI6ckUHVelwAh9ZVk1erfz_UXSLz9GCqGUAE,1495
181
179
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
182
- sky/dashboard/out/clusters/[cluster].html,sha256=poVPJgD0xHhF4wwumqA6ud_zyeWhE0C1xsaazqeSpvc,2936
183
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=-hGCbagveX0ju1Rk8RQ1mjQcyd27DmfO-_ABa4Qa-No,2073
184
- sky/dashboard/out/infra/[context].html,sha256=syz0_IWVKUCmvftCrULks5Obwq7M_Gz8oRBqTzSXk24,1436
185
- sky/dashboard/out/jobs/[job].html,sha256=cqmLJy-rcrgmuzT8AVwD9I4oNRWjIW4Y8pz6OZTyaiw,2304
186
- sky/dashboard/out/jobs/pools/[pool].html,sha256=cvwVtfl9DkIf17LkitDFlxcE8B38uRcDtsCddnNsYpA,2142
180
+ sky/dashboard/out/_next/static/i60KpqkwvB9QVScj-NeKo/_buildManifest.js,sha256=Pvhr9Bwcc1m2lvV4irQGV1agk9EuhOz-ZAJ0ILvukmc,2428
181
+ sky/dashboard/out/_next/static/i60KpqkwvB9QVScj-NeKo/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
182
+ sky/dashboard/out/clusters/[cluster].html,sha256=FGQ9JSq54IuIPkaWV_mPfur7eunpH-gCPol4euWhNg0,2936
183
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=NfyfbnERHOP7qUI45eiHeMqj90-Uvac5Oz7N1Bsu0d4,2073
184
+ sky/dashboard/out/infra/[context].html,sha256=7hwnsldYhOcUyvYMajt6HVaH0eiXiFTa7joSvz_ecAs,1436
185
+ sky/dashboard/out/jobs/[job].html,sha256=G3BeYMD-axQgY_RKtwhAWOPp4OOOPPz7JnO-RzS2tw4,2304
186
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=cTUb3eMLJljNwD54CXS6nC4CowZmY5fJ9_2NmXB3F0k,2142
187
187
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
188
- sky/dashboard/out/workspace/new.html,sha256=jGmQmJVpdvS6OQMisthKOegfGlxt_mGcGZHOvUB9yVo,1428
189
- sky/dashboard/out/workspaces/[name].html,sha256=JjagR52vqO222gIkvZqETyFlfExaqVioJ1dNjs03HaQ,2759
188
+ sky/dashboard/out/workspace/new.html,sha256=oo1olw9X57Hjs4xig1B1J1K0bOa-Sbx4lnbRUyzPZ_o,1428
189
+ sky/dashboard/out/workspaces/[name].html,sha256=sxBTnCocuo5k39QuyE6bpgN9soL1jxjrWqweSeKWzik,2759
190
190
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
191
191
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
192
192
  sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
@@ -358,7 +358,7 @@ sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
358
358
  sky/server/common.py,sha256=0sXjJqrAg1G1oZKg3492RzYuBjzCgXp8JXqyRIf3ysk,39410
359
359
  sky/server/config.py,sha256=lWggVysR8dFn5gxk1Xab9abyCyDBcA6kehEWFmWU97I,9916
360
360
  sky/server/constants.py,sha256=yjX8t73w6gj3_SDSP4vBFdNdiOqq7dnlXT2pw3yo0jM,2321
361
- sky/server/daemons.py,sha256=Og2F560XO4n70TPxxvrbkNUujftX4V4GxRA0E6-nSrw,9206
361
+ sky/server/daemons.py,sha256=ig0AAJzDdq7lOq5psyfk1yQ8GFl0XQFnKd0qKzzGxY4,9287
362
362
  sky/server/metrics.py,sha256=G9HMhioPmx9ppbyrPAk-pyVe5yUw6LBuXD5aRqqsEfM,6140
363
363
  sky/server/rest.py,sha256=6Qcn6fjypP3j9UHdKRgvt2-PU1LKz2VU2aVQEA1D6EI,14354
364
364
  sky/server/server.py,sha256=ZCCtVsDV6uHYLEXHn9rsKFnmHfaGpDPDuNpjcw5qvZ8,81027
@@ -373,7 +373,7 @@ sky/server/html/log.html,sha256=TSGZktua9Ysl_ysg3w60rjxAxhH61AJnsYDHdtqrjmI,6929
373
373
  sky/server/html/token_page.html,sha256=eUndS5u1foL9vaWGPRTLMt7lCzD1g0wYJ2v_EeeFzlc,7046
374
374
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
375
375
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
376
- sky/server/requests/executor.py,sha256=F85YD-zMADX42W03EQNCusc374jP2Jqvz6o7YRlzCOo,28226
376
+ sky/server/requests/executor.py,sha256=y0QEqK3bcrgqPSYcsn4SmIGfInACTnDrs-9ZfbHxzJ8,28599
377
377
  sky/server/requests/payloads.py,sha256=I12nhbqrp5ggkJGnJqwYBWgmjTCYXMoVEjQ5DuqOjIM,26812
378
378
  sky/server/requests/preconditions.py,sha256=KxTAoYqpJU96Ot36NHtRq3PC3f_BXk_cHI0b2eA8U6A,7323
379
379
  sky/server/requests/process.py,sha256=UpJp5rZizNMFRCNRtudFSjbcJhFarFbtAGDWI9x_ZyE,13197
@@ -470,7 +470,7 @@ sky/utils/cluster_utils.py,sha256=S8qjky9x1vkLAN4fhLkA8atJVtjdpvueqnZLEiuD5YQ,14
470
470
  sky/utils/command_runner.py,sha256=nLOynQUqKpxqpxHcqEw34X5P24e8parWlluvziRFx2A,48779
471
471
  sky/utils/command_runner.pyi,sha256=IS3qeCTgWys94KhaHx3S2Pty8qDWn_zFht7bgDLJFcw,9593
472
472
  sky/utils/common.py,sha256=yJc110y8rwcBIKEJgb8kUD4e1OeolFEVtonwmqtAxCM,2729
473
- sky/utils/common_utils.py,sha256=mYPrgzf7Md8gpUyIw8GX0-2APjxCqYD5ByRqFquWb_I,38015
473
+ sky/utils/common_utils.py,sha256=Z4QI9nYsZSb1K_3pbREx8-j1e7SpWdlupofZprMdNU8,38535
474
474
  sky/utils/config_utils.py,sha256=agfDWJi79DH5XKD_GBvUwhRwmB0-ZkYbKCjcEgV6gP4,13861
475
475
  sky/utils/context.py,sha256=yEGvcKr9fKEeoAnNKiXDiky7dlLOChFdZYXGr0EeQ9g,9997
476
476
  sky/utils/context_utils.py,sha256=cby-QPmnGObjIE4K7eZ_dkWZdUo7YJUmnJr5oKf_v54,6712
@@ -539,9 +539,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
539
539
  sky/workspaces/core.py,sha256=AjwbbRwk0glzCnqICJk4sQzMoUcawixbXoQWKLB3-aQ,25372
540
540
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
541
541
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
542
- skypilot_nightly-1.0.0.dev20250906.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
543
- skypilot_nightly-1.0.0.dev20250906.dist-info/METADATA,sha256=hdi4k2eFWQaIGsmxGGJECeBd_m_BX6udePOLzelKCuQ,19793
544
- skypilot_nightly-1.0.0.dev20250906.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
545
- skypilot_nightly-1.0.0.dev20250906.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
546
- skypilot_nightly-1.0.0.dev20250906.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
547
- skypilot_nightly-1.0.0.dev20250906.dist-info/RECORD,,
542
+ skypilot_nightly-1.0.0.dev20250907.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
543
+ skypilot_nightly-1.0.0.dev20250907.dist-info/METADATA,sha256=TiGKM3CZMX_wbAcKCUdyBWgm8qeWTz5H2O3mAth8tKs,19793
544
+ skypilot_nightly-1.0.0.dev20250907.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
545
+ skypilot_nightly-1.0.0.dev20250907.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
546
+ skypilot_nightly-1.0.0.dev20250907.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
547
+ skypilot_nightly-1.0.0.dev20250907.dist-info/RECORD,,