kalavai-client 0.6.2__py3-none-any.whl → 0.6.3__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.
- kalavai_client/__init__.py +1 -1
- kalavai_client/assets/docker-compose-template.yaml +0 -47
- kalavai_client/cli.py +23 -31
- kalavai_client/core.py +4 -13
- kalavai_client/utils.py +2 -5
- {kalavai_client-0.6.2.dist-info → kalavai_client-0.6.3.dist-info}/METADATA +1 -1
- {kalavai_client-0.6.2.dist-info → kalavai_client-0.6.3.dist-info}/RECORD +10 -10
- {kalavai_client-0.6.2.dist-info → kalavai_client-0.6.3.dist-info}/LICENSE +0 -0
- {kalavai_client-0.6.2.dist-info → kalavai_client-0.6.3.dist-info}/WHEEL +0 -0
- {kalavai_client-0.6.2.dist-info → kalavai_client-0.6.3.dist-info}/entry_points.txt +0 -0
kalavai_client/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
|
2
|
-
__version__ = "0.6.
|
2
|
+
__version__ = "0.6.3"
|
@@ -14,49 +14,6 @@ services:
|
|
14
14
|
- /dev/net/tun:/dev/net/tun
|
15
15
|
restart: unless-stopped
|
16
16
|
{% endif %}
|
17
|
-
{% if backend %}
|
18
|
-
backend:
|
19
|
-
image: docker.io/bundenth/kalavai-backend:latest
|
20
|
-
container_name: backend
|
21
|
-
networks:
|
22
|
-
- kalavai-net
|
23
|
-
ports:
|
24
|
-
- "{{bridge_port | default(8001)}}:{{bridge_port | default(8001)}}"
|
25
|
-
command: >
|
26
|
-
backend
|
27
|
-
start
|
28
|
-
--bridge-port {{bridge_port | default(8001)}}
|
29
|
-
environment:
|
30
|
-
- KALAVAI_PATH=/root/.cache/kalavai
|
31
|
-
volumes:
|
32
|
-
- "{{user_path}}:/root/.cache/kalavai"
|
33
|
-
restart: unless-stopped
|
34
|
-
{% endif %}
|
35
|
-
{% if frontend %}
|
36
|
-
frontend:
|
37
|
-
container_name: frontend
|
38
|
-
image: bundenth/kalavai-gui:latest
|
39
|
-
networks:
|
40
|
-
- kalavai-net
|
41
|
-
environment:
|
42
|
-
- KALAVAI_BRIDGE_URL=http://backend
|
43
|
-
- KALAVAI_BRIDGE_PORT={{bridge_port | default(8001)}}
|
44
|
-
{% if protected_access %}
|
45
|
-
- ACCESS_KEY={{protected_access}}
|
46
|
-
{% endif %}
|
47
|
-
entrypoint: ["reflex"]
|
48
|
-
command: >
|
49
|
-
run
|
50
|
-
--backend-port {{gui_backend_port | default(8002)}}
|
51
|
-
--frontend-port {{gui_frontend_port | default(3000)}}
|
52
|
-
ports:
|
53
|
-
- "{{gui_backend_port | default(8002)}}:{{gui_backend_port | default(8002)}}"
|
54
|
-
- "{{gui_frontend_port | default(3000)}}:{{gui_frontend_port | default(3000)}}"
|
55
|
-
volumes:
|
56
|
-
- "{{user_path}}:/root/.cache/kalavai"
|
57
|
-
restart: unless-stopped
|
58
|
-
{% endif %}
|
59
|
-
|
60
17
|
# run worker only if command is set
|
61
18
|
{%if command %}
|
62
19
|
{{service_name}}:
|
@@ -107,7 +64,3 @@ services:
|
|
107
64
|
capabilities: [gpu]
|
108
65
|
{% endif %}
|
109
66
|
{% endif %}
|
110
|
-
|
111
|
-
networks:
|
112
|
-
kalavai-net:
|
113
|
-
driver: bridge
|
kalavai_client/cli.py
CHANGED
@@ -209,50 +209,42 @@ def gui__start(
|
|
209
209
|
gui_backend_port=8000,
|
210
210
|
bridge_port=8001,
|
211
211
|
log_level="critical",
|
212
|
-
protected_access=False
|
212
|
+
protected_access=False,
|
213
|
+
backend_only=False
|
213
214
|
):
|
214
215
|
"""Run GUI (docker) and kalavai core backend (api)"""
|
215
216
|
if len(set([gui_frontend_port, gui_backend_port, bridge_port])) < 3:
|
216
217
|
console.log("[red]Error: ports must be unique")
|
217
218
|
return
|
218
219
|
|
219
|
-
user_key =
|
220
|
-
if
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
"bridge_port": bridge_port,
|
230
|
-
"path": user_path("", create_path=True),
|
231
|
-
"protected_access": user_key
|
220
|
+
user_key = load_user_id()
|
221
|
+
if user_key is not None:
|
222
|
+
console.log(f"[green]Using user key: {user_key}")
|
223
|
+
if not backend_only:
|
224
|
+
values = {
|
225
|
+
"gui_frontend_port": gui_frontend_port,
|
226
|
+
"gui_backend_port": gui_backend_port,
|
227
|
+
"bridge_port": bridge_port,
|
228
|
+
"path": user_path("", create_path=True),
|
229
|
+
"protected_access": user_key
|
232
230
|
}
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
231
|
+
compose_yaml = load_template(
|
232
|
+
template_path=DOCKER_COMPOSE_GUI,
|
233
|
+
values=values)
|
234
|
+
with open(USER_GUI_COMPOSE_FILE, "w") as f:
|
235
|
+
f.write(compose_yaml)
|
236
|
+
|
237
|
+
run_cmd(f"docker compose --file {USER_GUI_COMPOSE_FILE} up -d")
|
240
238
|
|
241
|
-
|
239
|
+
console.log(f"[green]Loading GUI, may take a few minutes. It will be available at http://localhost:{gui_frontend_port}")
|
242
240
|
print(
|
243
241
|
"Deploying bridge API"
|
244
242
|
)
|
245
243
|
run_api(port=bridge_port, log_level=log_level)
|
246
|
-
run_cmd(f"docker compose --file {USER_GUI_COMPOSE_FILE} down")
|
247
|
-
console.log("[green]Kalavai GUI has been stopped")
|
248
244
|
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
Start the Kalavai backend
|
253
|
-
"""
|
254
|
-
run_api(port=bridge_port, log_level=log_level)
|
255
|
-
console.log("[green]Kalavai backend has been stopped")
|
245
|
+
if not backend_only:
|
246
|
+
run_cmd(f"docker compose --file {USER_GUI_COMPOSE_FILE} down")
|
247
|
+
console.log("[green]Kalavai GUI has been stopped")
|
256
248
|
|
257
249
|
@arguably.command
|
258
250
|
def auth(user_key, *others):
|
kalavai_client/core.py
CHANGED
@@ -573,9 +573,7 @@ def attach_to_pool(token, node_name=None):
|
|
573
573
|
generate_compose_config(
|
574
574
|
role="",
|
575
575
|
vpn_token=public_location,
|
576
|
-
node_name=node_name
|
577
|
-
backend=True,
|
578
|
-
frontend=True)
|
576
|
+
node_name=node_name)
|
579
577
|
|
580
578
|
store_server_info(
|
581
579
|
server_ip=kalavai_seed_ip,
|
@@ -639,9 +637,7 @@ def generate_worker_package(num_gpus=0, node_name=None, ip_address="0.0.0.0", st
|
|
639
637
|
num_gpus=num_gpus,
|
640
638
|
vpn_token=public_location,
|
641
639
|
node_name=node_name,
|
642
|
-
node_labels=node_labels
|
643
|
-
backend=False,
|
644
|
-
frontend=False)
|
640
|
+
node_labels=node_labels)
|
645
641
|
|
646
642
|
return compose
|
647
643
|
|
@@ -688,9 +684,7 @@ def join_pool(token, num_gpus=None, node_name=None, ip_address=None):
|
|
688
684
|
num_gpus=num_gpus,
|
689
685
|
vpn_token=public_location,
|
690
686
|
node_name=node_name,
|
691
|
-
node_labels=node_labels
|
692
|
-
backend=True,
|
693
|
-
frontend=True)
|
687
|
+
node_labels=node_labels)
|
694
688
|
|
695
689
|
store_server_info(
|
696
690
|
server_ip=kalavai_seed_ip,
|
@@ -776,10 +770,7 @@ def create_pool(
|
|
776
770
|
node_ip_address=ip_address,
|
777
771
|
num_gpus=num_gpus,
|
778
772
|
node_name=node_name,
|
779
|
-
node_labels=node_labels
|
780
|
-
backend=True,
|
781
|
-
frontend=True,
|
782
|
-
user_id=user_id
|
773
|
+
node_labels=node_labels
|
783
774
|
)
|
784
775
|
|
785
776
|
# start server
|
kalavai_client/utils.py
CHANGED
@@ -100,7 +100,7 @@ def is_storage_compatible():
|
|
100
100
|
return False
|
101
101
|
################
|
102
102
|
|
103
|
-
def generate_compose_config(role, node_name, write_to_file=True, node_ip_address="0.0.0.0", num_gpus=0, node_labels=None, pool_ip=None, vpn_token=None, pool_token=None
|
103
|
+
def generate_compose_config(role, node_name, write_to_file=True, node_ip_address="0.0.0.0", num_gpus=0, node_labels=None, pool_ip=None, vpn_token=None, pool_token=None):
|
104
104
|
|
105
105
|
if node_labels is not None:
|
106
106
|
node_labels = " ".join([f"--node-label {key}={value}" for key, value in node_labels.items()])
|
@@ -121,10 +121,7 @@ def generate_compose_config(role, node_name, write_to_file=True, node_ip_address
|
|
121
121
|
"k3s_path": f"{CONTAINER_HOST_PATH}/{rand_suffix}/k3s",
|
122
122
|
"etc_path": f"{CONTAINER_HOST_PATH}/{rand_suffix}/etc",
|
123
123
|
"node_labels": node_labels,
|
124
|
-
"flannel_iface": DEFAULT_FLANNEL_IFACE if vpn_token is not None else ""
|
125
|
-
"backend": backend,
|
126
|
-
"frontend": frontend,
|
127
|
-
"protected_access": user_id
|
124
|
+
"flannel_iface": DEFAULT_FLANNEL_IFACE if vpn_token is not None else ""
|
128
125
|
}
|
129
126
|
# generate local config files
|
130
127
|
compose_yaml = load_template(
|
@@ -1,10 +1,10 @@
|
|
1
|
-
kalavai_client/__init__.py,sha256=
|
1
|
+
kalavai_client/__init__.py,sha256=YPRovmUtXL2teOic_KNYxHp09zJ6yS_T_hR6yiFy5hI,22
|
2
2
|
kalavai_client/__main__.py,sha256=WQUfxvRsBJH5gsCJg8pLz95QnZIj7Ol8psTO77m0QE0,73
|
3
3
|
kalavai_client/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
kalavai_client/assets/apps.yaml,sha256=H2HZQ_oqdNz2qPDs5_NtHvJo4rblH1DRPugzQYq_t5Q,6366
|
5
5
|
kalavai_client/assets/apps_values.yaml,sha256=WRew3bS1MztjzcJfphuJcKn0n2T1ICRupPpr_Csjt_s,1644
|
6
6
|
kalavai_client/assets/docker-compose-gui.yaml,sha256=DGCyGYzz1kH6kkMbo62FJHe3F9vcAmA8DOHw-c_o0Kw,752
|
7
|
-
kalavai_client/assets/docker-compose-template.yaml,sha256=
|
7
|
+
kalavai_client/assets/docker-compose-template.yaml,sha256=88Bi8mxynoK9lHi4d_yqaRVQCwbJfzkY8SUoYnEArRU,1589
|
8
8
|
kalavai_client/assets/nginx.conf,sha256=drVVCg8GHucz7hmt_BI6giAhK92OV71257NTs3LthwM,225
|
9
9
|
kalavai_client/assets/pool_config_template.yaml,sha256=fFz4w2-fMKD5KvyzFdfcWD_jSneRlmnjLc8hCctweX0,576
|
10
10
|
kalavai_client/assets/pool_config_values.yaml,sha256=VrM3XHQfQo6QLZ68qvagooUptaYgl1pszniY_JUtemk,233
|
@@ -13,13 +13,13 @@ kalavai_client/assets/user_workspace_values.yaml,sha256=G0HOzQUxrDMCwuW9kbWUZaKM
|
|
13
13
|
kalavai_client/auth.py,sha256=EB3PMvKUn5_KAQkezkEHEt-OMZXyfkZguIQlUFkEHcA,3243
|
14
14
|
kalavai_client/bridge_api.py,sha256=KecIZvsGRiZgUQaDSgvRBLaqPDBhxFKS6FBH_w5ArCc,7015
|
15
15
|
kalavai_client/bridge_models.py,sha256=IGPLAYEZG4f5EUtBuoR2u_cYoyCCVkhx4H2rMeGuJ_Y,1030
|
16
|
-
kalavai_client/cli.py,sha256=
|
16
|
+
kalavai_client/cli.py,sha256=kvQXuIdSd2BYavnqLkd7phFUD3htxjVcSJaqnaEAGtI,46904
|
17
17
|
kalavai_client/cluster.py,sha256=gwjmdsd--YrffT0BmZDOEpbrdm3lPskUuN5jdgcrOR0,12947
|
18
|
-
kalavai_client/core.py,sha256=
|
18
|
+
kalavai_client/core.py,sha256=1qT6d4LpZIHHQaCDZHVmk4crkcOShzVMCL4Pax8ShVI,32526
|
19
19
|
kalavai_client/env.py,sha256=wAd-P8XDlDB8Oau76f0bG2aHTkNA793xb_V0frbNeJE,2770
|
20
|
-
kalavai_client/utils.py,sha256=
|
21
|
-
kalavai_client-0.6.
|
22
|
-
kalavai_client-0.6.
|
23
|
-
kalavai_client-0.6.
|
24
|
-
kalavai_client-0.6.
|
25
|
-
kalavai_client-0.6.
|
20
|
+
kalavai_client/utils.py,sha256=k2Bpvl16zDpWBXMIMsd_LbkinZtctPO6bygfB7DyiZ8,12018
|
21
|
+
kalavai_client-0.6.3.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
22
|
+
kalavai_client-0.6.3.dist-info/METADATA,sha256=8Q4iCcpjFF9gRDYEeQbaZHAegUn_v4yn8-w5Y7sAiM4,13353
|
23
|
+
kalavai_client-0.6.3.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
24
|
+
kalavai_client-0.6.3.dist-info/entry_points.txt,sha256=9T6D45gxwzfVbglMm1r6XPdXuuZdHfy_7fCeu2jUphc,50
|
25
|
+
kalavai_client-0.6.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|