cyclo-manager 1.0.0.dev1__tar.gz → 1.0.0.dev3__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.
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/PKG-INFO +3 -3
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/README.md +2 -2
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/PKG-INFO +3 -3
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/__init__.py +1 -1
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/cli.py +17 -17
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/docker/docker-compose.yml +2 -2
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/pyproject.toml +1 -1
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/__init__.py +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/main.py +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/models.py +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/routers/__init__.py +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/routers/repos.py +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/routers/update.py +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/SOURCES.txt +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/dependency_links.txt +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/entry_points.txt +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/requires.txt +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/top_level.txt +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/config/config.yml +0 -0
- {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cyclo-manager
|
|
3
|
-
Version: 1.0.0.
|
|
3
|
+
Version: 1.0.0.dev3
|
|
4
4
|
Summary: cyclo_manager CLI: pip-installable launcher for cyclo_manager server and UI containers. Run 'cyclo_manager up' to start Docker stack.
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -141,8 +141,8 @@ Defined in [`cyclo_manager_cli/docker/docker-compose.yml`](cyclo_manager_cli/doc
|
|
|
141
141
|
|
|
142
142
|
| Compose service | Container name | `cyclo_manager up` | Image (example) |
|
|
143
143
|
|-----------------|----------------|--------------------|-----------------|
|
|
144
|
-
| `cyclo_manager` | `cyclo_manager` | **Started** | `robotis/cyclo-manager:0.
|
|
145
|
-
| `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:0.
|
|
144
|
+
| `cyclo_manager` | `cyclo_manager` | **Started** | `robotis/cyclo-manager:1.0.0` |
|
|
145
|
+
| `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:1.0.0` |
|
|
146
146
|
| `rmw_zenoh` | `zenoh_daemon` | **Created only** | `robotis/zenoh-daemon:latest` |
|
|
147
147
|
| `novnc-server` | `novnc-server` | **Created only** | `robotis/novnc-server:latest` |
|
|
148
148
|
|
|
@@ -127,8 +127,8 @@ Defined in [`cyclo_manager_cli/docker/docker-compose.yml`](cyclo_manager_cli/doc
|
|
|
127
127
|
|
|
128
128
|
| Compose service | Container name | `cyclo_manager up` | Image (example) |
|
|
129
129
|
|-----------------|----------------|--------------------|-----------------|
|
|
130
|
-
| `cyclo_manager` | `cyclo_manager` | **Started** | `robotis/cyclo-manager:0.
|
|
131
|
-
| `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:0.
|
|
130
|
+
| `cyclo_manager` | `cyclo_manager` | **Started** | `robotis/cyclo-manager:1.0.0` |
|
|
131
|
+
| `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:1.0.0` |
|
|
132
132
|
| `rmw_zenoh` | `zenoh_daemon` | **Created only** | `robotis/zenoh-daemon:latest` |
|
|
133
133
|
| `novnc-server` | `novnc-server` | **Created only** | `robotis/novnc-server:latest` |
|
|
134
134
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cyclo-manager
|
|
3
|
-
Version: 1.0.0.
|
|
3
|
+
Version: 1.0.0.dev3
|
|
4
4
|
Summary: cyclo_manager CLI: pip-installable launcher for cyclo_manager server and UI containers. Run 'cyclo_manager up' to start Docker stack.
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -141,8 +141,8 @@ Defined in [`cyclo_manager_cli/docker/docker-compose.yml`](cyclo_manager_cli/doc
|
|
|
141
141
|
|
|
142
142
|
| Compose service | Container name | `cyclo_manager up` | Image (example) |
|
|
143
143
|
|-----------------|----------------|--------------------|-----------------|
|
|
144
|
-
| `cyclo_manager` | `cyclo_manager` | **Started** | `robotis/cyclo-manager:0.
|
|
145
|
-
| `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:0.
|
|
144
|
+
| `cyclo_manager` | `cyclo_manager` | **Started** | `robotis/cyclo-manager:1.0.0` |
|
|
145
|
+
| `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:1.0.0` |
|
|
146
146
|
| `rmw_zenoh` | `zenoh_daemon` | **Created only** | `robotis/zenoh-daemon:latest` |
|
|
147
147
|
| `novnc-server` | `novnc-server` | **Created only** | `robotis/novnc-server:latest` |
|
|
148
148
|
|
|
@@ -37,7 +37,7 @@ HOST_AGENT_SERVICE = 'cyclo_host_agent'
|
|
|
37
37
|
HOST_AGENT_SOCKET = '/var/run/robotis/agent_sockets/host/host_agent.sock'
|
|
38
38
|
HOST_AGENT_SOCKET_DIR = '/var/run/robotis/agent_sockets/host'
|
|
39
39
|
|
|
40
|
-
# `cyclo_manager up` starts these immediately.
|
|
40
|
+
# `cyclo_manager up` starts these Containers immediately.
|
|
41
41
|
COMPOSE_SERVICES_UP = ('cyclo_manager', 'ui')
|
|
42
42
|
# These get `docker compose create` only (stopped); start from UI or `docker start`.
|
|
43
43
|
COMPOSE_SERVICES_CREATE_ONLY = ('rmw_zenoh', 'novnc-server')
|
|
@@ -57,7 +57,7 @@ def _packaged_config_path() -> Path:
|
|
|
57
57
|
return _config_dir() / 'config.yml'
|
|
58
58
|
|
|
59
59
|
|
|
60
|
-
def
|
|
60
|
+
def _sudo_cmd(args: list[str]) -> list[str]:
|
|
61
61
|
"""Return args prefixed with sudo when the current process is not already root."""
|
|
62
62
|
if os.geteuid() == 0:
|
|
63
63
|
return args
|
|
@@ -134,19 +134,19 @@ def _setup_socket_dir(user: str) -> bool:
|
|
|
134
134
|
print(f' [1/3] Creating socket directory {HOST_AGENT_SOCKET_DIR}...')
|
|
135
135
|
try:
|
|
136
136
|
subprocess.run(
|
|
137
|
-
|
|
137
|
+
_sudo_cmd(['mkdir', '-p', HOST_AGENT_SOCKET_DIR]),
|
|
138
138
|
check=True,
|
|
139
139
|
capture_output=True,
|
|
140
140
|
)
|
|
141
141
|
print(f' [2/3] Setting ownership to {user}:{user}...')
|
|
142
142
|
subprocess.run(
|
|
143
|
-
|
|
143
|
+
_sudo_cmd(['chown', f'{user}:{user}', HOST_AGENT_SOCKET_DIR]),
|
|
144
144
|
check=True,
|
|
145
145
|
capture_output=True,
|
|
146
146
|
)
|
|
147
147
|
print(' [3/3] Removing stale socket file (if any)...')
|
|
148
148
|
subprocess.run(
|
|
149
|
-
|
|
149
|
+
_sudo_cmd(['rm', '-f', HOST_AGENT_SOCKET]),
|
|
150
150
|
check=True,
|
|
151
151
|
capture_output=True,
|
|
152
152
|
)
|
|
@@ -172,13 +172,13 @@ def _install_sudoers(user: str) -> bool:
|
|
|
172
172
|
sudoers_file = '/etc/sudoers.d/cyclo_manager'
|
|
173
173
|
try:
|
|
174
174
|
subprocess.run(
|
|
175
|
-
|
|
175
|
+
_sudo_cmd(['tee', sudoers_file]),
|
|
176
176
|
input=sudoers_content.encode(),
|
|
177
177
|
capture_output=True,
|
|
178
178
|
check=True,
|
|
179
179
|
)
|
|
180
180
|
subprocess.run(
|
|
181
|
-
|
|
181
|
+
_sudo_cmd(['chmod', '440', sudoers_file]),
|
|
182
182
|
check=True,
|
|
183
183
|
capture_output=True,
|
|
184
184
|
)
|
|
@@ -243,26 +243,26 @@ WantedBy=multi-user.target
|
|
|
243
243
|
try:
|
|
244
244
|
print(f' Writing unit file to {service_file}...')
|
|
245
245
|
subprocess.run(
|
|
246
|
-
|
|
246
|
+
_sudo_cmd(['tee', service_file]),
|
|
247
247
|
input=service_content.encode(),
|
|
248
248
|
capture_output=True,
|
|
249
249
|
check=True,
|
|
250
250
|
)
|
|
251
251
|
print(' Running systemctl daemon-reload...')
|
|
252
252
|
subprocess.run(
|
|
253
|
-
|
|
253
|
+
_sudo_cmd(['systemctl', 'daemon-reload']),
|
|
254
254
|
check=True,
|
|
255
255
|
capture_output=True,
|
|
256
256
|
)
|
|
257
257
|
print(f' Enabling {HOST_AGENT_SERVICE}...')
|
|
258
258
|
subprocess.run(
|
|
259
|
-
|
|
259
|
+
_sudo_cmd(['systemctl', 'enable', f'{HOST_AGENT_SERVICE}.service']),
|
|
260
260
|
check=True,
|
|
261
261
|
capture_output=True,
|
|
262
262
|
)
|
|
263
263
|
print(f' Starting {HOST_AGENT_SERVICE}...')
|
|
264
264
|
subprocess.run(
|
|
265
|
-
|
|
265
|
+
_sudo_cmd(['systemctl', 'restart', f'{HOST_AGENT_SERVICE}.service']),
|
|
266
266
|
check=True,
|
|
267
267
|
capture_output=True,
|
|
268
268
|
)
|
|
@@ -328,20 +328,20 @@ def _teardown_host_agent() -> None:
|
|
|
328
328
|
print(f'Tearing down {HOST_AGENT_SERVICE}...')
|
|
329
329
|
steps = [
|
|
330
330
|
(
|
|
331
|
-
|
|
331
|
+
_sudo_cmd(['systemctl', 'stop', f'{HOST_AGENT_SERVICE}.service']),
|
|
332
332
|
'stop service',
|
|
333
333
|
),
|
|
334
334
|
(
|
|
335
|
-
|
|
335
|
+
_sudo_cmd(['systemctl', 'disable', f'{HOST_AGENT_SERVICE}.service']),
|
|
336
336
|
'disable service',
|
|
337
337
|
),
|
|
338
338
|
(
|
|
339
|
-
|
|
339
|
+
_sudo_cmd(['rm', '-f', f'/etc/systemd/system/{HOST_AGENT_SERVICE}.service']),
|
|
340
340
|
'remove unit file',
|
|
341
341
|
),
|
|
342
|
-
(
|
|
343
|
-
(
|
|
344
|
-
(
|
|
342
|
+
(_sudo_cmd(['systemctl', 'daemon-reload']), 'daemon-reload'),
|
|
343
|
+
(_sudo_cmd(['rm', '-f', '/etc/sudoers.d/cyclo_manager']), 'remove sudoers'),
|
|
344
|
+
(_sudo_cmd(['rm', '-rf', HOST_AGENT_SOCKET_DIR]), 'remove socket dir'),
|
|
345
345
|
]
|
|
346
346
|
for cmd, desc in steps:
|
|
347
347
|
print(f' {desc}...')
|
{cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/docker/docker-compose.yml
RENAMED
|
@@ -11,7 +11,7 @@ services:
|
|
|
11
11
|
|
|
12
12
|
cyclo_manager:
|
|
13
13
|
container_name: cyclo_manager
|
|
14
|
-
image: robotis/cyclo-manager:0.
|
|
14
|
+
image: robotis/cyclo-manager:1.0.0
|
|
15
15
|
restart: always
|
|
16
16
|
network_mode: host
|
|
17
17
|
volumes:
|
|
@@ -27,7 +27,7 @@ services:
|
|
|
27
27
|
|
|
28
28
|
ui:
|
|
29
29
|
container_name: cyclo_manager_ui
|
|
30
|
-
image: robotis/cyclo-manager-ui:0.
|
|
30
|
+
image: robotis/cyclo-manager-ui:1.0.0
|
|
31
31
|
restart: always
|
|
32
32
|
network_mode: host
|
|
33
33
|
environment:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cyclo-manager"
|
|
7
|
-
version = "1.0.0.
|
|
7
|
+
version = "1.0.0.dev3"
|
|
8
8
|
description = "cyclo_manager CLI: pip-installable launcher for cyclo_manager server and UI containers. Run 'cyclo_manager up' to start Docker stack."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|