remoteRF-server 0.1.62__tar.gz → 0.1.63__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/PKG-INFO +25 -12
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/README.md +24 -11
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/pyproject.toml +1 -1
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/host/host_tunnel_server.py +19 -1
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/grpc_server.py +2 -2
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/PKG-INFO +25 -12
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/setup.cfg +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/grpc_host_pb2.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/grpc_host_pb2_grpc.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/grpc_pb2.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/ansi_codes.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/api_token.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/db_connection.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/db_location.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/list_string.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/process_arg.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/drivers/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/drivers/adalm_pluto/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/drivers/adalm_pluto/pluto_remote_server.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/host/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/host/host_directory_store.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/acc_perms.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/cert_provider.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/device_manager.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/reservation.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/rpc_manager.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/user_group_cli.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/user_group_handler.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/serverrf_cli.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/tools/__init__.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/tools/gen_certs.py +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/SOURCES.txt +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/dependency_links.txt +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/entry_points.txt +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/requires.txt +0 -0
- {remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remoteRF-server
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.63
|
|
4
4
|
Description-Content-Type: text/markdown
|
|
5
5
|
Requires-Dist: grpcio
|
|
6
6
|
Requires-Dist: protobuf
|
|
@@ -283,13 +283,11 @@ Note that all device and server config parameters need a 'restart' to take affec
|
|
|
283
283
|
|
|
284
284
|
After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**. This interactive shell is used for runtime administration: managing users, devices, reservations, user groups, and enrollment codes.
|
|
285
285
|
|
|
286
|
-
> Tip: Legacy commands (e.g. `show a`, `rm db`) may still work if enabled, but the commands below are the canonical interface.
|
|
287
|
-
|
|
288
286
|
---
|
|
289
287
|
|
|
290
288
|
#### Server
|
|
291
289
|
|
|
292
|
-
* `help` /
|
|
290
|
+
* `help` / `h` — Show help
|
|
293
291
|
* `clear` — Clear the screen
|
|
294
292
|
* `status` — Show server status (uptime / bind info)
|
|
295
293
|
* `quit` / `exit` — Exit the server shell
|
|
@@ -299,8 +297,8 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
299
297
|
#### Users
|
|
300
298
|
|
|
301
299
|
* `users list` — List all accounts
|
|
302
|
-
* `users manage` — Manage a specific user
|
|
303
|
-
* `users purge` —
|
|
300
|
+
* `users manage` — Manage a specific user
|
|
301
|
+
* `users purge` — Delete **all** users
|
|
304
302
|
|
|
305
303
|
---
|
|
306
304
|
|
|
@@ -313,7 +311,7 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
313
311
|
#### Reservations
|
|
314
312
|
|
|
315
313
|
* `reservations list` — List all reservations
|
|
316
|
-
* `reservations purge` —
|
|
314
|
+
* `reservations purge` — Delete **all** reservations
|
|
317
315
|
|
|
318
316
|
---
|
|
319
317
|
|
|
@@ -323,6 +321,7 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
323
321
|
* `groups create` — Create a user group *(interactive)*
|
|
324
322
|
* `groups edit` — Edit a user group *(interactive)*
|
|
325
323
|
* `groups delete` — Delete a user group *(interactive)*
|
|
324
|
+
* `groups csv` - Export all groups as a CSV
|
|
326
325
|
|
|
327
326
|
---
|
|
328
327
|
|
|
@@ -331,12 +330,13 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
331
330
|
* `codes list` — List enrollment codes
|
|
332
331
|
* `codes create` — Create enrollment codes *(interactive)*
|
|
333
332
|
* `codes delete` — Delete an enrollment code *(interactive)*
|
|
333
|
+
* `codes csv` - Export all codes as a CSV
|
|
334
334
|
|
|
335
335
|
---
|
|
336
336
|
|
|
337
337
|
#### Database
|
|
338
338
|
|
|
339
|
-
* `db
|
|
339
|
+
* `db purge` — Remove all database entries
|
|
340
340
|
|
|
341
341
|
---
|
|
342
342
|
|
|
@@ -344,17 +344,30 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
344
344
|
todo:
|
|
345
345
|
<!-- Adding plutos via the CLI -->
|
|
346
346
|
<!-- Testing functionality (disregarding Host pipeline) -->
|
|
347
|
-
Clean up serverrf CLI + basic documentation for all commands, usergroups, export codes by CSV.
|
|
348
|
-
Choice to choose usergroup/code by either int id or string name.
|
|
347
|
+
<!-- Clean up serverrf CLI + basic documentation for all commands, usergroups, export codes by CSV. -->
|
|
349
348
|
|
|
350
|
-
|
|
349
|
+
HostRF meta data -> push upon connection + retry connection on host side.
|
|
350
|
+
|
|
351
|
+
ServerRF display meta data as part of devices list / reservation + online/activity status (appended into device name) + (plus host side warning if the device id is NOT globally unique!)
|
|
352
|
+
|
|
353
|
+
set_device token (virtual devices) + routing/relay to proper host (multiplexed)
|
|
351
354
|
|
|
352
|
-
|
|
355
|
+
User side testing + integration
|
|
356
|
+
|
|
357
|
+
hostrf side CLI/server (basically just device list)
|
|
358
|
+
|
|
359
|
+
edge case testing (disconnected hosts, disconnected server, many users using multiple devices, multi-host)
|
|
360
|
+
|
|
361
|
+
<!-- HostRF integration -> Host directory, device routing, dynamic reservation pulling, with activity/status (online, offline, etc.) -->
|
|
353
362
|
|
|
354
363
|
Cleanup code comments.
|
|
355
364
|
|
|
356
365
|
Update Ian with installation demo (try myself first on the NUC once!) for both server and host.
|
|
357
366
|
|
|
367
|
+
Nice to have (later):
|
|
368
|
+
Activity/stats?
|
|
369
|
+
Ability to remotely manage groups and codes as admin.
|
|
370
|
+
Choice to choose usergroup/code by either int id or string name. (too lazy)
|
|
358
371
|
|
|
359
372
|
todo: Specify/Pull user side --config CLI pointing to this server + debug for connection sake (later)
|
|
360
373
|
|
|
@@ -272,13 +272,11 @@ Note that all device and server config parameters need a 'restart' to take affec
|
|
|
272
272
|
|
|
273
273
|
After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**. This interactive shell is used for runtime administration: managing users, devices, reservations, user groups, and enrollment codes.
|
|
274
274
|
|
|
275
|
-
> Tip: Legacy commands (e.g. `show a`, `rm db`) may still work if enabled, but the commands below are the canonical interface.
|
|
276
|
-
|
|
277
275
|
---
|
|
278
276
|
|
|
279
277
|
#### Server
|
|
280
278
|
|
|
281
|
-
* `help` /
|
|
279
|
+
* `help` / `h` — Show help
|
|
282
280
|
* `clear` — Clear the screen
|
|
283
281
|
* `status` — Show server status (uptime / bind info)
|
|
284
282
|
* `quit` / `exit` — Exit the server shell
|
|
@@ -288,8 +286,8 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
288
286
|
#### Users
|
|
289
287
|
|
|
290
288
|
* `users list` — List all accounts
|
|
291
|
-
* `users manage` — Manage a specific user
|
|
292
|
-
* `users purge` —
|
|
289
|
+
* `users manage` — Manage a specific user
|
|
290
|
+
* `users purge` — Delete **all** users
|
|
293
291
|
|
|
294
292
|
---
|
|
295
293
|
|
|
@@ -302,7 +300,7 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
302
300
|
#### Reservations
|
|
303
301
|
|
|
304
302
|
* `reservations list` — List all reservations
|
|
305
|
-
* `reservations purge` —
|
|
303
|
+
* `reservations purge` — Delete **all** reservations
|
|
306
304
|
|
|
307
305
|
---
|
|
308
306
|
|
|
@@ -312,6 +310,7 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
312
310
|
* `groups create` — Create a user group *(interactive)*
|
|
313
311
|
* `groups edit` — Edit a user group *(interactive)*
|
|
314
312
|
* `groups delete` — Delete a user group *(interactive)*
|
|
313
|
+
* `groups csv` - Export all groups as a CSV
|
|
315
314
|
|
|
316
315
|
---
|
|
317
316
|
|
|
@@ -320,12 +319,13 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
320
319
|
* `codes list` — List enrollment codes
|
|
321
320
|
* `codes create` — Create enrollment codes *(interactive)*
|
|
322
321
|
* `codes delete` — Delete an enrollment code *(interactive)*
|
|
322
|
+
* `codes csv` - Export all codes as a CSV
|
|
323
323
|
|
|
324
324
|
---
|
|
325
325
|
|
|
326
326
|
#### Database
|
|
327
327
|
|
|
328
|
-
* `db
|
|
328
|
+
* `db purge` — Remove all database entries
|
|
329
329
|
|
|
330
330
|
---
|
|
331
331
|
|
|
@@ -333,17 +333,30 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
333
333
|
todo:
|
|
334
334
|
<!-- Adding plutos via the CLI -->
|
|
335
335
|
<!-- Testing functionality (disregarding Host pipeline) -->
|
|
336
|
-
Clean up serverrf CLI + basic documentation for all commands, usergroups, export codes by CSV.
|
|
337
|
-
Choice to choose usergroup/code by either int id or string name.
|
|
336
|
+
<!-- Clean up serverrf CLI + basic documentation for all commands, usergroups, export codes by CSV. -->
|
|
338
337
|
|
|
339
|
-
|
|
338
|
+
HostRF meta data -> push upon connection + retry connection on host side.
|
|
339
|
+
|
|
340
|
+
ServerRF display meta data as part of devices list / reservation + online/activity status (appended into device name) + (plus host side warning if the device id is NOT globally unique!)
|
|
341
|
+
|
|
342
|
+
set_device token (virtual devices) + routing/relay to proper host (multiplexed)
|
|
340
343
|
|
|
341
|
-
|
|
344
|
+
User side testing + integration
|
|
345
|
+
|
|
346
|
+
hostrf side CLI/server (basically just device list)
|
|
347
|
+
|
|
348
|
+
edge case testing (disconnected hosts, disconnected server, many users using multiple devices, multi-host)
|
|
349
|
+
|
|
350
|
+
<!-- HostRF integration -> Host directory, device routing, dynamic reservation pulling, with activity/status (online, offline, etc.) -->
|
|
342
351
|
|
|
343
352
|
Cleanup code comments.
|
|
344
353
|
|
|
345
354
|
Update Ian with installation demo (try myself first on the NUC once!) for both server and host.
|
|
346
355
|
|
|
356
|
+
Nice to have (later):
|
|
357
|
+
Activity/stats?
|
|
358
|
+
Ability to remotely manage groups and codes as admin.
|
|
359
|
+
Choice to choose usergroup/code by either int id or string name. (too lazy)
|
|
347
360
|
|
|
348
361
|
todo: Specify/Pull user side --config CLI pointing to this server + debug for connection sake (later)
|
|
349
362
|
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/host/host_tunnel_server.py
RENAMED
|
@@ -32,6 +32,11 @@ from .host_directory_store import (
|
|
|
32
32
|
cfg_dir_from_file,
|
|
33
33
|
)
|
|
34
34
|
|
|
35
|
+
import hashlib
|
|
36
|
+
|
|
37
|
+
def host_key(host_id: str) -> str:
|
|
38
|
+
h = hashlib.sha256((host_id or "").encode("utf-8")).hexdigest()
|
|
39
|
+
return h[:16] # short stable key
|
|
35
40
|
|
|
36
41
|
def _copy_argument_map(dst_map: Any, src_map: Any) -> None:
|
|
37
42
|
if src_map is None:
|
|
@@ -272,13 +277,25 @@ class HostTunnelRegistry:
|
|
|
272
277
|
# ---------------------------
|
|
273
278
|
# persistence write helpers
|
|
274
279
|
# ---------------------------
|
|
280
|
+
def _persist_host_meta(self, host_id: str, *, host_name: str = "", platform: str = "", version: str = "") -> None:
|
|
281
|
+
hk = host_key(host_id)
|
|
282
|
+
self._env_meta.set_kv_if_absent(f"HOST_{hk}_ID", host_id)
|
|
283
|
+
if host_name:
|
|
284
|
+
self._env_meta.upsert_kv(f"HOST_{hk}_NAME", host_name)
|
|
285
|
+
if platform:
|
|
286
|
+
self._env_meta.upsert_kv(f"HOST_{hk}_PLATFORM", platform)
|
|
287
|
+
if version:
|
|
288
|
+
self._env_meta.upsert_kv(f"HOST_{hk}_VERSION", version)
|
|
275
289
|
|
|
276
290
|
def _persist_host(self, host_id: str) -> None:
|
|
277
291
|
self._env_lists.append_to_csv_list("KNOWN_HOSTS", host_id)
|
|
278
292
|
|
|
279
293
|
def _persist_device(self, host_id: str, device_id: str, local_id: int, device_info: Any) -> None:
|
|
280
294
|
self._env_lists.append_to_csv_list("KNOWN_DEVICES", device_id)
|
|
281
|
-
|
|
295
|
+
hk = host_key(host_id)
|
|
296
|
+
self._env_meta.set_kv_if_absent(f"HOST_{hk}_ID", host_id) # reverse map
|
|
297
|
+
self._env_lists.append_to_csv_list(f"HOST_{hk}_DEVICES", device_id)
|
|
298
|
+
|
|
282
299
|
|
|
283
300
|
dk = sanitize_env_key(device_id)
|
|
284
301
|
self._env_meta.upsert_kv(f"DEVICE_{dk}_HOST", host_id)
|
|
@@ -692,6 +709,7 @@ class HostTunnelServicer(host_tunnel_pb2_grpc.HostTunnelServicer):
|
|
|
692
709
|
host_id = str(hello.host_id).strip() or "unknown-host"
|
|
693
710
|
session = HostSession(host_id)
|
|
694
711
|
self.registry.register_host(host_id, session)
|
|
712
|
+
self.registry.persist_host_meta_from_hello(hello)
|
|
695
713
|
|
|
696
714
|
try:
|
|
697
715
|
session.send(
|
|
@@ -490,7 +490,7 @@ def help() -> None:
|
|
|
490
490
|
print()
|
|
491
491
|
|
|
492
492
|
printf("Database:", Sty.BOLD)
|
|
493
|
-
printf(" db
|
|
493
|
+
printf(" db purge ", Sty.MAGENTA, "- Remove all database entries", Sty.DEFAULT)
|
|
494
494
|
print()
|
|
495
495
|
|
|
496
496
|
def server_input(inpu: str) -> bool:
|
|
@@ -546,7 +546,7 @@ def server_input(inpu: str) -> bool:
|
|
|
546
546
|
"rm ar": lambda: _stay(reservation_handler.remove_all_reservations), # old
|
|
547
547
|
|
|
548
548
|
# ---- db ----
|
|
549
|
-
"db
|
|
549
|
+
"db purge": lambda: _stay(reservation_handler.rm_db),
|
|
550
550
|
"rm db": lambda: _stay(reservation_handler.rm_db), # old
|
|
551
551
|
|
|
552
552
|
# ---- groups ----
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remoteRF-server
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.63
|
|
4
4
|
Description-Content-Type: text/markdown
|
|
5
5
|
Requires-Dist: grpcio
|
|
6
6
|
Requires-Dist: protobuf
|
|
@@ -283,13 +283,11 @@ Note that all device and server config parameters need a 'restart' to take affec
|
|
|
283
283
|
|
|
284
284
|
After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**. This interactive shell is used for runtime administration: managing users, devices, reservations, user groups, and enrollment codes.
|
|
285
285
|
|
|
286
|
-
> Tip: Legacy commands (e.g. `show a`, `rm db`) may still work if enabled, but the commands below are the canonical interface.
|
|
287
|
-
|
|
288
286
|
---
|
|
289
287
|
|
|
290
288
|
#### Server
|
|
291
289
|
|
|
292
|
-
* `help` /
|
|
290
|
+
* `help` / `h` — Show help
|
|
293
291
|
* `clear` — Clear the screen
|
|
294
292
|
* `status` — Show server status (uptime / bind info)
|
|
295
293
|
* `quit` / `exit` — Exit the server shell
|
|
@@ -299,8 +297,8 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
299
297
|
#### Users
|
|
300
298
|
|
|
301
299
|
* `users list` — List all accounts
|
|
302
|
-
* `users manage` — Manage a specific user
|
|
303
|
-
* `users purge` —
|
|
300
|
+
* `users manage` — Manage a specific user
|
|
301
|
+
* `users purge` — Delete **all** users
|
|
304
302
|
|
|
305
303
|
---
|
|
306
304
|
|
|
@@ -313,7 +311,7 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
313
311
|
#### Reservations
|
|
314
312
|
|
|
315
313
|
* `reservations list` — List all reservations
|
|
316
|
-
* `reservations purge` —
|
|
314
|
+
* `reservations purge` — Delete **all** reservations
|
|
317
315
|
|
|
318
316
|
---
|
|
319
317
|
|
|
@@ -323,6 +321,7 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
323
321
|
* `groups create` — Create a user group *(interactive)*
|
|
324
322
|
* `groups edit` — Edit a user group *(interactive)*
|
|
325
323
|
* `groups delete` — Delete a user group *(interactive)*
|
|
324
|
+
* `groups csv` - Export all groups as a CSV
|
|
326
325
|
|
|
327
326
|
---
|
|
328
327
|
|
|
@@ -331,12 +330,13 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
331
330
|
* `codes list` — List enrollment codes
|
|
332
331
|
* `codes create` — Create enrollment codes *(interactive)*
|
|
333
332
|
* `codes delete` — Delete an enrollment code *(interactive)*
|
|
333
|
+
* `codes csv` - Export all codes as a CSV
|
|
334
334
|
|
|
335
335
|
---
|
|
336
336
|
|
|
337
337
|
#### Database
|
|
338
338
|
|
|
339
|
-
* `db
|
|
339
|
+
* `db purge` — Remove all database entries
|
|
340
340
|
|
|
341
341
|
---
|
|
342
342
|
|
|
@@ -344,17 +344,30 @@ After running `serverrf --serve`, you’ll enter the **RemoteRF Server Shell**.
|
|
|
344
344
|
todo:
|
|
345
345
|
<!-- Adding plutos via the CLI -->
|
|
346
346
|
<!-- Testing functionality (disregarding Host pipeline) -->
|
|
347
|
-
Clean up serverrf CLI + basic documentation for all commands, usergroups, export codes by CSV.
|
|
348
|
-
Choice to choose usergroup/code by either int id or string name.
|
|
347
|
+
<!-- Clean up serverrf CLI + basic documentation for all commands, usergroups, export codes by CSV. -->
|
|
349
348
|
|
|
350
|
-
|
|
349
|
+
HostRF meta data -> push upon connection + retry connection on host side.
|
|
350
|
+
|
|
351
|
+
ServerRF display meta data as part of devices list / reservation + online/activity status (appended into device name) + (plus host side warning if the device id is NOT globally unique!)
|
|
352
|
+
|
|
353
|
+
set_device token (virtual devices) + routing/relay to proper host (multiplexed)
|
|
351
354
|
|
|
352
|
-
|
|
355
|
+
User side testing + integration
|
|
356
|
+
|
|
357
|
+
hostrf side CLI/server (basically just device list)
|
|
358
|
+
|
|
359
|
+
edge case testing (disconnected hosts, disconnected server, many users using multiple devices, multi-host)
|
|
360
|
+
|
|
361
|
+
<!-- HostRF integration -> Host directory, device routing, dynamic reservation pulling, with activity/status (online, offline, etc.) -->
|
|
353
362
|
|
|
354
363
|
Cleanup code comments.
|
|
355
364
|
|
|
356
365
|
Update Ian with installation demo (try myself first on the NUC once!) for both server and host.
|
|
357
366
|
|
|
367
|
+
Nice to have (later):
|
|
368
|
+
Activity/stats?
|
|
369
|
+
Ability to remotely manage groups and codes as admin.
|
|
370
|
+
Choice to choose usergroup/code by either int id or string name. (too lazy)
|
|
358
371
|
|
|
359
372
|
todo: Specify/Pull user side --config CLI pointing to this server + debug for connection sake (later)
|
|
360
373
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/grpc_host_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/grpc_pb2.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/ansi_codes.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/api_token.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/db_connection.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/db_location.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/list_string.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/common/utils/process_arg.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/host/host_directory_store.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/cert_provider.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/device_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/user_group_cli.py
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server/server/user_group_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-0.1.62 → remoterf_server-0.1.63}/src/remoteRF_server.egg-info/top_level.txt
RENAMED
|
File without changes
|