dstack 0.19.4rc3__py3-none-any.whl → 0.19.6rc1__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.
Files changed (183) hide show
  1. dstack/_internal/cli/commands/attach.py +22 -20
  2. dstack/_internal/cli/commands/offer.py +116 -0
  3. dstack/_internal/cli/main.py +2 -0
  4. dstack/_internal/cli/services/configurators/base.py +1 -2
  5. dstack/_internal/cli/services/configurators/fleet.py +43 -20
  6. dstack/_internal/cli/services/configurators/run.py +3 -3
  7. dstack/_internal/cli/utils/run.py +43 -38
  8. dstack/_internal/core/backends/aws/auth.py +1 -2
  9. dstack/_internal/core/backends/aws/compute.py +24 -9
  10. dstack/_internal/core/backends/aws/configurator.py +2 -3
  11. dstack/_internal/core/backends/aws/resources.py +10 -0
  12. dstack/_internal/core/backends/azure/auth.py +1 -2
  13. dstack/_internal/core/backends/azure/compute.py +15 -5
  14. dstack/_internal/core/backends/azure/configurator.py +4 -5
  15. dstack/_internal/core/backends/azure/resources.py +14 -0
  16. dstack/_internal/core/backends/base/compute.py +99 -31
  17. dstack/_internal/core/backends/gcp/auth.py +1 -2
  18. dstack/_internal/core/backends/gcp/compute.py +58 -14
  19. dstack/_internal/core/backends/gcp/configurator.py +2 -3
  20. dstack/_internal/core/backends/gcp/features/tcpx.py +31 -0
  21. dstack/_internal/core/backends/gcp/resources.py +10 -0
  22. dstack/_internal/core/backends/nebius/compute.py +6 -2
  23. dstack/_internal/core/backends/nebius/configurator.py +4 -10
  24. dstack/_internal/core/backends/nebius/models.py +14 -1
  25. dstack/_internal/core/backends/nebius/resources.py +91 -10
  26. dstack/_internal/core/backends/oci/auth.py +1 -2
  27. dstack/_internal/core/backends/oci/configurator.py +1 -2
  28. dstack/_internal/core/backends/runpod/compute.py +1 -1
  29. dstack/_internal/core/errors.py +4 -0
  30. dstack/_internal/core/models/common.py +2 -14
  31. dstack/_internal/core/models/configurations.py +24 -2
  32. dstack/_internal/core/models/envs.py +2 -2
  33. dstack/_internal/core/models/fleets.py +34 -3
  34. dstack/_internal/core/models/gateways.py +18 -4
  35. dstack/_internal/core/models/instances.py +2 -1
  36. dstack/_internal/core/models/profiles.py +12 -0
  37. dstack/_internal/core/models/runs.py +6 -0
  38. dstack/_internal/core/models/secrets.py +1 -1
  39. dstack/_internal/core/models/volumes.py +17 -1
  40. dstack/_internal/proxy/gateway/resources/nginx/service.jinja2 +3 -3
  41. dstack/_internal/proxy/gateway/services/nginx.py +0 -1
  42. dstack/_internal/proxy/gateway/services/registry.py +0 -1
  43. dstack/_internal/server/background/tasks/process_instances.py +12 -9
  44. dstack/_internal/server/background/tasks/process_running_jobs.py +66 -15
  45. dstack/_internal/server/routers/fleets.py +22 -0
  46. dstack/_internal/server/routers/runs.py +1 -0
  47. dstack/_internal/server/schemas/fleets.py +12 -2
  48. dstack/_internal/server/schemas/runner.py +6 -0
  49. dstack/_internal/server/schemas/runs.py +3 -0
  50. dstack/_internal/server/services/docker.py +1 -2
  51. dstack/_internal/server/services/fleets.py +30 -12
  52. dstack/_internal/server/services/gateways/__init__.py +1 -0
  53. dstack/_internal/server/services/instances.py +3 -1
  54. dstack/_internal/server/services/jobs/__init__.py +1 -2
  55. dstack/_internal/server/services/jobs/configurators/base.py +17 -8
  56. dstack/_internal/server/services/locking.py +16 -1
  57. dstack/_internal/server/services/projects.py +1 -2
  58. dstack/_internal/server/services/proxy/repo.py +1 -2
  59. dstack/_internal/server/services/runner/client.py +3 -0
  60. dstack/_internal/server/services/runs.py +19 -16
  61. dstack/_internal/server/services/services/__init__.py +1 -2
  62. dstack/_internal/server/services/volumes.py +29 -2
  63. dstack/_internal/server/statics/00a6e1fb461ed2929fb9.png +0 -0
  64. dstack/_internal/server/statics/0cae4d9f0a36034984a7.png +0 -0
  65. dstack/_internal/server/statics/391de232cc0e30cae513.png +0 -0
  66. dstack/_internal/server/statics/4e0eead8c1a73689ef9d.svg +1 -0
  67. dstack/_internal/server/statics/544afa2f63428c2235b0.png +0 -0
  68. dstack/_internal/server/statics/54a4f50f74c6b9381530.svg +7 -0
  69. dstack/_internal/server/statics/68dd1360a7d2611e0132.svg +4 -0
  70. dstack/_internal/server/statics/69544b4c81973b54a66f.png +0 -0
  71. dstack/_internal/server/statics/77a8b02b17af19e39266.png +0 -0
  72. dstack/_internal/server/statics/83a93a8871c219104367.svg +9 -0
  73. dstack/_internal/server/statics/8f28bb8e9999e5e6a48b.svg +4 -0
  74. dstack/_internal/server/statics/9124086961ab8c366bc4.svg +9 -0
  75. dstack/_internal/server/statics/9a9ebaeb54b025dbac0a.svg +5 -0
  76. dstack/_internal/server/statics/a3428392dc534f3b15c4.svg +7 -0
  77. dstack/_internal/server/statics/ae22625574d69361f72c.png +0 -0
  78. dstack/_internal/server/statics/assets/android-chrome-144x144.png +0 -0
  79. dstack/_internal/server/statics/assets/android-chrome-192x192.png +0 -0
  80. dstack/_internal/server/statics/assets/android-chrome-256x256.png +0 -0
  81. dstack/_internal/server/statics/assets/android-chrome-36x36.png +0 -0
  82. dstack/_internal/server/statics/assets/android-chrome-384x384.png +0 -0
  83. dstack/_internal/server/statics/assets/android-chrome-48x48.png +0 -0
  84. dstack/_internal/server/statics/assets/android-chrome-512x512.png +0 -0
  85. dstack/_internal/server/statics/assets/android-chrome-72x72.png +0 -0
  86. dstack/_internal/server/statics/assets/android-chrome-96x96.png +0 -0
  87. dstack/_internal/server/statics/assets/apple-touch-icon-1024x1024.png +0 -0
  88. dstack/_internal/server/statics/assets/apple-touch-icon-114x114.png +0 -0
  89. dstack/_internal/server/statics/assets/apple-touch-icon-120x120.png +0 -0
  90. dstack/_internal/server/statics/assets/apple-touch-icon-144x144.png +0 -0
  91. dstack/_internal/server/statics/assets/apple-touch-icon-152x152.png +0 -0
  92. dstack/_internal/server/statics/assets/apple-touch-icon-167x167.png +0 -0
  93. dstack/_internal/server/statics/assets/apple-touch-icon-180x180.png +0 -0
  94. dstack/_internal/server/statics/assets/apple-touch-icon-57x57.png +0 -0
  95. dstack/_internal/server/statics/assets/apple-touch-icon-60x60.png +0 -0
  96. dstack/_internal/server/statics/assets/apple-touch-icon-72x72.png +0 -0
  97. dstack/_internal/server/statics/assets/apple-touch-icon-76x76.png +0 -0
  98. dstack/_internal/server/statics/assets/apple-touch-icon-precomposed.png +0 -0
  99. dstack/_internal/server/statics/assets/apple-touch-icon.png +0 -0
  100. dstack/_internal/server/statics/assets/apple-touch-startup-image-1125x2436.png +0 -0
  101. dstack/_internal/server/statics/assets/apple-touch-startup-image-1136x640.png +0 -0
  102. dstack/_internal/server/statics/assets/apple-touch-startup-image-1170x2532.png +0 -0
  103. dstack/_internal/server/statics/assets/apple-touch-startup-image-1179x2556.png +0 -0
  104. dstack/_internal/server/statics/assets/apple-touch-startup-image-1242x2208.png +0 -0
  105. dstack/_internal/server/statics/assets/apple-touch-startup-image-1242x2688.png +0 -0
  106. dstack/_internal/server/statics/assets/apple-touch-startup-image-1284x2778.png +0 -0
  107. dstack/_internal/server/statics/assets/apple-touch-startup-image-1290x2796.png +0 -0
  108. dstack/_internal/server/statics/assets/apple-touch-startup-image-1334x750.png +0 -0
  109. dstack/_internal/server/statics/assets/apple-touch-startup-image-1488x2266.png +0 -0
  110. dstack/_internal/server/statics/assets/apple-touch-startup-image-1536x2048.png +0 -0
  111. dstack/_internal/server/statics/assets/apple-touch-startup-image-1620x2160.png +0 -0
  112. dstack/_internal/server/statics/assets/apple-touch-startup-image-1640x2160.png +0 -0
  113. dstack/_internal/server/statics/assets/apple-touch-startup-image-1668x2224.png +0 -0
  114. dstack/_internal/server/statics/assets/apple-touch-startup-image-1668x2388.png +0 -0
  115. dstack/_internal/server/statics/assets/apple-touch-startup-image-1792x828.png +0 -0
  116. dstack/_internal/server/statics/assets/apple-touch-startup-image-2048x1536.png +0 -0
  117. dstack/_internal/server/statics/assets/apple-touch-startup-image-2048x2732.png +0 -0
  118. dstack/_internal/server/statics/assets/apple-touch-startup-image-2160x1620.png +0 -0
  119. dstack/_internal/server/statics/assets/apple-touch-startup-image-2160x1640.png +0 -0
  120. dstack/_internal/server/statics/assets/apple-touch-startup-image-2208x1242.png +0 -0
  121. dstack/_internal/server/statics/assets/apple-touch-startup-image-2224x1668.png +0 -0
  122. dstack/_internal/server/statics/assets/apple-touch-startup-image-2266x1488.png +0 -0
  123. dstack/_internal/server/statics/assets/apple-touch-startup-image-2388x1668.png +0 -0
  124. dstack/_internal/server/statics/assets/apple-touch-startup-image-2436x1125.png +0 -0
  125. dstack/_internal/server/statics/assets/apple-touch-startup-image-2532x1170.png +0 -0
  126. dstack/_internal/server/statics/assets/apple-touch-startup-image-2556x1179.png +0 -0
  127. dstack/_internal/server/statics/assets/apple-touch-startup-image-2688x1242.png +0 -0
  128. dstack/_internal/server/statics/assets/apple-touch-startup-image-2732x2048.png +0 -0
  129. dstack/_internal/server/statics/assets/apple-touch-startup-image-2778x1284.png +0 -0
  130. dstack/_internal/server/statics/assets/apple-touch-startup-image-2796x1290.png +0 -0
  131. dstack/_internal/server/statics/assets/apple-touch-startup-image-640x1136.png +0 -0
  132. dstack/_internal/server/statics/assets/apple-touch-startup-image-750x1334.png +0 -0
  133. dstack/_internal/server/statics/assets/apple-touch-startup-image-828x1792.png +0 -0
  134. dstack/_internal/server/statics/assets/browserconfig.xml +12 -0
  135. dstack/_internal/server/statics/assets/favicon-16x16.png +0 -0
  136. dstack/_internal/server/statics/assets/favicon-32x32.png +0 -0
  137. dstack/_internal/server/statics/assets/favicon-48x48.png +0 -0
  138. dstack/_internal/server/statics/assets/favicon.ico +0 -0
  139. dstack/_internal/server/statics/assets/manifest.webmanifest +67 -0
  140. dstack/_internal/server/statics/assets/mstile-144x144.png +0 -0
  141. dstack/_internal/server/statics/assets/mstile-150x150.png +0 -0
  142. dstack/_internal/server/statics/assets/mstile-310x150.png +0 -0
  143. dstack/_internal/server/statics/assets/mstile-310x310.png +0 -0
  144. dstack/_internal/server/statics/assets/mstile-70x70.png +0 -0
  145. dstack/_internal/server/statics/assets/yandex-browser-50x50.png +0 -0
  146. dstack/_internal/server/statics/assets/yandex-browser-manifest.json +9 -0
  147. dstack/_internal/server/statics/b7ae68f44193474fc578.png +0 -0
  148. dstack/_internal/server/statics/d2f008c75b2b5b191f3f.png +0 -0
  149. dstack/_internal/server/statics/d44c33e1b92e05c379fd.png +0 -0
  150. dstack/_internal/server/statics/dd43ff0552815179d7ab.png +0 -0
  151. dstack/_internal/server/statics/dd4e7166c0b9aac197d7.png +0 -0
  152. dstack/_internal/server/statics/e30b27916930d43d2271.png +0 -0
  153. dstack/_internal/server/statics/e467d7d60aae81ab198b.svg +6 -0
  154. dstack/_internal/server/statics/eb9b344b73818fe2b71a.png +0 -0
  155. dstack/_internal/server/statics/f517dd626eb964120de0.png +0 -0
  156. dstack/_internal/server/statics/f958aecddee5d8e3222c.png +0 -0
  157. dstack/_internal/server/statics/index.html +3 -0
  158. dstack/_internal/server/statics/main-8f9c66f404e9c7e7e020.css +3 -0
  159. dstack/_internal/server/statics/main-b4f65323f5df007e1664.js +136480 -0
  160. dstack/_internal/server/statics/main-b4f65323f5df007e1664.js.map +1 -0
  161. dstack/_internal/server/statics/manifest.json +16 -0
  162. dstack/_internal/server/statics/robots.txt +3 -0
  163. dstack/_internal/server/statics/static/media/entraID.d65d1f3e9486a8e56d24fc07b3230885.svg +9 -0
  164. dstack/_internal/server/statics/static/media/github.1f7102513534c83a9d8d735d2b8c12a2.svg +3 -0
  165. dstack/_internal/server/statics/static/media/logo.f602feeb138844eda97c8cb641461448.svg +124 -0
  166. dstack/_internal/server/statics/static/media/okta.12f178e6873a1100965f2a4dbd18fcec.svg +2 -0
  167. dstack/_internal/server/statics/static/media/theme.3994c817bb7dda191c1c9640dee0bf42.svg +3 -0
  168. dstack/_internal/server/testing/common.py +10 -0
  169. dstack/_internal/utils/tags.py +42 -0
  170. dstack/api/server/__init__.py +3 -1
  171. dstack/api/server/_fleets.py +52 -9
  172. dstack/api/server/_gateways.py +17 -2
  173. dstack/api/server/_runs.py +34 -11
  174. dstack/api/server/_volumes.py +2 -3
  175. dstack/version.py +1 -1
  176. {dstack-0.19.4rc3.dist-info → dstack-0.19.6rc1.dist-info}/METADATA +2 -2
  177. {dstack-0.19.4rc3.dist-info → dstack-0.19.6rc1.dist-info}/RECORD +180 -76
  178. dstack-0.19.4rc3.data/data/dstack/_internal/proxy/gateway/resources/nginx/00-log-format.conf +0 -1
  179. dstack-0.19.4rc3.data/data/dstack/_internal/proxy/gateway/resources/nginx/entrypoint.jinja2 +0 -27
  180. dstack-0.19.4rc3.data/data/dstack/_internal/proxy/gateway/resources/nginx/service.jinja2 +0 -88
  181. {dstack-0.19.4rc3.dist-info → dstack-0.19.6rc1.dist-info}/WHEEL +0 -0
  182. {dstack-0.19.4rc3.dist-info → dstack-0.19.6rc1.dist-info}/entry_points.txt +0 -0
  183. {dstack-0.19.4rc3.dist-info → dstack-0.19.6rc1.dist-info}/licenses/LICENSE.md +0 -0
@@ -1,13 +1,13 @@
1
1
  dstack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- dstack/version.py,sha256=QX9EQNrJTO9OfAdIOo4tBOu8W1PO976QicadugwdkH0,67
2
+ dstack/version.py,sha256=UUpgUhdND2BCWQQIg6bu0Vl3VRKsFMFZ9MFjakM6j9w,67
3
3
  dstack/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  dstack/_internal/compat.py,sha256=bF9U9fTMfL8UVhCouedoUSTYFl7UAOiU0WXrnRoByxw,40
5
5
  dstack/_internal/settings.py,sha256=otvcNT0X5UnGZdoNIWNFZBohQRzLme9Zc6oiBzc1BEk,796
6
6
  dstack/_internal/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- dstack/_internal/cli/main.py,sha256=tVSDJxBI4qJhsDePgPkkJCEB-e98j7HSWzvcSfA64G8,3594
7
+ dstack/_internal/cli/main.py,sha256=WMYyoYKJbuuVruFgW5gtnmheRZwy51YdvSKMgRBbAQg,3693
8
8
  dstack/_internal/cli/commands/__init__.py,sha256=e8EjD8Ej7Q3_APlxAN7NBwY7dGnW-DR91nH_RgcjBXg,2023
9
9
  dstack/_internal/cli/commands/apply.py,sha256=dZH2B3Yr-lB7hs-QeUnvX0FV0Yk2x19dEO5uSFo4098,4909
10
- dstack/_internal/cli/commands/attach.py,sha256=resmqoqkIOptp9Vn4BMs8m42Txl4mPzFDhHcv_lkWJk,5033
10
+ dstack/_internal/cli/commands/attach.py,sha256=3by0imi2Wj2vUjvanPw97XUvDYxSj01YXYrrjrjNseE,5070
11
11
  dstack/_internal/cli/commands/completion.py,sha256=2gDBYNb9u1JtuvZaAzqEOy0_ZatBvwn0Aq10j138xnA,546
12
12
  dstack/_internal/cli/commands/config.py,sha256=wc4haqU2-a65DcHdIH0gLyz3ViZ05dR7RXTlPm92G9g,3113
13
13
  dstack/_internal/cli/commands/delete.py,sha256=agFBwJg8JXy1xp1UplRFLEPbix1bKvt6XvSBKpSPwYI,1418
@@ -16,6 +16,7 @@ dstack/_internal/cli/commands/gateway.py,sha256=DcD6P_MvXbSL9aXkLX9hgGYSAzARjgY6
16
16
  dstack/_internal/cli/commands/init.py,sha256=bLhSlViNWtjflB6xNq_PuCR2o2A06h222luh1NeUgVA,1169
17
17
  dstack/_internal/cli/commands/logs.py,sha256=o8ehPAKM12Xn9thg2jjnYdr7_wKqF-00ziVry8IVVwE,1528
18
18
  dstack/_internal/cli/commands/metrics.py,sha256=nxdTcyCvHNev7Mn19zGQ7vTHUBGY6hyvPtY6Z731SOU,5373
19
+ dstack/_internal/cli/commands/offer.py,sha256=rf10T9ohEC77GmZexdqF_RBCQkLYzVSAwTzZlxukNYM,4085
19
20
  dstack/_internal/cli/commands/ps.py,sha256=WUQKL-1HcoM-oFF_WX4zplO8yKGMWfVbsivg0L7LP2w,1666
20
21
  dstack/_internal/cli/commands/server.py,sha256=4K0tp_tIUStCEMpWrUkRLwe27IgAt99RPpk2H1AWnXk,2817
21
22
  dstack/_internal/cli/commands/stats.py,sha256=_CiJPQZuKHUzA1x7CHJP-leth3MmqiQ2-jwojq6G-e8,390
@@ -27,43 +28,43 @@ dstack/_internal/cli/services/completion.py,sha256=HvWHdZhXQWX1FyHf1OtQJxeuIXMXB
27
28
  dstack/_internal/cli/services/profile.py,sha256=zfLRuesv5DSnLkbOU-TouvYmGGaKvw33yTVvK7HbxII,5853
28
29
  dstack/_internal/cli/services/repos.py,sha256=ImJuElGjsR4OQ7dBquy4PCQUbBM4bR4vhyLwMrVBS7k,3307
29
30
  dstack/_internal/cli/services/configurators/__init__.py,sha256=z94VPBFqybP8Zpwy3CzYxmpPAqYBOvRRLpXoz2H4GKI,2697
30
- dstack/_internal/cli/services/configurators/base.py,sha256=DxVuF9pDqghq9mFCcTDG1CxO06IAAwvzlc9nHflCipc,3443
31
- dstack/_internal/cli/services/configurators/fleet.py,sha256=-sDWFkjlb-Z-J56g4hJiLR9uvw_9lylEMZQWpSMcgqI,13532
31
+ dstack/_internal/cli/services/configurators/base.py,sha256=bGfde2zoma28lLE8MUACO4-NKT1CdJJQJoXrzjpz0mQ,3360
32
+ dstack/_internal/cli/services/configurators/fleet.py,sha256=gxGmAI-03jk1EXwQpABMWf4DedqWnYRqJWXmvrL6ty4,13972
32
33
  dstack/_internal/cli/services/configurators/gateway.py,sha256=czB2s89s7IowOmWnpDwWErPAUlW3FvFMizImhrkQiBM,8927
33
- dstack/_internal/cli/services/configurators/run.py,sha256=Vbsgaqhnm6VrJJ8bPAqgTQgGDNbklnbdvn7tfslZlQI,23048
34
+ dstack/_internal/cli/services/configurators/run.py,sha256=7oUFcoIj4aPfJoI-o5wd4JqYrm5zsdFgQ5OHPiP4wrA,23092
34
35
  dstack/_internal/cli/services/configurators/volume.py,sha256=riMXLQbgvHIIFwLKdHfad-_0iE9wE3G_rUmXU5P3ZS8,8519
35
36
  dstack/_internal/cli/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
37
  dstack/_internal/cli/utils/common.py,sha256=rfmzqrsgR3rXW3wj0vxDdvrhUUg2aIy4A6E9MZbd55g,1763
37
38
  dstack/_internal/cli/utils/fleet.py,sha256=NpqTdcMVcuUGke9drroxDoNnmifbKV7iziqdGPLc3lk,3885
38
39
  dstack/_internal/cli/utils/gateway.py,sha256=qMYa1NTAT_O98x2_mSyWDRbiHj5fqt6xUXFh9NIUwAM,1502
39
40
  dstack/_internal/cli/utils/rich.py,sha256=Gx1MJU929kMKsbdo9qF7XHARNta2426Ssb-xMLVhwbQ,5710
40
- dstack/_internal/cli/utils/run.py,sha256=TCKTdtwrgEIV1ME3g4q_GVGzp2KHBVoJwcKjXZmS-nc,8399
41
+ dstack/_internal/cli/utils/run.py,sha256=N3S0GG0kQI8dCn5XQDNKNjxOaAFHZG6EJ-RLCYYhHow,8617
41
42
  dstack/_internal/cli/utils/updates.py,sha256=sAPYYptkFzQnGaRjv7FV7HOj-Be3IXGe63xj-sVEpv4,2566
42
43
  dstack/_internal/cli/utils/volume.py,sha256=mU9I06dVMFbpjfkefxrZNoSWadKLoib3U14rHudNQN4,1975
43
44
  dstack/_internal/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
45
  dstack/_internal/core/consts.py,sha256=c1Yd5UY6Qx7KeuYgloXWncWhMsYj6TqwlElda7NtB98,254
45
- dstack/_internal/core/errors.py,sha256=elI7vcTXJvCpg_TOcpar5nBTKiQ71vZMEly6aM_N0jg,3212
46
+ dstack/_internal/core/errors.py,sha256=zoYS3na_2qB33TRFYOKTv41XbeQsLqY6HCCpOkgAFVI,3260
46
47
  dstack/_internal/core/backends/__init__.py,sha256=fwgV8CN8Ap6MZmWklMGHHf0roliBtqne-ijjVOpWcgc,2467
47
48
  dstack/_internal/core/backends/configurators.py,sha256=JxGfZwcmL90akMFkAzzZ_fzPvU2No0pBaBqU_g0D-y0,3775
48
49
  dstack/_internal/core/backends/models.py,sha256=aKQOrDEStouuwY4MacSen7SkoyAa6HR6a6PFq5-cbNk,4088
49
50
  dstack/_internal/core/backends/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- dstack/_internal/core/backends/aws/auth.py,sha256=TzjRq01exWToWUf9BjT_58zB7L_wnNZduTdVlPmUfxg,1061
51
+ dstack/_internal/core/backends/aws/auth.py,sha256=BAe3HAedoAO42Fbv7YhpODKWlyil8M0PuRJsL-_u_kw,978
51
52
  dstack/_internal/core/backends/aws/backend.py,sha256=pjROH-S9pgrSMm-Eox_ocL7cTU6mIMRxvURq7Vi-2J8,876
52
- dstack/_internal/core/backends/aws/compute.py,sha256=cSuoudrYvGnwPv1BG526DmkWV08Vfr5VJCsxXBAI684,34849
53
- dstack/_internal/core/backends/aws/configurator.py,sha256=DT2-i3q13ZfraLyOlhRZuwT58N62ZqHN3dhvyt9JU9M,7594
53
+ dstack/_internal/core/backends/aws/compute.py,sha256=ZWJN71duMtdXEkCjZtZxv6Xc1pftvV-HvijhGu4okxY,35280
54
+ dstack/_internal/core/backends/aws/configurator.py,sha256=gGynfTQW89hUt7acAjVnZnRtCbzhno7l4baCKnBEuQI,7499
54
55
  dstack/_internal/core/backends/aws/models.py,sha256=EUCHXHmZnshe3rwI9UtjilwcUMu1Z7MO4Y4-nlZ_IcA,4404
55
- dstack/_internal/core/backends/aws/resources.py,sha256=-TeiuxMWP-ePiSV94t7wRWj5nG8jCD_IrHlpOO4xaR0,22540
56
+ dstack/_internal/core/backends/aws/resources.py,sha256=Wht_USG8ps9HQBhAYfxDxjaob9kUnr7_WDCaXNzCeE0,22837
56
57
  dstack/_internal/core/backends/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- dstack/_internal/core/backends/azure/auth.py,sha256=r1gNshi_4dvmPlY02D6y1GVZupIS_6CN5wpeLLCVg3E,1342
58
+ dstack/_internal/core/backends/azure/auth.py,sha256=CHp3QRNx3tIwkhyOY_l8WU-ElY4Pxhavoy9JSdwr15g,1259
58
59
  dstack/_internal/core/backends/azure/backend.py,sha256=XySTor8v_tLkZctDBryrFHrbVzQgNf_RUPkXQYplvwM,746
59
- dstack/_internal/core/backends/azure/compute.py,sha256=cXhBQkwi1R-s4i8KlF7B1vyeTWUKXwo1tgv_zvQ2_fg,22752
60
- dstack/_internal/core/backends/azure/configurator.py,sha256=rPkU9fOwrgusLv3OTg-TSM0Atb2abPZRl_1RtErw6Vg,17380
60
+ dstack/_internal/core/backends/azure/compute.py,sha256=JoR3ipfBqynA3E6UixHVrObfaXHtofbtnrI-7YKKNA0,23065
61
+ dstack/_internal/core/backends/azure/configurator.py,sha256=o_a1fao9Z_dwqX8UHshi2-MPuPFiO1IGLpy3NIrAPPA,17261
61
62
  dstack/_internal/core/backends/azure/models.py,sha256=izpxii8wjiC4x6gTVJAQcNtiaNdZrtSEQ57vA_eeGpQ,3055
62
- dstack/_internal/core/backends/azure/resources.py,sha256=keE3ruSSNWhSYMCkG7832TYppMMe8lDEyph0tulhd18,3048
63
+ dstack/_internal/core/backends/azure/resources.py,sha256=cJWS2Yjxdg-XtjpdBxfVDZaX_gTbuoEpmdjTxdA9uIw,3431
63
64
  dstack/_internal/core/backends/azure/utils.py,sha256=taHMJq6UHRzUXLUcO2P5VCKy3wJaye2bG-6QdkEPNdY,1741
64
65
  dstack/_internal/core/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
66
  dstack/_internal/core/backends/base/backend.py,sha256=hdFMHED1RMV9GVfLSU0yGhGE-cXlbLvt1coDA885PMM,505
66
- dstack/_internal/core/backends/base/compute.py,sha256=cgDo-01yYec6nS_yrVrWDB2NTCzVP5StOZ_VrIFHUAQ,23880
67
+ dstack/_internal/core/backends/base/compute.py,sha256=yBLwE50b8p6eagdkdaqM-PFG2CwXpDfmNv9UhVe6WWM,25861
67
68
  dstack/_internal/core/backends/base/configurator.py,sha256=OCv8N2oxcxy3In2zS1PKiCJ0a-COZwxGjBz2FYkQnfg,3807
68
69
  dstack/_internal/core/backends/base/models.py,sha256=Ij0osOl-T-ABsKLoVg2eY81DMkwdWkevAnjXj2QnLXI,532
69
70
  dstack/_internal/core/backends/base/offers.py,sha256=89H6g6Dw5WvXDEBnKoZUF-fGIE3Clc8T4lEjZ_jr71A,5909
@@ -81,14 +82,14 @@ dstack/_internal/core/backends/datacrunch/models.py,sha256=QeadH8qmcK3oDY9DfQKmX
81
82
  dstack/_internal/core/backends/dstack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
83
  dstack/_internal/core/backends/dstack/models.py,sha256=Jbe0Syez43N5i97TlIc8l-5VnUkakP5W1t_9gqhFNtc,812
83
84
  dstack/_internal/core/backends/gcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- dstack/_internal/core/backends/gcp/auth.py,sha256=dB9XU8bWy7bsstzVeXv-i9beUzm2jFDxtvf98-AYdRY,2318
85
+ dstack/_internal/core/backends/gcp/auth.py,sha256=7KPj4BLYPL0e239ilNh3OzMHkAhvnz9T2x3ZtO1NsEk,2235
85
86
  dstack/_internal/core/backends/gcp/backend.py,sha256=OvTv1c7j4LTPCIEtkwD3-q6Eo1QET8xlM8CzbY0hLmI,572
86
- dstack/_internal/core/backends/gcp/compute.py,sha256=LR-9_qGFNibQjk6oc2HVz39KsDYJBViyUhfYE3nZt20,39230
87
- dstack/_internal/core/backends/gcp/configurator.py,sha256=bDa-9pfNrkz2ZeFrddBC2ny_rNq01EWec_rzXy5cSS4,6825
87
+ dstack/_internal/core/backends/gcp/compute.py,sha256=uDPoDoqx6S29bAZBQk-Bwoz_u6oMfQB8u2FpMLZ-uDg,40815
88
+ dstack/_internal/core/backends/gcp/configurator.py,sha256=mvI7WMz8cC1YnN-0KFIIEqkfcEBehRJI0WgKnqILjv0,6730
88
89
  dstack/_internal/core/backends/gcp/models.py,sha256=biLA3rlFcoPatAZpKycuIl-8PdnNSAFiDCJjov65_zo,4612
89
- dstack/_internal/core/backends/gcp/resources.py,sha256=mbRsniyhOUT0D1O2JUiAz2QiCeAmGAkSbRtMv8fiVbA,15895
90
+ dstack/_internal/core/backends/gcp/resources.py,sha256=MueDEZwn7K-55Gbq9X9UZBPLd313XSFJwzT7htqfo6U,16208
90
91
  dstack/_internal/core/backends/gcp/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
- dstack/_internal/core/backends/gcp/features/tcpx.py,sha256=--Q0VLuyHQCWQ49LrzYdNSr0LZzacMPMXnmKr6tc7JU,1256
92
+ dstack/_internal/core/backends/gcp/features/tcpx.py,sha256=8bDR5kwF5qke5EWNdBscdbZQnC7oVXKSls3WPcoXgZI,2902
92
93
  dstack/_internal/core/backends/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
94
  dstack/_internal/core/backends/kubernetes/backend.py,sha256=Jy0_Nwn6Oro8McJIo_QeNxxq4Pmwsd7JPd5_YE8Fz9U,606
94
95
  dstack/_internal/core/backends/kubernetes/compute.py,sha256=hFQkElNHRi4DBoyLJAYXuhCV4bJi0HjzbMGtrsKrMr0,23037
@@ -106,15 +107,15 @@ dstack/_internal/core/backends/local/backend.py,sha256=KJuNXUXrg60NhLywnExD1EXH2
106
107
  dstack/_internal/core/backends/local/compute.py,sha256=OQub3qFQdWGm8Laceh-TU4KPRzJwQxRgf_tMwmXFIQk,3613
107
108
  dstack/_internal/core/backends/nebius/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
109
  dstack/_internal/core/backends/nebius/backend.py,sha256=2XqZIbSR8VzlfOnuVklXlDxNmwAkQj7txQN8VXF1j2E,566
109
- dstack/_internal/core/backends/nebius/compute.py,sha256=S-150xCX1vYz0utGMTZfiAgJhYM-FtL_7uiOPWqCUK0,11068
110
- dstack/_internal/core/backends/nebius/configurator.py,sha256=qG7n2ZpCcy7E0F9yqJlGo6yCu29Y8vT-y61fc1EGbKo,2747
111
- dstack/_internal/core/backends/nebius/models.py,sha256=5-JZDOv3k0BZ3do6F5MBoRuBnpOq54Ulh_am1KfxxJA,3535
112
- dstack/_internal/core/backends/nebius/resources.py,sha256=eWwI0cOnR3E1Kk6UVl2KTbPzSjyhSdY8Z4Ux5hPrjWw,8086
110
+ dstack/_internal/core/backends/nebius/compute.py,sha256=RiXS48V_E2TQ1i2j9SlL-45qS7RDLtX0gjLUk3zuVXg,11177
111
+ dstack/_internal/core/backends/nebius/configurator.py,sha256=_OeCP5MKBrstdGig_rflSvNzdM-HpIiyyBa631aJPys,2459
112
+ dstack/_internal/core/backends/nebius/models.py,sha256=vqY038KlBLwS3tFmMPSXKkioQJ_5SObebjsXPTA6ewU,4024
113
+ dstack/_internal/core/backends/nebius/resources.py,sha256=DZCv1p4DzgO2THrv_TnZWSRyyGapAGK7a3xTaatk34M,11140
113
114
  dstack/_internal/core/backends/oci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
- dstack/_internal/core/backends/oci/auth.py,sha256=ErDfuAvmrKlFg5OCYz5BhtlGHQmSiupl9Uaxx3W-wTE,800
115
+ dstack/_internal/core/backends/oci/auth.py,sha256=8Cr18y_LOsyRP-16yfFpT70Cofpm0clB3KawS_7aRl4,717
115
116
  dstack/_internal/core/backends/oci/backend.py,sha256=yXjVCt7n6BVLH0byYFbNFf-P9J0FwlNfxsYbKGMdoI4,536
116
117
  dstack/_internal/core/backends/oci/compute.py,sha256=jLyHz58QRcES5j98uCAS7PzTI7HG0XNO8BzrsMZSAVc,7352
117
- dstack/_internal/core/backends/oci/configurator.py,sha256=9D7iYNItr2UCxHWUeCf1p6qEiJe66EtbOZSSrAGmX8Y,5716
118
+ dstack/_internal/core/backends/oci/configurator.py,sha256=jIHmJbmam5RtcOC2Uf-MuEjSK0ej19k3-3QX8HfT3AU,5633
118
119
  dstack/_internal/core/backends/oci/exceptions.py,sha256=GxlUf7itcAQgY3m-U2ul_ZXzfUOcEcPEmisWFaoWSkA,288
119
120
  dstack/_internal/core/backends/oci/models.py,sha256=fDlY7-A0WDQeiwJzwrQl6D5ENOc-677Bz8LXyvBvF0c,2969
120
121
  dstack/_internal/core/backends/oci/region.py,sha256=a41dmlv-7jh2vP2z-0wnf0Yzdh2Donjm9aXuMgFXXKo,2935
@@ -124,7 +125,7 @@ dstack/_internal/core/backends/remote/provisioning.py,sha256=oNbomEuXIBdgYeCh6_R
124
125
  dstack/_internal/core/backends/runpod/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
126
  dstack/_internal/core/backends/runpod/api_client.py,sha256=Oet7CwQTu3sE57unqh-JvuMCBDEDPruAbGB4GyM0dM4,13427
126
127
  dstack/_internal/core/backends/runpod/backend.py,sha256=GcLbySsGY29ZGHXSqTXCxUUoTK9pxVScKly0_fkNr8c,566
127
- dstack/_internal/core/backends/runpod/compute.py,sha256=GMKuBsIkKx5kIrxz9flXTnWyuCjbfTl-gvWH8bbTt6M,10566
128
+ dstack/_internal/core/backends/runpod/compute.py,sha256=yPu7P5vpt2hoGoBfZAMDj-XCkluy0sCVMVxVhu8zllE,10559
128
129
  dstack/_internal/core/backends/runpod/configurator.py,sha256=83-_u_Xe84GXMEVePN2Fg2hW74IXLzZfp_CC2iLCKRw,2101
129
130
  dstack/_internal/core/backends/runpod/models.py,sha256=W3nO4sjvvWtfKYDZDVJ8oBSsgeGdSR-Z_PD7OpfDBgY,1466
130
131
  dstack/_internal/core/backends/template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -151,26 +152,26 @@ dstack/_internal/core/backends/vultr/compute.py,sha256=TTvsAxwHBodZQhyb3dk28_hlk
151
152
  dstack/_internal/core/backends/vultr/configurator.py,sha256=YdBeMveKaUDiLESTG3AzpSpQRzevUGpdnCGJx4tUR7g,2190
152
153
  dstack/_internal/core/backends/vultr/models.py,sha256=TkqK_lW6w5k_7wsoFiKDb6NXuTrHL6ypVm59FoyaSFY,928
153
154
  dstack/_internal/core/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
- dstack/_internal/core/models/common.py,sha256=XNfEP_lHAs398oDfSVn8kCX79GIWvl0hDs05Rz1CBic,2579
155
+ dstack/_internal/core/models/common.py,sha256=XWd79dmFGMrdpTcStH5fVmNXCKE0s7FsIorPL0saQ8w,2138
155
156
  dstack/_internal/core/models/config.py,sha256=JJ7rT7dztzTWCY5TkoyxXxTvG5D4IFYhGe7EzwkLOWQ,581
156
- dstack/_internal/core/models/configurations.py,sha256=99cQBz0nYmmeOBB1FeBGnikpTWB5rgME0nuH3E8Xl70,17764
157
- dstack/_internal/core/models/envs.py,sha256=YASrjvMcI8sSZrD26MfpGOVP9_ktFyDBX5YkBO-5Ceo,5005
158
- dstack/_internal/core/models/fleets.py,sha256=iTF1hhHoEdQ-6_VuFYzikeN01imxoBOBjTEEuP5H2FQ,10840
159
- dstack/_internal/core/models/gateways.py,sha256=o9UWYg06XKeRSOujc03VmH5jQBFwC4uhJTRo8GMgBt8,3468
160
- dstack/_internal/core/models/instances.py,sha256=cJt7VX0UsATX-imh6-KW-mgBgEZN2tahYaAS9_gHYbQ,5344
157
+ dstack/_internal/core/models/configurations.py,sha256=c2717pYpna6u2bmtmC3DlX67HtQa-Tud387mUVa4vEg,18498
158
+ dstack/_internal/core/models/envs.py,sha256=yq84YRFBILOy4x3XnGcTgYpbZ69eFTCQPgBCr9Ndov4,4969
159
+ dstack/_internal/core/models/fleets.py,sha256=o6Kgx7hh0CpGew1h0GIflWmTvSvW6vF1o53g2ccpDJQ,11894
160
+ dstack/_internal/core/models/gateways.py,sha256=_O8EWwHWLdgNoWY4P4u71KM-uEr5DDp42LXfyv1qMDI,4054
161
+ dstack/_internal/core/models/instances.py,sha256=nX48UuSK6LccFBZ0QSzKWGLuGJp5POmX5HyI93yBXpI,5392
161
162
  dstack/_internal/core/models/logs.py,sha256=Lsmtd_NrnChMjBJahUZpFb1j8Xobix9FHWf1L47FOGs,443
162
163
  dstack/_internal/core/models/metrics.py,sha256=Xb8hCXUL-ncQ3PMsErIUAJTe9gwh5jyrQ4UQoZbibsc,269
163
164
  dstack/_internal/core/models/placement.py,sha256=WJVq5ENJykyRarQzL2EeYQag_9_jV7VSAtR_xoFvPVM,720
164
- dstack/_internal/core/models/profiles.py,sha256=RlIeT9PMbN1o1hwI9O-GmpyNKcr7Ly4s3pn6mlHJK-8,9893
165
+ dstack/_internal/core/models/profiles.py,sha256=seeysTuMv1vVUmpHAZgrMUGcbMtH7hSMFIvfx0Qk__0,10406
165
166
  dstack/_internal/core/models/projects.py,sha256=H5ZZRiyUEKifpTFAhl45KBi5ly7ooE0WmI329myK360,643
166
167
  dstack/_internal/core/models/resources.py,sha256=28xfFnTd5FHjI-WOtRlIj6L4Hmh0sQAMpIMo8nVe7LE,11301
167
- dstack/_internal/core/models/runs.py,sha256=jOoT2oyQfqSGH5vMclimp9aJGR2Hl_WSFMHWTF1RPUk,17977
168
- dstack/_internal/core/models/secrets.py,sha256=OlnBI8ESBnpjSqB0-Vr3z8JcqB2Ydfiwo8IJUuM5jAc,219
168
+ dstack/_internal/core/models/runs.py,sha256=sIuAkBegFsUZIHJPQHd6ZlYxi22bzpQzz_2jxtjfuLs,18196
169
+ dstack/_internal/core/models/secrets.py,sha256=IQyemsNpSzqOCB-VlVTuc4gyPFmXXO4mhko0Ur0ey3I,221
169
170
  dstack/_internal/core/models/server.py,sha256=Hkc1v2s3KOiwslsWVmhUOAzcSeREoG-HD1SzSX9WUGg,152
170
171
  dstack/_internal/core/models/services.py,sha256=2Hpi7j0Q1shaf_0wd0C0044AJAmuYi-D3qx3PH849oI,3076
171
172
  dstack/_internal/core/models/unix.py,sha256=KxnSQELnkAjjuUgYcQKVkf-UAbYREBD8WCWDvHfOkuA,1915
172
173
  dstack/_internal/core/models/users.py,sha256=o_rd0GAmd6jufypVUs9P12NRri3rgAPDt-KxnqNNsGw,703
173
- dstack/_internal/core/models/volumes.py,sha256=EQmfTnB3oN6zbLwMqwda0X1T7oKLRRt_h5lTXvQ-siQ,6096
174
+ dstack/_internal/core/models/volumes.py,sha256=GT4UbS_hht0UuXG5KpoAA7yJSBMiQSq_kiDfzfTAexg,6708
174
175
  dstack/_internal/core/models/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
176
  dstack/_internal/core/models/backends/base.py,sha256=Fbhs90NBMceXhjORwj7c2_pVriapCGSUMBFwuR-wRIg,1091
176
177
  dstack/_internal/core/models/repos/__init__.py,sha256=7Qo1QgJ852LklUuM-mlCNFodp_XrQ4iqV7uRPiX_qm0,885
@@ -203,7 +204,7 @@ dstack/_internal/proxy/gateway/repo/repo.py,sha256=0i9FaLwDLnf8hijtRjT8hBooWj7EJ
203
204
  dstack/_internal/proxy/gateway/repo/state_v1.py,sha256=fngXqJWONuoJZEQcKHgiOGvs-ZQ3NATMzUFn67w4xxY,5943
204
205
  dstack/_internal/proxy/gateway/resources/nginx/00-log-format.conf,sha256=hqo9-5Ss1htl6s0dxXnnj1Mgjgs3ijJS8QmZ529CQaI,68
205
206
  dstack/_internal/proxy/gateway/resources/nginx/entrypoint.jinja2,sha256=umnUlm34wfoLNik3GFr1Gn2jtZMAx1-kgjBYcY3sLAU,817
206
- dstack/_internal/proxy/gateway/resources/nginx/service.jinja2,sha256=W9MB8KeM6E0HhkQhsgje-KFmj9_4JqOCvTZDQEjIfe4,2526
207
+ dstack/_internal/proxy/gateway/resources/nginx/service.jinja2,sha256=9ulU4qh1fQwJvh478srAlRcay6s9nONsEnO7NYcMa7A,2547
207
208
  dstack/_internal/proxy/gateway/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
209
  dstack/_internal/proxy/gateway/routers/auth.py,sha256=PCMYEy2HLbiSZgqrtMUH90hbMAMXHp1nSZ0j13Nlrhs,253
209
210
  dstack/_internal/proxy/gateway/routers/config.py,sha256=1UKHAPSYkeG8ULl9X3Eu6nPg94Xp-fecTObRa5Yw294,908
@@ -215,8 +216,8 @@ dstack/_internal/proxy/gateway/schemas/config.py,sha256=aMB7WTXTOhVoC06kZUicnBw9
215
216
  dstack/_internal/proxy/gateway/schemas/registry.py,sha256=Jpzz86TURuUs4g1vJD16L2pJMSn7n17ER6juYFK8Rx8,1333
216
217
  dstack/_internal/proxy/gateway/schemas/stats.py,sha256=ZbdbnujlrS0D48ymP8Fxxd7_UeDV36ok0n_Hi1Z6vfQ,275
217
218
  dstack/_internal/proxy/gateway/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
- dstack/_internal/proxy/gateway/services/nginx.py,sha256=zhb4FXUmQ-MXFgxMrGydKPoOREYkLctUOM87V1hshWE,6167
219
- dstack/_internal/proxy/gateway/services/registry.py,sha256=dmQlcOjt-ehQ7jPbsjzUwhxq84NxjmnqkU-G1XPZin0,13615
219
+ dstack/_internal/proxy/gateway/services/nginx.py,sha256=tGvs0Ci1X0aO8HjaflCgkxEXop0Z7o6euw7ADfCUOro,6149
220
+ dstack/_internal/proxy/gateway/services/registry.py,sha256=Gqyri5PaJW79iRYufawS09XHO_q7a1Re3tx2dGjBTfQ,13580
220
221
  dstack/_internal/proxy/gateway/services/server_client.py,sha256=KSnpO8iPm5wxQPU0DcW7kqUzwliaQrb3b0K8Jmk8iA0,3630
221
222
  dstack/_internal/proxy/gateway/services/stats.py,sha256=i88GpWMUlB8tZTWAQHPNh420qbgSGAhnaxNgQN2zK78,5326
222
223
  dstack/_internal/proxy/gateway/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -255,11 +256,11 @@ dstack/_internal/server/background/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5
255
256
  dstack/_internal/server/background/tasks/common.py,sha256=N7xSXbf2MoBWgbJ1e3AEzYBTf1Gn-pDXYND8Zr_YCJQ,970
256
257
  dstack/_internal/server/background/tasks/process_fleets.py,sha256=lKXUvN_b7DNjD3psHzyCt_JYsTxPFuQ86iXi8fj8GkM,3202
257
258
  dstack/_internal/server/background/tasks/process_gateways.py,sha256=hoUI1CSqbHt_uMwnzTRAEDl-LBw0wUk_W4xobIbdvRc,7017
258
- dstack/_internal/server/background/tasks/process_instances.py,sha256=De-nbzvvwiO_xtI16tRsosvQXAC3uzjynHAeWpcX51M,37970
259
+ dstack/_internal/server/background/tasks/process_instances.py,sha256=XrCUZXDU1BHM_pRxkKj-DWG2KGF1VSYXTCbr2JFCOS0,38168
259
260
  dstack/_internal/server/background/tasks/process_metrics.py,sha256=acySfsacpYbTPV9Yivs-oU37z1S2sUdWhRHdJkfBcCA,5332
260
261
  dstack/_internal/server/background/tasks/process_placement_groups.py,sha256=FqGfbzvfILdnPUfxjFPAM1ij2xd2mCDi8qufiBcUMI8,4107
261
262
  dstack/_internal/server/background/tasks/process_prometheus_metrics.py,sha256=u8hCXjOOek7VLEsmLy2VnDXFmIwTNjrJwcpWG7a1zW0,5093
262
- dstack/_internal/server/background/tasks/process_running_jobs.py,sha256=I4dIaNiClvJHEYtfuuW2Oe3hC73QkL9azYNsZ_yjmxg,33000
263
+ dstack/_internal/server/background/tasks/process_running_jobs.py,sha256=U6JdkEnpIApbiSRLKxqjNwA9WFAZY2zZNXujofhUd_g,34719
263
264
  dstack/_internal/server/background/tasks/process_runs.py,sha256=EI1W6HUyB-og3g8BDP_GsBrJjQ-Z3JvZHTuJf7CRKRM,17974
264
265
  dstack/_internal/server/background/tasks/process_submitted_jobs.py,sha256=ypZw75ZK6_vnp-434obnkFVj6Yll9UylOOydAUrWpc4,26602
265
266
  dstack/_internal/server/background/tasks/process_terminating_jobs.py,sha256=0Z3Q409RwSxOL_pgK8JktBthjtESEUH3ahwTLsTdYPk,3800
@@ -334,7 +335,7 @@ dstack/_internal/server/migrations/versions/fe72c4de8376_add_gateways.py,sha256=
334
335
  dstack/_internal/server/migrations/versions/ffa99edd1988_add_jobterminationreason_max_duration_.py,sha256=1wBIisgN25doZfAErnqyshoSSzoDHPt4nZfC2MmSWak,2324
335
336
  dstack/_internal/server/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
337
  dstack/_internal/server/routers/backends.py,sha256=vSCP-wbH-fsoKDR1TrMyQCz5UA-biiY0Lo7ERVz_L_g,4684
337
- dstack/_internal/server/routers/fleets.py,sha256=Tmw4hlviCBuntQPpp4J8XyQZyoK2-4o41OlcEP4NNtg,4867
338
+ dstack/_internal/server/routers/fleets.py,sha256=ikXeJ7phoVocU3i-_S6V5RIMygjh-KHuhEIAS5Cw1wo,5565
338
339
  dstack/_internal/server/routers/gateways.py,sha256=am5HnyWUydgUbEjIdjYBcob8CEIrx4bRtdj9kQhutkA,3149
339
340
  dstack/_internal/server/routers/instances.py,sha256=XOogTC9My2Zv0ck37_PbHKoZI-j4QeGrP2sN5wpX7Ow,1579
340
341
  dstack/_internal/server/routers/logs.py,sha256=_Euk283LbhlwHibJTKM-7YcpbeQFtWBqMfbOry3PSkU,1159
@@ -342,7 +343,7 @@ dstack/_internal/server/routers/metrics.py,sha256=VFgWhkOvxVFDLlRM_kXHYFylLcfCD6
342
343
  dstack/_internal/server/routers/projects.py,sha256=0R-w_6WXUbNo6fREAexFUQ3RoOJF2D_Iz35elKjym14,2717
343
344
  dstack/_internal/server/routers/prometheus.py,sha256=UAcOE8dpGZe4Wd0EOIlFPMbjaNjzX8A7iHlooeRvsfo,944
344
345
  dstack/_internal/server/routers/repos.py,sha256=P_zLoEQderxhCeHQJwRkrIhVcc0-cpabfyde22bWVRk,3362
345
- dstack/_internal/server/routers/runs.py,sha256=oPqyIRPwkMjj12M1IdMF2UitatqvljISAXnJAjfEJyQ,5352
346
+ dstack/_internal/server/routers/runs.py,sha256=p44c_0bqwG1v5S_qX-HKbap1nmk1F2JVqaIXihjiUfY,5388
346
347
  dstack/_internal/server/routers/secrets.py,sha256=50_qJCTYRpnGSlLyS93gqoV17wWewOVmM65PcG1bT_Y,856
347
348
  dstack/_internal/server/routers/server.py,sha256=8pQmfyZj0nbebeOK9JuKhw9JmYuIYfJnY0LuYynWnGY,346
348
349
  dstack/_internal/server/routers/users.py,sha256=YcQ2HTGWYemkqUydO6GTlh-Hq_2mJ_wFXT-wmufuj2g,3223
@@ -350,14 +351,14 @@ dstack/_internal/server/routers/volumes.py,sha256=L8ThwwHNRyRVOiK-U7aNZuT3YXDpUL
350
351
  dstack/_internal/server/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
351
352
  dstack/_internal/server/schemas/backends.py,sha256=KC6ZunAW71OCEIE_LnPO-wScJKVFXLgcVVocrLATMi0,365
352
353
  dstack/_internal/server/schemas/common.py,sha256=FCt3EwntxkykIK8ykKATmJM_gq3X3js-f8Z5tYqdQqA,230
353
- dstack/_internal/server/schemas/fleets.py,sha256=FEQopgEULLtTSV4aor-1YRlne0u9fiNuhIvQD-iM0Dw,830
354
+ dstack/_internal/server/schemas/fleets.py,sha256=9JcKe8VQM6p705lsgrp0xO08aTC32R88BJah7vZ-LgM,1101
354
355
  dstack/_internal/server/schemas/gateways.py,sha256=wrLQgSFkpxf-pijeyl2UjR8SpQXVshal6pW8wZf73Yk,1142
355
356
  dstack/_internal/server/schemas/instances.py,sha256=MedAVbKa_1F9zhdSPrjMmL-Og5Dp0cxxvfApKj29194,431
356
357
  dstack/_internal/server/schemas/logs.py,sha256=JGt39fBEFRjHhlGT1jIC6kwQhujxPO8uecjplzjTZXY,402
357
358
  dstack/_internal/server/schemas/projects.py,sha256=UmHtX0pkr3L_vPsosvRC9JneqBrYaJvVKd4OxhYySHc,566
358
359
  dstack/_internal/server/schemas/repos.py,sha256=Sit0Tqol79VOMGGp8ncZXLLsZ4INcF-pAA_jwRchYqA,666
359
- dstack/_internal/server/schemas/runner.py,sha256=OA9xfB7s-N1qaNnFYK84YROcTKZZxqAUFsTGZ4CeVOs,4312
360
- dstack/_internal/server/schemas/runs.py,sha256=bmmMwH5wB0uIgfJseQaT_8lyuathTrYzWF2rein0J68,1219
360
+ dstack/_internal/server/schemas/runner.py,sha256=L9cG4n8bt_wJQhk9iWeIHEOlOPuoE0aDXlMEfPNZX7s,4424
361
+ dstack/_internal/server/schemas/runs.py,sha256=XhlTnn67g4NWVmIJFQdy2yPK_EcnSIYOCCSex0XOIes,1341
361
362
  dstack/_internal/server/schemas/secrets.py,sha256=mfqLSM7PqxVQ-GIWB6RfPRUOvSvvaRv-JxXAYxZ6dyY,373
362
363
  dstack/_internal/server/schemas/users.py,sha256=FuDqwRVe3mOmv497vOZKjI0a_d4Wt2g4ZiCJcyfHEKA,495
363
364
  dstack/_internal/server/schemas/volumes.py,sha256=9iwaQLMhA6aj9XmtdU_9jWVhpzNOtFbDByAe-WYfYh0,673
@@ -365,22 +366,22 @@ dstack/_internal/server/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
365
366
  dstack/_internal/server/security/permissions.py,sha256=FJ_8YPhjmebA4jQjtQoAGEaj1Hahb_po0tYRCQ18aaE,4940
366
367
  dstack/_internal/server/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
367
368
  dstack/_internal/server/services/config.py,sha256=X61ypyuBQqAuWi-mVFJ7Uk1DyGfHqk8_d2C6xIG0yxE,10434
368
- dstack/_internal/server/services/docker.py,sha256=3EcYPiVsrNBGDQYOb60QJ241mzTT6lJROYQXIwt-8dk,5351
369
- dstack/_internal/server/services/fleets.py,sha256=G4kGuGa-7M6hTjvVuN8iroSWMtDjp83a-J8V9Sap4iA,26064
370
- dstack/_internal/server/services/instances.py,sha256=s-D20jyhevB85eSD7fP36OC7wtMOp88Pra104YSvDLk,18549
371
- dstack/_internal/server/services/locking.py,sha256=UV5kc-BgROBuNDpBrp8jkcf-fHPOpHLc8JufL-8mbN8,2453
369
+ dstack/_internal/server/services/docker.py,sha256=zAvjFHxIP03Td92NzbGEScz0piLjloE60tQ7vz0AeCA,5328
370
+ dstack/_internal/server/services/fleets.py,sha256=za87tcoGYxQAMjfTPSf4cBsmNHjzMFyYDltsrtlXcK0,26517
371
+ dstack/_internal/server/services/instances.py,sha256=omCzPWEIRJQx7WkwyJPmxMtkjas9KtgIFl-zLtnurBY,18610
372
+ dstack/_internal/server/services/locking.py,sha256=7JUgNSplKRx7dxC4LIpmWw81agUtslEDTeDiNMPbAVg,3013
372
373
  dstack/_internal/server/services/logging.py,sha256=Nu1628kW2hqB__N0Eyr07wGWjVWxfyJnczonTJ72kSM,417
373
374
  dstack/_internal/server/services/metrics.py,sha256=jKLy1jSCVR_crqVu_CmsOMbvMkucWBandI0SS1LDeRQ,6896
374
375
  dstack/_internal/server/services/offers.py,sha256=At_fRbFCEHBsiJiqIZMMowofO4o0pfs6tSOtFgZc8Nc,7086
375
376
  dstack/_internal/server/services/permissions.py,sha256=l7Ngdelmn65vjw13NcOdaC6lBYMRuSw6FbHzYwdK3nE,1005
376
377
  dstack/_internal/server/services/placement.py,sha256=DWZ8-iAE3o0J0xaHikuJYZzpuBiq7lj41LiAP1PfoEs,1773
377
- dstack/_internal/server/services/projects.py,sha256=Y4LEkSvOVUHHP-F2qlrwBR7rFu0CFFhbHmDTKrrNuXE,15071
378
+ dstack/_internal/server/services/projects.py,sha256=Je1iWZ-ArmyFxK1yMUzod5WRXyiIDxtuVp6pHcdctTQ,14988
378
379
  dstack/_internal/server/services/prometheus.py,sha256=xq5G-Q2BJup9lS2F6__0wUVTs-k1Gr3dYclGzo2WoWo,12474
379
380
  dstack/_internal/server/services/repos.py,sha256=f9ztN7jz_2gvD9hXF5sJwWDVyG2-NHRfjIdSukowPh8,9342
380
- dstack/_internal/server/services/runs.py,sha256=UnKog2hcA_K0oBeauByKh16Zo0TrK5KpXiprtF1OtAY,37102
381
+ dstack/_internal/server/services/runs.py,sha256=7CcA41wCtso1Ao7d9g1OEs146FlB3kedCJXcRJU3Jqk,37265
381
382
  dstack/_internal/server/services/storage.py,sha256=6I0xI_3_RpJNbKZwHjDnjrEwXGdHfiaeb5li15T-M1I,1884
382
383
  dstack/_internal/server/services/users.py,sha256=W-5xL7zsHNjeG7BBK54RWGvIrBOrw-FF0NcG_z9qhoE,7466
383
- dstack/_internal/server/services/volumes.py,sha256=nSewk8BZlfZsvpb9v94fMcJab5IaW_RB-acqSgYLT_g,14871
384
+ dstack/_internal/server/services/volumes.py,sha256=sdjSobFdY7CpB5LzZmD6oG1FfmXoF-j283hLCqowFgU,15883
384
385
  dstack/_internal/server/services/backends/__init__.py,sha256=Aqo1GoqhZ_FsLEkCcBrvReKSq6E5w4QbBLrDXfGjiKU,13154
385
386
  dstack/_internal/server/services/backends/handlers.py,sha256=j-MhBxrpdepoDG7f2tApjFnE23RVO5I15-hxHyOWnew,3251
386
387
  dstack/_internal/server/services/encryption/__init__.py,sha256=3kCw_cxC3-Un1OIofdW5Gqsm0ZCXXTlGz09cULBx_uc,3155
@@ -388,13 +389,13 @@ dstack/_internal/server/services/encryption/keys/__init__.py,sha256=47DEQpj8HBSa
388
389
  dstack/_internal/server/services/encryption/keys/aes.py,sha256=2He1p2_Rg6hnCeLIGJo-Yfdsij7so_338oY49RXuL3Q,2276
389
390
  dstack/_internal/server/services/encryption/keys/base.py,sha256=mqumJiidoexUPoqxhQG6J_SpC1WGYwkdjKm1MUWnXo8,352
390
391
  dstack/_internal/server/services/encryption/keys/identity.py,sha256=ryb_YSV6u4c7W1OsVfEpzJvZCrR4zZYlzLw_GpjpD2Q,741
391
- dstack/_internal/server/services/gateways/__init__.py,sha256=fOWSBpLocgOGNkNaYUNN_fpTwj3aqyBy54uJyzww0ig,21086
392
+ dstack/_internal/server/services/gateways/__init__.py,sha256=sFP2vyXvFrg1mqr399s30r8IFMymewXw4NrIjhMyExU,21119
392
393
  dstack/_internal/server/services/gateways/client.py,sha256=XIJX3fGBbZ_AG8qZMTSE8KAB_ojq5YJFa0OXoD_dofg,7493
393
394
  dstack/_internal/server/services/gateways/connection.py,sha256=ot3lV85XdmCT45vBWeyj57nLPcLPNm316zu3jMyeWjA,5625
394
395
  dstack/_internal/server/services/gateways/pool.py,sha256=0LclTl1tyx-doS78LeaAKjr-SMp98zuwh5f9s06JSd0,1914
395
- dstack/_internal/server/services/jobs/__init__.py,sha256=1wLSrHVBRYUk-wQd5x8a6vJLe1b5qxRRTJ-1IC6Dul0,25618
396
+ dstack/_internal/server/services/jobs/__init__.py,sha256=XR23KU--yX4sLszLoCCQDPKLw9cKgrHdkI9SgIHvwHY,25535
396
397
  dstack/_internal/server/services/jobs/configurators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
397
- dstack/_internal/server/services/jobs/configurators/base.py,sha256=e9akZ5un3XYCYRxRmc5PFCjY9jLgbIHFyk_Xl5E-9k4,11200
398
+ dstack/_internal/server/services/jobs/configurators/base.py,sha256=QSIU1OoZ794HKdwjo5iXxGUvFE8a2-g_SoYjAQjXhcI,11354
398
399
  dstack/_internal/server/services/jobs/configurators/dev.py,sha256=ufN6Sd8TwIsjQYNZE32fkAqJI7o2zjgoZThbrP-bd7U,2378
399
400
  dstack/_internal/server/services/jobs/configurators/service.py,sha256=FOWrLE-6YFSMuGqjOwYTLMV4FuIM5lCMDFjS0l0CoLI,929
400
401
  dstack/_internal/server/services/jobs/configurators/task.py,sha256=0-B3oO-61Eq4-mmlLmqJPliFKHhvvIV0tqc12slcQuA,1436
@@ -410,19 +411,124 @@ dstack/_internal/server/services/logs/gcp.py,sha256=xV-BJ4NcU8bRVAEXa0dmdYpqNy93
410
411
  dstack/_internal/server/services/proxy/__init__.py,sha256=aklmvGaGXISztQft-nH8R98WRU6x_L0Fx3RwVDhwt3g,85
411
412
  dstack/_internal/server/services/proxy/auth.py,sha256=AVhDCnk9KvxJ7Jsd8Xmotl_29V4lNuBw8mQNBhx90Ws,485
412
413
  dstack/_internal/server/services/proxy/deps.py,sha256=u4dHHKBlTgC8Fnnl3onErgE1HGKFwyZTwvq0uT6IdQ4,846
413
- dstack/_internal/server/services/proxy/repo.py,sha256=2Uy90hFeLlQBqqId9Y2tn4mJO3bie9v6FdVP0y5Z9UU,7195
414
+ dstack/_internal/server/services/proxy/repo.py,sha256=g3Inugk_Ay1J8eiAdfwpdUHNaF7cKC82jarigrtNjw8,7112
414
415
  dstack/_internal/server/services/proxy/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
415
416
  dstack/_internal/server/services/proxy/routers/service_proxy.py,sha256=5oB-SX8f_f32tTs5aJe9ZuMycHAyVTQDO9xJcFmUKCs,1953
416
417
  dstack/_internal/server/services/proxy/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
417
418
  dstack/_internal/server/services/proxy/services/service_proxy.py,sha256=4JrSxHqhBYqU1oENii89Db-bzkFWExYrOy-0mNEhWBs,4879
418
419
  dstack/_internal/server/services/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
419
- dstack/_internal/server/services/runner/client.py,sha256=O6bZkSZJ_eqO0V8HU0-YAa46tbNuRHAy7ncMgcSh6d4,15413
420
+ dstack/_internal/server/services/runner/client.py,sha256=bEA_1NvOJpznSuoVfVfvIJJ03zzAHj_lXRUbA82SbPY,15503
420
421
  dstack/_internal/server/services/runner/ssh.py,sha256=H-X0015ZPwYq5tc31ytFF1uNaUAr9itAsABI2oPJWrk,5017
421
- dstack/_internal/server/services/services/__init__.py,sha256=jHgfnhFsUhHAp_YaX_5lhu03Cv0JOaLdoF2q-nv_I1s,10945
422
+ dstack/_internal/server/services/services/__init__.py,sha256=HQz72SNN8W9gUQ5INyO_Wd8TR9j3V6qoHFGEDEI920w,10862
422
423
  dstack/_internal/server/services/services/autoscalers.py,sha256=0o_w9La-ex_P3VKG88w_XN3hkLkzryv5l1cH3pkZyAE,4315
423
424
  dstack/_internal/server/services/services/options.py,sha256=BEpZbRY4PKFVkNNWxLtY--QISqBL1_aPPzZYLPpRgvM,2234
425
+ dstack/_internal/server/statics/00a6e1fb461ed2929fb9.png,sha256=OOtPkMkLAB5vm5pJZKBQWpRmXgSYgvxH8WgaXIbaJZM,427
426
+ dstack/_internal/server/statics/0cae4d9f0a36034984a7.png,sha256=Z2vD7WPCpPCmSokeW4LcAdFaxYfOTF5UvGYPPhz6ry4,160
427
+ dstack/_internal/server/statics/391de232cc0e30cae513.png,sha256=9JBIW86hk7re23qp3NFMRTzyQE25dJ8-K-6aK-hwfu4,109
428
+ dstack/_internal/server/statics/4e0eead8c1a73689ef9d.svg,sha256=umfiQ0sjc8MveFUnzRUX7uzGnJwUCmSKBcurHD2JzDo,251
429
+ dstack/_internal/server/statics/544afa2f63428c2235b0.png,sha256=0IE77xeIFjHNT8zApwfUbnwSM9S7POhAn2GFJi_h1Ek,109
430
+ dstack/_internal/server/statics/54a4f50f74c6b9381530.svg,sha256=W3gmA52RZkEOFMZuIJ6pU5Gsquv1jGbjK9Lb-dJG7-Y,310
431
+ dstack/_internal/server/statics/68dd1360a7d2611e0132.svg,sha256=mw29vwk0u2798qLOF87qGDQJfAPJ2tdvY588bxXvYWY,779
432
+ dstack/_internal/server/statics/69544b4c81973b54a66f.png,sha256=nIi3WZanwMSf4_C11ggpKR860K1B1Kmi6HqMxq4MGZg,88
433
+ dstack/_internal/server/statics/77a8b02b17af19e39266.png,sha256=IV9c5g6PEHRYYJH1cwTdKzdCHZKq9PgTOk6sRvLM2lM,248
434
+ dstack/_internal/server/statics/83a93a8871c219104367.svg,sha256=qpHtGqayIuJuES7CfNdDmY6eeZ5eMCcloFygeHvWiJ0,672
435
+ dstack/_internal/server/statics/8f28bb8e9999e5e6a48b.svg,sha256=iqfkAfUYbgD6tlaOc79gZy01oBZihGz7o6jDu3qtE_k,1271
436
+ dstack/_internal/server/statics/9124086961ab8c366bc4.svg,sha256=KGCVNa3CB2YbrXEr6DbD2VlhpPFcehN2Ku3Muvk5ihQ,355
437
+ dstack/_internal/server/statics/9a9ebaeb54b025dbac0a.svg,sha256=loAi3SWfTXfUcAwHzX_b5JHHa0Z6rjxHSBGzPQG6bPc,2627
438
+ dstack/_internal/server/statics/a3428392dc534f3b15c4.svg,sha256=b3fX7adaQyA-ROs-3ggRvQBSEWmgy2qntM46WEVDFbs,285
439
+ dstack/_internal/server/statics/ae22625574d69361f72c.png,sha256=G9sJ6yEVrPda2fTusqVq-Y0Jq_AFEK-3HcGcAo81kTc,128
440
+ dstack/_internal/server/statics/b7ae68f44193474fc578.png,sha256=7A70J-7JnvFkMk1M0pcGi8_to2AbzvUN88OGa2Ok3RY,126
441
+ dstack/_internal/server/statics/d2f008c75b2b5b191f3f.png,sha256=GgIOhyqVzeE50b45qcmkkF_fZ-m9f6U-ctboMhjNq_Y,76
442
+ dstack/_internal/server/statics/d44c33e1b92e05c379fd.png,sha256=vFhL2sYF84k2XeKnIAbkLpYJgcXOlD7rzC3waCju9pg,115
443
+ dstack/_internal/server/statics/dd43ff0552815179d7ab.png,sha256=sLuvGT1K2FAa1cvt_ka69yMiDABQWG5qoy8bY-E4EEE,694
444
+ dstack/_internal/server/statics/dd4e7166c0b9aac197d7.png,sha256=Xc-EVVezLhryw6GWIyCb_vbzNfIV0Z9G9NFSVErMlNM,147
445
+ dstack/_internal/server/statics/e30b27916930d43d2271.png,sha256=KsL6odK_lwXwnQQBEUj4a8oSyS9GqelqE1O1PF5TSeM,170
446
+ dstack/_internal/server/statics/e467d7d60aae81ab198b.svg,sha256=_XHc9mfQZgGkcy4hSNXuuQMiPK7OymHjaG8SO0Fxeco,448
447
+ dstack/_internal/server/statics/eb9b344b73818fe2b71a.png,sha256=2H14eOCQRyZhFGJ1Kn2LH1j70kTF1Qop4vH-tiKqyPI,85
448
+ dstack/_internal/server/statics/f517dd626eb964120de0.png,sha256=4QQuNa8SqmcZ67HK6739OHCyjnAJseU1bkcn454KRQs,159
449
+ dstack/_internal/server/statics/f958aecddee5d8e3222c.png,sha256=8CoZkVNgRfOAe62X1dU-AZDvwh_nESKaQblEmaX2Xrs,87
450
+ dstack/_internal/server/statics/index.html,sha256=UxIpCGBcrAkhaLxz2qxs6X7LjOCK00brNPzVOQj_ku8,10468
451
+ dstack/_internal/server/statics/main-8f9c66f404e9c7e7e020.css,sha256=RC2sAxRMpIK3myvsxKEhLk4OsxTOt7DgWunCwyn-B34,1336694
452
+ dstack/_internal/server/statics/main-b4f65323f5df007e1664.js,sha256=tLoowY2LWIYWbB33399u56U-zu_zFI9CPhsXc5hAVN0,6521298
453
+ dstack/_internal/server/statics/main-b4f65323f5df007e1664.js.map,sha256=eMmH8b8m55dLp__vb8arNNtZemb0oMtTZ2tpJcO4aZg,8559081
454
+ dstack/_internal/server/statics/manifest.json,sha256=430w2BoWVmYYVr14lDvUxx-ROPt3VjigzeMqfLeiSCM,340
455
+ dstack/_internal/server/statics/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
456
+ dstack/_internal/server/statics/assets/android-chrome-144x144.png,sha256=tB3V-95O-VVEoawN5V1XFoMQRSK0I6gthraV8bATGaw,23414
457
+ dstack/_internal/server/statics/assets/android-chrome-192x192.png,sha256=9zMgKTcmrK5NYBPLftiStFrRCSfdHUfIS8hdV04j8fg,33316
458
+ dstack/_internal/server/statics/assets/android-chrome-256x256.png,sha256=7vIpGlnNr4gj7JwfDauED2FGnpGMJ80sf8Rb3q_ZupQ,48131
459
+ dstack/_internal/server/statics/assets/android-chrome-36x36.png,sha256=YPYiOHheuno3iG7V9UrorfgpCZ3c7r6cCex6IRfuouI,3116
460
+ dstack/_internal/server/statics/assets/android-chrome-384x384.png,sha256=sNVqqPnp5Ny2dgDzUQxdZ_P82kf9cItoNmZQ_51cvhc,74891
461
+ dstack/_internal/server/statics/assets/android-chrome-48x48.png,sha256=_1gVk6u9BYIILjs0vO56kGNuShQMaMfzKCAHzQ7yx9E,5052
462
+ dstack/_internal/server/statics/assets/android-chrome-512x512.png,sha256=biBKoMRvLo_3CIbu2Psn-tT1opgDNyhF9mZGF6hr6Hw,63892
463
+ dstack/_internal/server/statics/assets/android-chrome-72x72.png,sha256=5a4LJ3dkpI6xTbO7eqPkjLFbKxS9GPI4gAZnzgn4hko,9390
464
+ dstack/_internal/server/statics/assets/android-chrome-96x96.png,sha256=FCuq4EmawHqe7Z2Z_jXIl8y78Uaal2XbgQHPgs3bg40,13991
465
+ dstack/_internal/server/statics/assets/apple-touch-icon-1024x1024.png,sha256=5wdoKBnx7I99uqwYtqjr28s448tODY8Ilt5-kHGqjQQ,229217
466
+ dstack/_internal/server/statics/assets/apple-touch-icon-114x114.png,sha256=-PmQJBXqfu7CnEZYIhOMmMtlIlvkHPlkJhegA8Jfe0k,15443
467
+ dstack/_internal/server/statics/assets/apple-touch-icon-120x120.png,sha256=n8kLNvsX-PJWiiXJpqGi3sVj_tr12iBVRfPvGyRhj6w,16854
468
+ dstack/_internal/server/statics/assets/apple-touch-icon-144x144.png,sha256=XffJN_0n9teirqKQ0RPX8Fgh7lDsrOKkeQUXOOwl_Vo,21164
469
+ dstack/_internal/server/statics/assets/apple-touch-icon-152x152.png,sha256=7pZ_UEf9Q1ZflAJZvu83h7TIQCYis-63a6mu4kGUPZY,22926
470
+ dstack/_internal/server/statics/assets/apple-touch-icon-167x167.png,sha256=FpR9VnPSXYv6vLUibJli-WrGY5_UhdhOoPDjEXk01OI,25906
471
+ dstack/_internal/server/statics/assets/apple-touch-icon-180x180.png,sha256=_YhirXE0IgU6MhWcP5KQ0Ght0GnO9KyFdqHGE3NKd3A,28378
472
+ dstack/_internal/server/statics/assets/apple-touch-icon-57x57.png,sha256=SBdTT9F-iF-D90-Nmp620RoaxHMVsgpffaEi36XITak,5958
473
+ dstack/_internal/server/statics/assets/apple-touch-icon-60x60.png,sha256=paIxA8kF3fJ35UzewklFoHyzUyw1vBzlplteaVt0gU8,6346
474
+ dstack/_internal/server/statics/assets/apple-touch-icon-72x72.png,sha256=MMh2muJ6LPxR_UmxkxydKhizlrYcELomrnTNl46iTPg,8367
475
+ dstack/_internal/server/statics/assets/apple-touch-icon-76x76.png,sha256=LOC8_aBN2pMMx5jOUOYNJimhQlo5oCqgfu8T4VdjveY,9065
476
+ dstack/_internal/server/statics/assets/apple-touch-icon-precomposed.png,sha256=_YhirXE0IgU6MhWcP5KQ0Ght0GnO9KyFdqHGE3NKd3A,28378
477
+ dstack/_internal/server/statics/assets/apple-touch-icon.png,sha256=_YhirXE0IgU6MhWcP5KQ0Ght0GnO9KyFdqHGE3NKd3A,28378
478
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1125x2436.png,sha256=1x8zs5LhntelBnDFAkU0bh-k9b51x7eWpIEY-WCqPws,254758
479
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1136x640.png,sha256=OHo7vZQH-IharvhCwAlf86bK5SXvUp0EO7l3pnk85N4,125725
480
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1170x2532.png,sha256=0UBrwu7vA-zAQCn4enwqIRICl_qNI0FEef7fv9N7QJ8,274189
481
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1179x2556.png,sha256=cKjZse1Xw7VURo5R1guWitGUhCb2saqDsqHevKkaJSg,276591
482
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1242x2208.png,sha256=lnYlHKQIeXt8nfXqh7jeFJ63P05cDFPo-FozHq5c6w8,296375
483
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1242x2688.png,sha256=xLAeQOqZbVkAPqlO0V2KxFoXAn5SBaa1HmNjZjnEcSw,299368
484
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1284x2778.png,sha256=PtwHtICR0A-8tfnPWftUPCzIqS8uGiQFNBxjCjzOCEY,313033
485
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1290x2796.png,sha256=ArEqRhGI_ZTJVovoNFsu6EM1d8idh6Zv4Ku6gqW0aOk,315035
486
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1334x750.png,sha256=_m_OKNrKAH_zyr8oCsMh2iGNkATafWNPq2RK-zj02NA,152725
487
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1488x2266.png,sha256=n03g35GWRGCwxl1gEmh-yBe-WZXzLb8IoRqhTcQcI3U,382726
488
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1536x2048.png,sha256=9W32Dcj7dI91mPpxmLKTJRczh82WS1ZArgEasSxBjy4,436833
489
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1620x2160.png,sha256=BhanmLPxsJqKME3ZiuTQ3S7PgQTeUha5FcuVBAF6F0g,432208
490
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1640x2160.png,sha256=bMZ_9A0epYIOArpbhyJYA-_YDSQJMo2ART5rElCmJeo,443062
491
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1668x2224.png,sha256=nbGHGtdcgY5ZKlekmsJOmWb8bcynM021z8e0NkNJkyg,454450
492
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1668x2388.png,sha256=a9K-x_NUy28sbGkBC2uY8_RIta_QtiPIosAu9hRKMbk,455935
493
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-1792x828.png,sha256=RkZUfVwAurasdk3Nx8yzL_l_KMH6AaUOQCz9ftFHH-Y,179343
494
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2048x1536.png,sha256=DGXve-m_pJSa85J9O9lgnUJIyz2GZDqQmxAeo6J2enY,452936
495
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2048x2732.png,sha256=MFlVIGPDF90Od_oGGHTr9hsGkfJqMrl0XWIG26NDQlE,656677
496
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2160x1620.png,sha256=ApwnEYwHS7axnWXJnsfyBjoNK2bDzwtqBQU7H7kdccU,451174
497
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2160x1640.png,sha256=gduGlQ0svc3xeiS2cCQBw5EKVXgOp6S6UttQuhCgZyM,458353
498
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2208x1242.png,sha256=HnjQb21_QMCBVFJyKsv0qp933aUSWQXVW58tmBR0pJU,313981
499
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2224x1668.png,sha256=DZE_qH1wumVppzQI8TghiobaVUyodrdM1wULM_m2PHo,469784
500
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2266x1488.png,sha256=qTCYkc54_6E2d9hxpTsX_xiFq0UdHB1YLE_H0Oja-lc,401207
501
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2388x1668.png,sha256=R4FT-XOYnnXG2zizkj4uw08Slt1hNaEt99o1SGpceW8,471908
502
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2436x1125.png,sha256=97JAISm9Om-drG96Wh2hxCWdPaib9ndp1pcZHCDUdys,273341
503
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2532x1170.png,sha256=zHIln0AIWbm-wKGBKS6bR85d0CbQCuyKGGa9R0Fn5Do,291918
504
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2556x1179.png,sha256=fmrQR6xkoedjZmWJ2PpVyQHnMMwCoAFMEGsYlTjSG5o,294506
505
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2688x1242.png,sha256=0SDGH5op1OaHuSIUNqqNKAsRGfID6FWufXWyQeVr3o8,318170
506
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2732x2048.png,sha256=DWm8nyFvZCCPgXp1yQXPgSeIZ-Otu3FL1VdarU6LkC8,663859
507
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2778x1284.png,sha256=zAsNiFLd0ag_Zi9PgoTNjbwTDjjAqoyJVHgWncf4Nlg,337010
508
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-2796x1290.png,sha256=369FIwhW-flvWRoZgoPGw0h1-oHiHi_lhonUxzedlAE,339579
509
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-640x1136.png,sha256=YaKa9qJ400VgmIVTVcX5JhTyuv4ami6l0L1Jk0r3FIo,120634
510
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-750x1334.png,sha256=ItzZEo_5fsK99e967KGWhZqc5EezpG_EROg1PIOEbls,143986
511
+ dstack/_internal/server/statics/assets/apple-touch-startup-image-828x1792.png,sha256=-6qneU3hVFVKY2NuYqnxg2dXy1WGhh3VC9tyfsKZx-o,168730
512
+ dstack/_internal/server/statics/assets/browserconfig.xml,sha256=qc821IbBkFEGsWTFZD-6FV7nweW5eA-cYhttzcddKIc,367
513
+ dstack/_internal/server/statics/assets/favicon-16x16.png,sha256=lR2RKEm93hoMGOuP3uyAXPH4yXZaE0JORXnrA5UChA0,902
514
+ dstack/_internal/server/statics/assets/favicon-32x32.png,sha256=pflXCci-7w1gxm6usFE_6aaaNkyFhR8HnEUtFwiEq04,2579
515
+ dstack/_internal/server/statics/assets/favicon-48x48.png,sha256=_1gVk6u9BYIILjs0vO56kGNuShQMaMfzKCAHzQ7yx9E,5052
516
+ dstack/_internal/server/statics/assets/favicon.ico,sha256=RCpgjw7RwvQOuzPjG7L-1QgPoNxeWFz4HwQL5l_amjA,33310
517
+ dstack/_internal/server/statics/assets/manifest.webmanifest,sha256=QzvaL_Xg483_6ssH52rkMpKdE_p7J3C0cxb73WJFJXY,1416
518
+ dstack/_internal/server/statics/assets/mstile-144x144.png,sha256=tB3V-95O-VVEoawN5V1XFoMQRSK0I6gthraV8bATGaw,23414
519
+ dstack/_internal/server/statics/assets/mstile-150x150.png,sha256=fr0Z4cH3wZmamAfiSMqC1zlKivWnHOouxqU2VNoDFxI,25065
520
+ dstack/_internal/server/statics/assets/mstile-310x150.png,sha256=myaHLHSLQmoBQjiYWoMZflU0pAMZ5Bc7aaQY7gcOftU,25740
521
+ dstack/_internal/server/statics/assets/mstile-310x310.png,sha256=2URcB82M6AHrJcQg216mTqL0SFAEgHfq4XSyPdb8BTU,59786
522
+ dstack/_internal/server/statics/assets/mstile-70x70.png,sha256=Uh-iXux5J5EkcBPRHbvJggmxxL5i7PavtazOv4hflCg,9034
523
+ dstack/_internal/server/statics/assets/yandex-browser-50x50.png,sha256=GGaavXItFc_V5P2G2_MTLFtGDMatissn8YkdBMyGv54,5403
524
+ dstack/_internal/server/statics/assets/yandex-browser-manifest.json,sha256=wQcuGCfkNsSmCXGg2IwxcwdykLSIx7xL3Y_WtmYYLq0,147
525
+ dstack/_internal/server/statics/static/media/entraID.d65d1f3e9486a8e56d24fc07b3230885.svg,sha256=_v0ZwN0Yi2FB4XNlplXWZ-jjOtFIFabQTcC2gyPIRE4,1302
526
+ dstack/_internal/server/statics/static/media/github.1f7102513534c83a9d8d735d2b8c12a2.svg,sha256=mNW9cuKg4s5dYQv8ZMzPsYyLJgxUg4jYBTape-pIy8c,2179
527
+ dstack/_internal/server/statics/static/media/logo.f602feeb138844eda97c8cb641461448.svg,sha256=z1mS8Qo_NNRDObJ41uZfbZA0ZieZUVTnROuJjoiQabE,16373
528
+ dstack/_internal/server/statics/static/media/okta.12f178e6873a1100965f2a4dbd18fcec.svg,sha256=KqFI05gQM135zC1plF1WBRF2F7CyKL7km97WKsZjAHI,319
529
+ dstack/_internal/server/statics/static/media/theme.3994c817bb7dda191c1c9640dee0bf42.svg,sha256=ZxFFBVZWuRLqmWH4zhwGLNtKjOzHj-5MGJRunFAtu1I,561
424
530
  dstack/_internal/server/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
425
- dstack/_internal/server/testing/common.py,sha256=AaUrNag9CKKnuyHejhqobvonUlf3MrDbPi5phzpXWW0,30661
531
+ dstack/_internal/server/testing/common.py,sha256=p9-7PO1TuiCR0lwvXMSpp_J5oQ_7g9hRFSBMemQ6TlI,31086
426
532
  dstack/_internal/server/testing/conf.py,sha256=-zhujfFjTHNfQDOK-hBck32By11c_kC0OeinB3esQGg,1902
427
533
  dstack/_internal/server/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
428
534
  dstack/_internal/server/utils/common.py,sha256=PbjXtqYy1taKXpyG5ys8cIrz9MXqc9dBAsR_9D1brrk,1414
@@ -444,6 +550,7 @@ dstack/_internal/utils/network.py,sha256=vvIQulBapL6Zw50jsit7sNNbGJVKTzooqWhkVWq
444
550
  dstack/_internal/utils/path.py,sha256=YRjmRGe7TQFwsmJBHMjOQhOZo5bieVCVbxOT5J_cbpA,905
445
551
  dstack/_internal/utils/random_names.py,sha256=lVyzAmXhaSf2bAuvRFQ_ihLy42in1ydN4gJYsMw4GG8,3537
446
552
  dstack/_internal/utils/ssh.py,sha256=R5ga40BMeSrjh-siVgP6WDTngDCjnGNz8P0ztGZ3nnI,11871
553
+ dstack/_internal/utils/tags.py,sha256=Gx4aZM85E_UUCGuFZbCEFxHB5DNgrtJP15_1tFFEd1c,1292
447
554
  dstack/api/__init__.py,sha256=GNRCSbAYuQ3clL8o7-MKLT-2d6H7PntOvMpIV3D3fN8,1541
448
555
  dstack/api/utils.py,sha256=_la3CRk1vgrPGkInPI1SOr33e8Jvh8ziJC32fjvKnaU,4188
449
556
  dstack/api/_public/__init__.py,sha256=mbzsdV3nWUJRksc7czX5C0iPT3NA6YRpriQQRiXwIbY,3429
@@ -451,26 +558,23 @@ dstack/api/_public/backends.py,sha256=w_cIUVU3L1tN8VoPH6-ltq-oJewlfXWTiEFXfDvm-1
451
558
  dstack/api/_public/repos.py,sha256=2ufUtxY8WyPci9tCGYzsnyIFTXNJfTuPzDYvpTydZ6k,6133
452
559
  dstack/api/_public/runs.py,sha256=tILFldJb4EKMYYBMr5rUiD5aJGIPB4-eLXzwwcqPbVg,27828
453
560
  dstack/api/huggingface/__init__.py,sha256=oIrEij3wttLZ1yrywEGvCMd6zswMQrX5pPjrqdSi0UA,2201
454
- dstack/api/server/__init__.py,sha256=BLEbmbhRZAOQ-CAuUFm2kvyRKckYfmABokzd-67LI7c,5762
561
+ dstack/api/server/__init__.py,sha256=pkWTwAuR4SVx8zo6GNER0ERqEUcr67vljtr0ZbxV4tQ,5914
455
562
  dstack/api/server/_backends.py,sha256=tSvJ4j-yp-S-4IYo7pKHluDaSsx6Xbwo08Ff6Do85fo,1639
456
- dstack/api/server/_fleets.py,sha256=qtgG8v_pYWcAFrZV-kA61m8avEQixC_6PlfZrnUAIIg,2916
457
- dstack/api/server/_gateways.py,sha256=CtTenMdVnXRZ-yF-zDsEStutMQjNo_2MGca-EiOUxRg,2104
563
+ dstack/api/server/_fleets.py,sha256=CMxBH49WF18urYx5kj4-B0D5a26QbaO2uDr5Xg-HH0M,4480
564
+ dstack/api/server/_gateways.py,sha256=FAjSi1l6dj1H0mHuFwcCH-QbRxAxVzPI8xE2cmcvWqo,2688
458
565
  dstack/api/server/_group.py,sha256=f9a_YvwZ7s1vDTQhOWHLwm3kO84C5R_zXToD4cxAnvY,432
459
566
  dstack/api/server/_logs.py,sha256=ng8QvFAIaoVOVChTK6Wuu5BeM6y7gAdx30KEYRsn9xA,500
460
567
  dstack/api/server/_metrics.py,sha256=OPb8sLhI_U605sHOPrELgy0_6cNFLJVfpvr-qkEukRM,670
461
568
  dstack/api/server/_projects.py,sha256=g6kNSU6jer8u7Kaut1I0Ft4wRMLBBCQShJf3fOB63hQ,1440
462
569
  dstack/api/server/_repos.py,sha256=bqsKuZWyiNLE8UAdSZrYNtk1J3Gu5MXXnTMIoM9jxpI,1770
463
- dstack/api/server/_runs.py,sha256=E5Am40mNrsSiyplYok3q2RTYLYj3ZOG6INh-YyMieTE,4642
570
+ dstack/api/server/_runs.py,sha256=IYDqEOPgLWOxGSgklvX6lNhubb3gxb1vFNMGW8ClZcY,5596
464
571
  dstack/api/server/_secrets.py,sha256=VqLfrIcmBJtPxNDRkXTG44H5SWoY788YJapScUukvdY,1576
465
572
  dstack/api/server/_users.py,sha256=XzhgGKc5Tsr0-xkz3T6rGyWZ1tO7aYNhLux2eE7dAoY,1738
466
- dstack/api/server/_volumes.py,sha256=5mDHnWrOu46M3k4-VQ78lYIEZYaqp57iV9XCSChA-uI,2007
573
+ dstack/api/server/_volumes.py,sha256=xxOt8o5G-bhMh6wSvF4BDFNoqVEhlM4BXQr2KvX0pN0,1937
467
574
  dstack/api/server/utils.py,sha256=i1KX4CNXVeDj9CnytdzsJz0bxjvvfLRTb7xw8oqtEtQ,1040
468
575
  dstack/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
469
- dstack-0.19.4rc3.data/data/dstack/_internal/proxy/gateway/resources/nginx/00-log-format.conf,sha256=hqo9-5Ss1htl6s0dxXnnj1Mgjgs3ijJS8QmZ529CQaI,68
470
- dstack-0.19.4rc3.data/data/dstack/_internal/proxy/gateway/resources/nginx/entrypoint.jinja2,sha256=umnUlm34wfoLNik3GFr1Gn2jtZMAx1-kgjBYcY3sLAU,817
471
- dstack-0.19.4rc3.data/data/dstack/_internal/proxy/gateway/resources/nginx/service.jinja2,sha256=W9MB8KeM6E0HhkQhsgje-KFmj9_4JqOCvTZDQEjIfe4,2526
472
- dstack-0.19.4rc3.dist-info/METADATA,sha256=iUh7ZlLFeo2sjIXo7Cl6Qd_5HGduCxwXkIaZOQJkkx0,19377
473
- dstack-0.19.4rc3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
474
- dstack-0.19.4rc3.dist-info/entry_points.txt,sha256=GnLrMS8hx3rWAySQjA7tPNhtixV6a-brRkmal1PKoHc,58
475
- dstack-0.19.4rc3.dist-info/licenses/LICENSE.md,sha256=qDABaRGjSKVOib1U8viw2P_96sIK7Puo426784oD9f8,15976
476
- dstack-0.19.4rc3.dist-info/RECORD,,
576
+ dstack-0.19.6rc1.dist-info/METADATA,sha256=fXqtx7wlO0dEoAV7Aerh3ExEO9ZdwU0j15HT6Kio8Fw,19377
577
+ dstack-0.19.6rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
578
+ dstack-0.19.6rc1.dist-info/entry_points.txt,sha256=GnLrMS8hx3rWAySQjA7tPNhtixV6a-brRkmal1PKoHc,58
579
+ dstack-0.19.6rc1.dist-info/licenses/LICENSE.md,sha256=qDABaRGjSKVOib1U8viw2P_96sIK7Puo426784oD9f8,15976
580
+ dstack-0.19.6rc1.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- log_format dstack_stat '$time_iso8601 $host $status $request_time';
@@ -1,27 +0,0 @@
1
- server {
2
- server_name {{ domain }};
3
- location / {
4
- proxy_pass http://localhost:{{ proxy_port }}/api/models/{{ project_name }}/;
5
- proxy_set_header X-Real-IP $remote_addr;
6
- proxy_set_header Host $host;
7
- proxy_read_timeout 300s;
8
- }
9
- listen 80;
10
- {% if https %}
11
- listen 443 ssl;
12
- ssl_certificate /etc/letsencrypt/live/{{ domain }}/fullchain.pem;
13
- ssl_certificate_key /etc/letsencrypt/live/{{ domain }}/privkey.pem;
14
- include /etc/letsencrypt/options-ssl-nginx.conf;
15
- ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
16
- set $force_https 1;
17
- if ($scheme = "https") {
18
- set $force_https 0;
19
- }
20
- if ($remote_addr = 127.0.0.1) {
21
- set $force_https 0;
22
- }
23
- if ($force_https) {
24
- return 301 https://$host$request_uri;
25
- }
26
- {% endif %}
27
- }
@@ -1,88 +0,0 @@
1
- {% for zone in limit_req_zones %}
2
- limit_req_zone {{ zone.key }} zone={{ zone.name }}:10m rate={{ zone.rpm }}r/m;
3
- {% endfor %}
4
-
5
- {% if replicas %}
6
- upstream {{ run_name }} {
7
- {% for replica in replicas %}
8
- server unix:{{ replica.socket }}; # replica {{ replica.id }}
9
- {% endfor %}
10
- }
11
- {% else %}
12
-
13
- {% endif %}
14
- server {
15
- server_name {{ domain }};
16
- limit_req_status 429;
17
- access_log {{ access_log_path }} dstack_stat;
18
- client_max_body_size {{ client_max_body_size }};
19
-
20
- {% for location in locations %}
21
- location {{ location.prefix }} {
22
- {% if auth %}
23
- auth_request /_dstack_auth;
24
- {% endif %}
25
-
26
- {% if replicas %}
27
- try_files /nonexistent @$http_upgrade;
28
- {% else %}
29
- return 503;
30
- {% endif %}
31
-
32
- {% if location.limit_req %}
33
- limit_req zone={{ location.limit_req.zone }}{% if location.limit_req.burst %} burst={{ location.limit_req.burst }} nodelay{% endif %};
34
- {% endif %}
35
- }
36
- {% endfor %}
37
-
38
- {% if replicas %}
39
- location @websocket {
40
- proxy_pass http://{{ run_name }};
41
- proxy_set_header X-Real-IP $remote_addr;
42
- proxy_set_header Host $host;
43
- proxy_http_version 1.1;
44
- proxy_set_header Upgrade $http_upgrade;
45
- proxy_set_header Connection "Upgrade";
46
- proxy_read_timeout 300s;
47
- }
48
- location @ {
49
- proxy_pass http://{{ run_name }};
50
- proxy_set_header X-Real-IP $remote_addr;
51
- proxy_set_header Host $host;
52
- proxy_read_timeout 300s;
53
- }
54
- {% endif %}
55
-
56
- {% if auth %}
57
- location = /_dstack_auth {
58
- internal;
59
- if ($remote_addr = 127.0.0.1) {
60
- return 200;
61
- }
62
- proxy_pass http://localhost:{{ proxy_port }}/api/auth/{{ project_name }};
63
- proxy_pass_request_body off;
64
- proxy_set_header Content-Length "";
65
- proxy_set_header X-Original-URI $request_uri;
66
- proxy_set_header Authorization $http_authorization;
67
- }
68
- {% endif %}
69
-
70
- listen 80;
71
- {% if https %}
72
- listen 443 ssl;
73
- ssl_certificate /etc/letsencrypt/live/{{ domain }}/fullchain.pem;
74
- ssl_certificate_key /etc/letsencrypt/live/{{ domain }}/privkey.pem;
75
- include /etc/letsencrypt/options-ssl-nginx.conf;
76
- ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
77
- set $force_https 1;
78
- if ($scheme = "https") {
79
- set $force_https 0;
80
- }
81
- if ($remote_addr = 127.0.0.1) {
82
- set $force_https 0;
83
- }
84
- if ($force_https) {
85
- return 301 https://$host$request_uri;
86
- }
87
- {% endif %}
88
- }