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.
Files changed (20) hide show
  1. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/PKG-INFO +3 -3
  2. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/README.md +2 -2
  3. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/PKG-INFO +3 -3
  4. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/__init__.py +1 -1
  5. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/cli.py +17 -17
  6. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/docker/docker-compose.yml +2 -2
  7. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/pyproject.toml +1 -1
  8. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/__init__.py +0 -0
  9. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/main.py +0 -0
  10. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/models.py +0 -0
  11. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/routers/__init__.py +0 -0
  12. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/routers/repos.py +0 -0
  13. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_host_agent/routers/update.py +0 -0
  14. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/SOURCES.txt +0 -0
  15. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/dependency_links.txt +0 -0
  16. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/entry_points.txt +0 -0
  17. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/requires.txt +0 -0
  18. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager.egg-info/top_level.txt +0 -0
  19. {cyclo_manager-1.0.0.dev1 → cyclo_manager-1.0.0.dev3}/cyclo_manager_cli/config/config.yml +0 -0
  20. {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.dev1
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.4.0` |
145
- | `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:0.4.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.4.0` |
131
- | `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:0.4.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.dev1
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.4.0` |
145
- | `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:0.4.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
 
@@ -18,4 +18,4 @@
18
18
 
19
19
  """cyclo_manager CLI - pip-installable launcher for cyclo_manager server and UI containers."""
20
20
 
21
- __version__ = '0.4.0'
21
+ __version__ = '1.0.0'
@@ -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 _privileged_cmd(args: list[str]) -> list[str]:
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
- _privileged_cmd(['mkdir', '-p', HOST_AGENT_SOCKET_DIR]),
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
- _privileged_cmd(['chown', f'{user}:{user}', HOST_AGENT_SOCKET_DIR]),
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
- _privileged_cmd(['rm', '-f', HOST_AGENT_SOCKET]),
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
- _privileged_cmd(['tee', sudoers_file]),
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
- _privileged_cmd(['chmod', '440', sudoers_file]),
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
- _privileged_cmd(['tee', service_file]),
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
- _privileged_cmd(['systemctl', 'daemon-reload']),
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
- _privileged_cmd(['systemctl', 'enable', f'{HOST_AGENT_SERVICE}.service']),
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
- _privileged_cmd(['systemctl', 'restart', f'{HOST_AGENT_SERVICE}.service']),
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
- _privileged_cmd(['systemctl', 'stop', f'{HOST_AGENT_SERVICE}.service']),
331
+ _sudo_cmd(['systemctl', 'stop', f'{HOST_AGENT_SERVICE}.service']),
332
332
  'stop service',
333
333
  ),
334
334
  (
335
- _privileged_cmd(['systemctl', 'disable', f'{HOST_AGENT_SERVICE}.service']),
335
+ _sudo_cmd(['systemctl', 'disable', f'{HOST_AGENT_SERVICE}.service']),
336
336
  'disable service',
337
337
  ),
338
338
  (
339
- _privileged_cmd(['rm', '-f', f'/etc/systemd/system/{HOST_AGENT_SERVICE}.service']),
339
+ _sudo_cmd(['rm', '-f', f'/etc/systemd/system/{HOST_AGENT_SERVICE}.service']),
340
340
  'remove unit file',
341
341
  ),
342
- (_privileged_cmd(['systemctl', 'daemon-reload']), 'daemon-reload'),
343
- (_privileged_cmd(['rm', '-f', '/etc/sudoers.d/cyclo_manager']), 'remove sudoers'),
344
- (_privileged_cmd(['rm', '-rf', HOST_AGENT_SOCKET_DIR]), 'remove socket dir'),
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}...')
@@ -11,7 +11,7 @@ services:
11
11
 
12
12
  cyclo_manager:
13
13
  container_name: cyclo_manager
14
- image: robotis/cyclo-manager:0.4.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.4.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.dev1"
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"