skypilot-nightly 1.0.0.dev20250618__py3-none-any.whl → 1.0.0.dev20250620__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.
- sky/__init__.py +2 -2
- sky/cli.py +2 -2
- sky/client/cli/__init__.py +0 -0
- sky/client/{cli.py → cli/command.py} +97 -630
- sky/client/cli/deprecation_utils.py +99 -0
- sky/client/cli/flags.py +342 -0
- sky/dashboard/out/404.html +1 -1
- sky/dashboard/out/_next/static/chunks/{webpack-ebc2404fd6ce581c.js → webpack-0263b00d6a10e64a.js} +1 -1
- sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- sky/dashboard/out/clusters/[cluster].html +1 -1
- sky/dashboard/out/clusters.html +1 -1
- sky/dashboard/out/config.html +1 -1
- sky/dashboard/out/index.html +1 -1
- sky/dashboard/out/infra/[context].html +1 -1
- sky/dashboard/out/infra.html +1 -1
- sky/dashboard/out/jobs/[job].html +1 -1
- sky/dashboard/out/jobs.html +1 -1
- sky/dashboard/out/users.html +1 -1
- sky/dashboard/out/workspace/new.html +1 -1
- sky/dashboard/out/workspaces/[name].html +1 -1
- sky/dashboard/out/workspaces.html +1 -1
- sky/jobs/constants.py +0 -2
- sky/jobs/scheduler.py +7 -4
- sky/jobs/server/core.py +6 -3
- sky/jobs/state.py +9 -8
- sky/jobs/utils.py +1 -1
- sky/provision/common.py +10 -0
- sky/resources.py +7 -6
- sky/serve/server/core.py +5 -0
- sky/skylet/constants.py +4 -0
- sky/utils/env_options.py +6 -0
- sky/utils/schemas.py +2 -2
- {skypilot_nightly-1.0.0.dev20250618.dist-info → skypilot_nightly-1.0.0.dev20250620.dist-info}/METADATA +1 -1
- {skypilot_nightly-1.0.0.dev20250618.dist-info → skypilot_nightly-1.0.0.dev20250620.dist-info}/RECORD +40 -37
- /sky/dashboard/out/_next/static/{LRpGymRCqq-feuFyoWz4m → BO0Fgz0CZe-AElSLWzYJk}/_buildManifest.js +0 -0
- /sky/dashboard/out/_next/static/{LRpGymRCqq-feuFyoWz4m → BO0Fgz0CZe-AElSLWzYJk}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250618.dist-info → skypilot_nightly-1.0.0.dev20250620.dist-info}/WHEEL +0 -0
- {skypilot_nightly-1.0.0.dev20250618.dist-info → skypilot_nightly-1.0.0.dev20250620.dist-info}/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250618.dist-info → skypilot_nightly-1.0.0.dev20250620.dist-info}/licenses/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250618.dist-info → skypilot_nightly-1.0.0.dev20250620.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,99 @@
|
|
1
|
+
"""Utilities for deprecating commands."""
|
2
|
+
|
3
|
+
import copy
|
4
|
+
import functools
|
5
|
+
from typing import Any, Dict, Optional
|
6
|
+
|
7
|
+
import click
|
8
|
+
|
9
|
+
from sky import sky_logging
|
10
|
+
|
11
|
+
logger = sky_logging.init_logger(__name__)
|
12
|
+
|
13
|
+
|
14
|
+
def _with_deprecation_warning(
|
15
|
+
f,
|
16
|
+
original_name: str,
|
17
|
+
alias_name: str,
|
18
|
+
override_command_argument: Optional[Dict[str, Any]] = None):
|
19
|
+
|
20
|
+
@functools.wraps(f)
|
21
|
+
def wrapper(self, *args, **kwargs):
|
22
|
+
override_str = ''
|
23
|
+
if override_command_argument is not None:
|
24
|
+
overrides = []
|
25
|
+
for k, v in override_command_argument.items():
|
26
|
+
if isinstance(v, bool):
|
27
|
+
if v:
|
28
|
+
overrides.append(f'--{k}')
|
29
|
+
else:
|
30
|
+
overrides.append(f'--no-{k}')
|
31
|
+
else:
|
32
|
+
overrides.append(f'--{k.replace("_", "-")}={v}')
|
33
|
+
override_str = ' with additional arguments ' + ' '.join(overrides)
|
34
|
+
click.secho(
|
35
|
+
f'WARNING: `{alias_name}` has been renamed to `{original_name}` '
|
36
|
+
f'and will be removed in a future release. Please use the '
|
37
|
+
f'latter{override_str} instead.\n',
|
38
|
+
err=True,
|
39
|
+
fg='yellow')
|
40
|
+
return f(self, *args, **kwargs)
|
41
|
+
|
42
|
+
return wrapper
|
43
|
+
|
44
|
+
|
45
|
+
def _override_arguments(callback, override_command_argument: Dict[str, Any]):
|
46
|
+
|
47
|
+
def wrapper(*args, **kwargs):
|
48
|
+
logger.info(f'Overriding arguments: {override_command_argument}')
|
49
|
+
kwargs.update(override_command_argument)
|
50
|
+
return callback(*args, **kwargs)
|
51
|
+
|
52
|
+
return wrapper
|
53
|
+
|
54
|
+
|
55
|
+
def _add_command_alias(
|
56
|
+
group: click.Group,
|
57
|
+
command: click.Command,
|
58
|
+
hidden: bool = False,
|
59
|
+
new_group: Optional[click.Group] = None,
|
60
|
+
new_command_name: Optional[str] = None,
|
61
|
+
override_command_argument: Optional[Dict[str, Any]] = None,
|
62
|
+
with_warning: bool = True,
|
63
|
+
) -> None:
|
64
|
+
"""Add a alias of a command to a group."""
|
65
|
+
if new_group is None:
|
66
|
+
new_group = group
|
67
|
+
if new_command_name is None:
|
68
|
+
new_command_name = command.name
|
69
|
+
if new_group == group and new_command_name == command.name:
|
70
|
+
raise ValueError('Cannot add an alias to the same command.')
|
71
|
+
new_command = copy.deepcopy(command)
|
72
|
+
new_command.hidden = hidden
|
73
|
+
new_command.name = new_command_name
|
74
|
+
|
75
|
+
if override_command_argument:
|
76
|
+
new_command.callback = _override_arguments(new_command.callback,
|
77
|
+
override_command_argument)
|
78
|
+
|
79
|
+
orig = f'sky {group.name} {command.name}'
|
80
|
+
alias = f'sky {new_group.name} {new_command_name}'
|
81
|
+
if with_warning:
|
82
|
+
new_command.invoke = _with_deprecation_warning(
|
83
|
+
new_command.invoke,
|
84
|
+
orig,
|
85
|
+
alias,
|
86
|
+
override_command_argument=override_command_argument)
|
87
|
+
new_group.add_command(new_command, name=new_command_name)
|
88
|
+
|
89
|
+
|
90
|
+
def _deprecate_and_hide_command(group, command_to_deprecate,
|
91
|
+
alternative_command):
|
92
|
+
"""Hide a command and show a deprecation note, hinting the alternative."""
|
93
|
+
command_to_deprecate.hidden = True
|
94
|
+
if group is not None:
|
95
|
+
orig = f'sky {group.name} {command_to_deprecate.name}'
|
96
|
+
else:
|
97
|
+
orig = f'sky {command_to_deprecate.name}'
|
98
|
+
command_to_deprecate.invoke = _with_deprecation_warning(
|
99
|
+
command_to_deprecate.invoke, alternative_command, orig)
|
sky/client/cli/flags.py
ADDED
@@ -0,0 +1,342 @@
|
|
1
|
+
"""Flags for the CLI."""
|
2
|
+
|
3
|
+
import os
|
4
|
+
from typing import Optional, Tuple
|
5
|
+
|
6
|
+
import click
|
7
|
+
import dotenv
|
8
|
+
|
9
|
+
from sky import skypilot_config
|
10
|
+
from sky.utils import resources_utils
|
11
|
+
|
12
|
+
|
13
|
+
def _parse_env_var(env_var: str) -> Tuple[str, str]:
|
14
|
+
"""Parse env vars into a (KEY, VAL) pair."""
|
15
|
+
if '=' not in env_var:
|
16
|
+
value = os.environ.get(env_var)
|
17
|
+
if value is None:
|
18
|
+
raise click.UsageError(
|
19
|
+
f'{env_var} is not set in local environment.')
|
20
|
+
return (env_var, value)
|
21
|
+
ret = tuple(env_var.split('=', 1))
|
22
|
+
if len(ret) != 2:
|
23
|
+
raise click.UsageError(
|
24
|
+
f'Invalid env var: {env_var}. Must be in the form of KEY=VAL '
|
25
|
+
'or KEY.')
|
26
|
+
return ret[0], ret[1]
|
27
|
+
|
28
|
+
|
29
|
+
def _parse_secret_var(secret_var: str) -> Tuple[str, str]:
|
30
|
+
"""Parse secret vars into a (KEY, VAL) pair."""
|
31
|
+
if '=' not in secret_var:
|
32
|
+
value = os.environ.get(secret_var)
|
33
|
+
if value is None:
|
34
|
+
raise click.UsageError(
|
35
|
+
f'{secret_var} is not set in local environment.')
|
36
|
+
return (secret_var, value)
|
37
|
+
ret = tuple(secret_var.split('=', 1))
|
38
|
+
if len(ret) != 2:
|
39
|
+
raise click.UsageError(
|
40
|
+
f'Invalid secret var: {secret_var}. Must be in the form of KEY=VAL '
|
41
|
+
'or KEY.')
|
42
|
+
return ret[0], ret[1]
|
43
|
+
|
44
|
+
|
45
|
+
COMMON_OPTIONS = [
|
46
|
+
click.option('--async/--no-async',
|
47
|
+
'async_call',
|
48
|
+
required=False,
|
49
|
+
is_flag=True,
|
50
|
+
default=False,
|
51
|
+
help=('Run the command asynchronously.'))
|
52
|
+
]
|
53
|
+
|
54
|
+
TASK_OPTIONS = [
|
55
|
+
click.option(
|
56
|
+
'--workdir',
|
57
|
+
required=False,
|
58
|
+
type=click.Path(exists=True, file_okay=False),
|
59
|
+
help=('If specified, sync this dir to the remote working directory, '
|
60
|
+
'where the task will be invoked. '
|
61
|
+
'Overrides the "workdir" config in the YAML if both are supplied.'
|
62
|
+
)),
|
63
|
+
click.option(
|
64
|
+
'--infra',
|
65
|
+
required=False,
|
66
|
+
type=str,
|
67
|
+
help='Infrastructure to use. '
|
68
|
+
'Format: cloud, cloud/region, cloud/region/zone, '
|
69
|
+
'k8s/context-name, or ssh/node-pool-name. '
|
70
|
+
'Examples: aws, aws/us-east-1, aws/us-east-1/us-east-1a, '
|
71
|
+
# TODO(zhwu): we have to use `\*` to make sure the docs build
|
72
|
+
# not complaining about the `*`, but this will cause `--help`
|
73
|
+
# to show `\*` instead of `*`.
|
74
|
+
'aws/\\*/us-east-1a, k8s/my-context, ssh/my-nodes.'),
|
75
|
+
click.option(
|
76
|
+
'--cloud',
|
77
|
+
required=False,
|
78
|
+
type=str,
|
79
|
+
help=('The cloud to use. If specified, overrides the "resources.cloud" '
|
80
|
+
'config. Passing "none" resets the config.'),
|
81
|
+
hidden=True),
|
82
|
+
click.option(
|
83
|
+
'--region',
|
84
|
+
required=False,
|
85
|
+
type=str,
|
86
|
+
help=('The region to use. If specified, overrides the '
|
87
|
+
'"resources.region" config. Passing "none" resets the config.'),
|
88
|
+
hidden=True),
|
89
|
+
click.option(
|
90
|
+
'--zone',
|
91
|
+
required=False,
|
92
|
+
type=str,
|
93
|
+
help=('The zone to use. If specified, overrides the '
|
94
|
+
'"resources.zone" config. Passing "none" resets the config.'),
|
95
|
+
hidden=True),
|
96
|
+
click.option(
|
97
|
+
'--num-nodes',
|
98
|
+
required=False,
|
99
|
+
type=int,
|
100
|
+
help=('Number of nodes to execute the task on. '
|
101
|
+
'Overrides the "num_nodes" config in the YAML if both are '
|
102
|
+
'supplied.')),
|
103
|
+
click.option(
|
104
|
+
'--cpus',
|
105
|
+
default=None,
|
106
|
+
type=str,
|
107
|
+
required=False,
|
108
|
+
help=('Number of vCPUs each instance must have (e.g., '
|
109
|
+
'``--cpus=4`` (exactly 4) or ``--cpus=4+`` (at least 4)). '
|
110
|
+
'This is used to automatically select the instance type.')),
|
111
|
+
click.option(
|
112
|
+
'--memory',
|
113
|
+
default=None,
|
114
|
+
type=str,
|
115
|
+
required=False,
|
116
|
+
help=(
|
117
|
+
'Amount of memory each instance must have in GB (e.g., '
|
118
|
+
'``--memory=16`` (exactly 16GB), ``--memory=16+`` (at least 16GB))'
|
119
|
+
)),
|
120
|
+
click.option('--disk-size',
|
121
|
+
default=None,
|
122
|
+
type=int,
|
123
|
+
required=False,
|
124
|
+
help=('OS disk size in GBs.')),
|
125
|
+
click.option('--disk-tier',
|
126
|
+
default=None,
|
127
|
+
type=click.Choice(resources_utils.DiskTier.supported_tiers(),
|
128
|
+
case_sensitive=False),
|
129
|
+
required=False,
|
130
|
+
help=resources_utils.DiskTier.cli_help_message()),
|
131
|
+
click.option('--network-tier',
|
132
|
+
default=None,
|
133
|
+
type=click.Choice(
|
134
|
+
resources_utils.NetworkTier.supported_tiers(),
|
135
|
+
case_sensitive=False),
|
136
|
+
required=False,
|
137
|
+
help=resources_utils.NetworkTier.cli_help_message()),
|
138
|
+
click.option(
|
139
|
+
'--use-spot/--no-use-spot',
|
140
|
+
required=False,
|
141
|
+
default=None,
|
142
|
+
help=('Whether to request spot instances. If specified, overrides the '
|
143
|
+
'"resources.use_spot" config.')),
|
144
|
+
click.option('--image-id',
|
145
|
+
required=False,
|
146
|
+
default=None,
|
147
|
+
help=('Custom image id for launching the instances. '
|
148
|
+
'Passing "none" resets the config.')),
|
149
|
+
click.option('--env-file',
|
150
|
+
required=False,
|
151
|
+
type=dotenv.dotenv_values,
|
152
|
+
help="""\
|
153
|
+
Path to a dotenv file with environment variables to set on the remote
|
154
|
+
node.
|
155
|
+
|
156
|
+
If any values from ``--env-file`` conflict with values set by
|
157
|
+
``--env``, the ``--env`` value will be preferred."""),
|
158
|
+
click.option(
|
159
|
+
'--env',
|
160
|
+
required=False,
|
161
|
+
type=_parse_env_var,
|
162
|
+
multiple=True,
|
163
|
+
help="""\
|
164
|
+
Environment variable to set on the remote node.
|
165
|
+
It can be specified multiple times.
|
166
|
+
Examples:
|
167
|
+
|
168
|
+
\b
|
169
|
+
1. ``--env MY_ENV=1``: set ``$MY_ENV`` on the cluster to be 1.
|
170
|
+
|
171
|
+
2. ``--env MY_ENV2=$HOME``: set ``$MY_ENV2`` on the cluster to be the
|
172
|
+
same value of ``$HOME`` in the local environment where the CLI command
|
173
|
+
is run.
|
174
|
+
|
175
|
+
3. ``--env MY_ENV3``: set ``$MY_ENV3`` on the cluster to be the
|
176
|
+
same value of ``$MY_ENV3`` in the local environment.""",
|
177
|
+
),
|
178
|
+
click.option(
|
179
|
+
'--secret',
|
180
|
+
required=False,
|
181
|
+
type=_parse_secret_var,
|
182
|
+
multiple=True,
|
183
|
+
help="""\
|
184
|
+
Secret variable to set on the remote node. These variables will be
|
185
|
+
redacted in logs and YAML outputs for security. It can be specified
|
186
|
+
multiple times. Examples:
|
187
|
+
|
188
|
+
\b
|
189
|
+
1. ``--secret API_KEY=secret123``: set ``$API_KEY`` on the cluster to
|
190
|
+
be secret123.
|
191
|
+
|
192
|
+
2. ``--secret JWT_SECRET``: set ``$JWT_SECRET`` on the cluster to be
|
193
|
+
the same value of ``$JWT_SECRET`` in the local environment.""",
|
194
|
+
)
|
195
|
+
]
|
196
|
+
|
197
|
+
TASK_OPTIONS_WITH_NAME = [
|
198
|
+
click.option('--name',
|
199
|
+
'-n',
|
200
|
+
required=False,
|
201
|
+
type=str,
|
202
|
+
help=('Task name. Overrides the "name" '
|
203
|
+
'config in the YAML if both are supplied.')),
|
204
|
+
] + TASK_OPTIONS
|
205
|
+
|
206
|
+
EXTRA_RESOURCES_OPTIONS = [
|
207
|
+
click.option(
|
208
|
+
'--gpus',
|
209
|
+
required=False,
|
210
|
+
type=str,
|
211
|
+
help=
|
212
|
+
('Type and number of GPUs to use. Example values: '
|
213
|
+
'"V100:8", "V100" (short for a count of 1), or "V100:0.5" '
|
214
|
+
'(fractional counts are supported by the scheduling framework). '
|
215
|
+
'If a new cluster is being launched by this command, this is the '
|
216
|
+
'resources to provision. If an existing cluster is being reused, this'
|
217
|
+
' is seen as the task demand, which must fit the cluster\'s total '
|
218
|
+
'resources and is used for scheduling the task. '
|
219
|
+
'Overrides the "accelerators" '
|
220
|
+
'config in the YAML if both are supplied. '
|
221
|
+
'Passing "none" resets the config.')),
|
222
|
+
click.option(
|
223
|
+
'--instance-type',
|
224
|
+
'-t',
|
225
|
+
required=False,
|
226
|
+
type=str,
|
227
|
+
help=('The instance type to use. If specified, overrides the '
|
228
|
+
'"resources.instance_type" config. Passing "none" resets the '
|
229
|
+
'config.'),
|
230
|
+
),
|
231
|
+
click.option(
|
232
|
+
'--ports',
|
233
|
+
required=False,
|
234
|
+
type=str,
|
235
|
+
multiple=True,
|
236
|
+
help=('Ports to open on the cluster. '
|
237
|
+
'If specified, overrides the "ports" config in the YAML. '),
|
238
|
+
),
|
239
|
+
]
|
240
|
+
|
241
|
+
|
242
|
+
def config_option(expose_value: bool):
|
243
|
+
"""A decorator for the --config option.
|
244
|
+
|
245
|
+
This decorator is used to parse the --config option.
|
246
|
+
|
247
|
+
Any overrides specified in the command line will be applied to the skypilot
|
248
|
+
config before the decorated function is called.
|
249
|
+
|
250
|
+
If expose_value is True, the decorated function will receive the parsed
|
251
|
+
config overrides as 'config_override' parameter.
|
252
|
+
|
253
|
+
Args:
|
254
|
+
expose_value: Whether to expose the value of the option to the decorated
|
255
|
+
function.
|
256
|
+
"""
|
257
|
+
|
258
|
+
def preprocess_config_options(ctx, param, value):
|
259
|
+
del ctx # Unused.
|
260
|
+
param.name = 'config_override'
|
261
|
+
try:
|
262
|
+
if len(value) == 0:
|
263
|
+
return None
|
264
|
+
else:
|
265
|
+
# Apply the config overrides to the skypilot config.
|
266
|
+
return skypilot_config.apply_cli_config(value)
|
267
|
+
except ValueError as e:
|
268
|
+
raise click.BadParameter(f'{str(e)}') from e
|
269
|
+
|
270
|
+
def return_option_decorator(func):
|
271
|
+
return click.option(
|
272
|
+
'--config',
|
273
|
+
required=False,
|
274
|
+
type=str,
|
275
|
+
multiple=True,
|
276
|
+
expose_value=expose_value,
|
277
|
+
callback=preprocess_config_options,
|
278
|
+
help=('Path to a config file or a comma-separated '
|
279
|
+
'list of key-value pairs '
|
280
|
+
'(e.g. "nested.key1=val1,another.key2=val2").'),
|
281
|
+
)(func)
|
282
|
+
|
283
|
+
return return_option_decorator
|
284
|
+
|
285
|
+
|
286
|
+
def yes_option():
|
287
|
+
"""A decorator for the --yes/-y option."""
|
288
|
+
|
289
|
+
def return_option_decorator(func):
|
290
|
+
return click.option('--yes',
|
291
|
+
'-y',
|
292
|
+
is_flag=True,
|
293
|
+
default=False,
|
294
|
+
required=False,
|
295
|
+
help='Skip confirmation prompt.')(func)
|
296
|
+
|
297
|
+
return return_option_decorator
|
298
|
+
|
299
|
+
|
300
|
+
def verbose_option(helptext: Optional[str] = None):
|
301
|
+
"""A decorator for the --verbose/-v option."""
|
302
|
+
|
303
|
+
if helptext is None:
|
304
|
+
helptext = 'Show all information in full.'
|
305
|
+
|
306
|
+
def return_option_decorator(func):
|
307
|
+
return click.option('--verbose',
|
308
|
+
'-v',
|
309
|
+
default=False,
|
310
|
+
is_flag=True,
|
311
|
+
required=False,
|
312
|
+
help=helptext)(func)
|
313
|
+
|
314
|
+
return return_option_decorator
|
315
|
+
|
316
|
+
|
317
|
+
def all_option(helptext: Optional[str] = None):
|
318
|
+
"""A decorator for the --all option."""
|
319
|
+
|
320
|
+
def return_option_decorator(func):
|
321
|
+
return click.option('--all',
|
322
|
+
'-a',
|
323
|
+
is_flag=True,
|
324
|
+
default=False,
|
325
|
+
required=False,
|
326
|
+
help=helptext)(func)
|
327
|
+
|
328
|
+
return return_option_decorator
|
329
|
+
|
330
|
+
|
331
|
+
def all_users_option(helptext: Optional[str] = None):
|
332
|
+
"""A decorator for the --all-users option."""
|
333
|
+
|
334
|
+
def return_option_decorator(func):
|
335
|
+
return click.option('--all-users',
|
336
|
+
'-u',
|
337
|
+
is_flag=True,
|
338
|
+
default=False,
|
339
|
+
required=False,
|
340
|
+
help=helptext)(func)
|
341
|
+
|
342
|
+
return return_option_decorator
|
sky/dashboard/out/404.html
CHANGED
@@ -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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_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":"BO0Fgz0CZe-AElSLWzYJk","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/_next/static/chunks/{webpack-ebc2404fd6ce581c.js → webpack-0263b00d6a10e64a.js}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
!function(){"use strict";var e,t,n,r,c,o,u,a,i,f={},s={};function d(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}},r=!0;try{f[e](n,n.exports,d),r=!1}finally{r&&delete s[e]}return n.exports}d.m=f,e=[],d.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,i=0;i<n.length;i++)u>=c&&Object.keys(d.O).every(function(e){return d.O[e](n[i])})?n.splice(i--,1):(a=!1,c<u&&(u=c));if(a){e.splice(o--,1);var f=r();void 0!==f&&(t=f)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.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);d.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},d.d(c,o),c},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return 350===e?"static/chunks/350.9e123a4551f68b0d.js":491===e?"static/chunks/491.b3d264269613fe09.js":937===e?"static/chunks/937.3759f538f11a0953.js":42===e?"static/chunks/42.d39e24467181b06b.js":682===e?"static/chunks/682.4dd5dc116f740b5f.js":211===e?"static/chunks/211.692afc57e812ae1a.js":984===e?"static/chunks/984.ae8c08791d274ca0.js":641===e?"static/chunks/641.c8e452bc5070a630.js":
|
1
|
+
!function(){"use strict";var e,t,n,r,c,o,u,a,i,f={},s={};function d(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}},r=!0;try{f[e](n,n.exports,d),r=!1}finally{r&&delete s[e]}return n.exports}d.m=f,e=[],d.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,i=0;i<n.length;i++)u>=c&&Object.keys(d.O).every(function(e){return d.O[e](n[i])})?n.splice(i--,1):(a=!1,c<u&&(u=c));if(a){e.splice(o--,1);var f=r();void 0!==f&&(t=f)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.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);d.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},d.d(c,o),c},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return 350===e?"static/chunks/350.9e123a4551f68b0d.js":491===e?"static/chunks/491.b3d264269613fe09.js":937===e?"static/chunks/937.3759f538f11a0953.js":42===e?"static/chunks/42.d39e24467181b06b.js":682===e?"static/chunks/682.4dd5dc116f740b5f.js":211===e?"static/chunks/211.692afc57e812ae1a.js":984===e?"static/chunks/984.ae8c08791d274ca0.js":641===e?"static/chunks/641.c8e452bc5070a630.js":513===e?"static/chunks/513.211357a2914a34b2.js":443===e?"static/chunks/443.b2242d0efcdf5f47.js":"static/chunks/"+e+"-"+({37:"3a4d77ad62932eaf",470:"4d1a5dbe58a8a2b9",616:"d6128fa9e7cae6e6",664:"047bc03493fda379",760:"a89d354797ce7af5",798:"c0525dc3f21e488d",799:"3625946b2ec2eb30",804:"4c9fc53aa74bc191",843:"b3040e493f6e7947",856:"c2c39c0912285e54",901:"b424d293275e1fd7",938:"1493ac755eadeb35",947:"6620842ef80ae879",969:"20d54a9d998dc102",973:"db3c97c2bfbceb65"})[e]+".js"},d.miniCssF=function(e){},d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},c="_N_E:",d.l=function(e,t,n,o){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var u,a,i=document.getElementsByTagName("script"),f=0;f<i.length;f++){var s=i[f];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==c+n){u=s;break}}u||(a=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,d.nc&&u.setAttribute("nonce",d.nc),u.setAttribute("data-webpack",c+n),u.src=d.tu(e)),r[e]=[t];var l=function(t,n){u.onerror=u.onload=null,clearTimeout(b);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)},b=setTimeout(l.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=l.bind(null,u.onerror),u.onload=l.bind(null,u.onload),a&&document.head.appendChild(u)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=function(){return void 0===o&&(o={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(o=trustedTypes.createPolicy("nextjs#bundler",o))),o},d.tu=function(e){return d.tt().createScriptURL(e)},d.p="/dashboard/_next/",u={272:0},d.f.j=function(e,t){var n=d.o(u,e)?u[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(272!=e){var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var c=d.p+d.u(e),o=Error();d.l(c,function(t){if(d.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}},d.O.j=function(e){return 0===u[e]},a=function(e,t){var n,r,c=t[0],o=t[1],a=t[2],i=0;if(c.some(function(e){return 0!==u[e]})){for(n in o)d.o(o,n)&&(d.m[n]=o[n]);if(a)var f=a(d)}for(e&&e(t);i<c.length;i++)r=c[i],d.o(u,r)&&u[r]&&u[r][0](),u[r]=0;return d.O(f)},(i=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(a.bind(null,0)),i.push=a.bind(null,i.push.bind(i)),d.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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-d6128fa9e7cae6e6.js" defer=""></script><script src="/dashboard/_next/static/chunks/760-a89d354797ce7af5.js" defer=""></script><script src="/dashboard/_next/static/chunks/799-3625946b2ec2eb30.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-4c9fc53aa74bc191.js" defer=""></script><script src="/dashboard/_next/static/chunks/664-047bc03493fda379.js" defer=""></script><script src="/dashboard/_next/static/chunks/470-4d1a5dbe58a8a2b9.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-89216c616dbaa9c5.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_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":"BO0Fgz0CZe-AElSLWzYJk","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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-d6128fa9e7cae6e6.js" defer=""></script><script src="/dashboard/_next/static/chunks/760-a89d354797ce7af5.js" defer=""></script><script src="/dashboard/_next/static/chunks/799-3625946b2ec2eb30.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-4c9fc53aa74bc191.js" defer=""></script><script src="/dashboard/_next/static/chunks/664-047bc03493fda379.js" defer=""></script><script src="/dashboard/_next/static/chunks/798-c0525dc3f21e488d.js" defer=""></script><script src="/dashboard/_next/static/chunks/947-6620842ef80ae879.js" defer=""></script><script src="/dashboard/_next/static/chunks/470-4d1a5dbe58a8a2b9.js" defer=""></script><script src="/dashboard/_next/static/chunks/901-b424d293275e1fd7.js" defer=""></script><script src="/dashboard/_next/static/chunks/969-20d54a9d998dc102.js" defer=""></script><script src="/dashboard/_next/static/chunks/856-c2c39c0912285e54.js" defer=""></script><script src="/dashboard/_next/static/chunks/973-db3c97c2bfbceb65.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-1493ac755eadeb35.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-3a4d77ad62932eaf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-36bc0962129f72df.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/clusters.html
CHANGED
@@ -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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-82a651dbad53ec6e.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/config.html
CHANGED
@@ -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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-497a35a7ed49734a.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/index.html
CHANGED
@@ -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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-6b0d9e5031b70c58.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-d2910be98e9227cb.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/infra.html
CHANGED
@@ -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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-780860bcc1103945.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-d6128fa9e7cae6e6.js" defer=""></script><script src="/dashboard/_next/static/chunks/760-a89d354797ce7af5.js" defer=""></script><script src="/dashboard/_next/static/chunks/799-3625946b2ec2eb30.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-4c9fc53aa74bc191.js" defer=""></script><script src="/dashboard/_next/static/chunks/664-047bc03493fda379.js" defer=""></script><script src="/dashboard/_next/static/chunks/798-c0525dc3f21e488d.js" defer=""></script><script src="/dashboard/_next/static/chunks/470-4d1a5dbe58a8a2b9.js" defer=""></script><script src="/dashboard/_next/static/chunks/969-20d54a9d998dc102.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-cf490d1fa38f3740.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/jobs.html
CHANGED
@@ -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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-336ab80e270ce2ce.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/users.html
CHANGED
@@ -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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-
|
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/6c12ecc3bd2239b6.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/6c12ecc3bd2239b6.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-0263b00d6a10e64a.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-c416e87d5c2715cf.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-928edf039219e47b.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/BO0Fgz0CZe-AElSLWzYJk/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"BO0Fgz0CZe-AElSLWzYJk","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|