cyclo-manager 0.2.0.dev12__tar.gz → 0.2.0.dev13__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-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/PKG-INFO +1 -1
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_host_agent/models.py +8 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_host_agent/routers/repos.py +12 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_host_agent/routers/update.py +4 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/PKG-INFO +1 -1
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager_cli/cli.py +3 -1
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/pyproject.toml +1 -1
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/README.md +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_host_agent/__init__.py +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_host_agent/main.py +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_host_agent/routers/__init__.py +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/SOURCES.txt +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/dependency_links.txt +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/entry_points.txt +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/requires.txt +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/top_level.txt +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager_cli/__init__.py +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager_cli/config/config.yml +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager_cli/docker/docker-compose.yml +0 -0
- {cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cyclo-manager
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev13
|
|
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
|
|
@@ -71,6 +71,14 @@ class RepoStatusResponse(BaseModel):
|
|
|
71
71
|
has_changes: bool
|
|
72
72
|
|
|
73
73
|
|
|
74
|
+
class RepoBranchCheckResponse(BaseModel):
|
|
75
|
+
"""Response for GET /repos/{name}/branch."""
|
|
76
|
+
|
|
77
|
+
name: str
|
|
78
|
+
branch: Optional[str] = None
|
|
79
|
+
allowed: bool
|
|
80
|
+
|
|
81
|
+
|
|
74
82
|
class UpdateRequest(BaseModel):
|
|
75
83
|
"""Request body for POST /repos/{name}/update."""
|
|
76
84
|
|
|
@@ -29,6 +29,7 @@ from fastapi import APIRouter, HTTPException, status
|
|
|
29
29
|
from cyclo_host_agent.models import (
|
|
30
30
|
ContainerScriptResponse,
|
|
31
31
|
FileChange,
|
|
32
|
+
RepoBranchCheckResponse,
|
|
32
33
|
RepoInfo,
|
|
33
34
|
RepoListResponse,
|
|
34
35
|
RepoStatusResponse,
|
|
@@ -356,6 +357,17 @@ async def list_repos() -> RepoListResponse:
|
|
|
356
357
|
return RepoListResponse(repos=repos, workspace_path=str(WORKSPACE_PATH))
|
|
357
358
|
|
|
358
359
|
|
|
360
|
+
@router.get('/{name}/branch', response_model=RepoBranchCheckResponse)
|
|
361
|
+
async def get_repo_branch(name: str) -> RepoBranchCheckResponse:
|
|
362
|
+
repo_path = _get_repo(name)
|
|
363
|
+
branch = await _current_branch(repo_path)
|
|
364
|
+
return RepoBranchCheckResponse(
|
|
365
|
+
name=name,
|
|
366
|
+
branch=branch,
|
|
367
|
+
allowed=branch in ALLOWED_UPDATE_BRANCHES,
|
|
368
|
+
)
|
|
369
|
+
|
|
370
|
+
|
|
359
371
|
@router.get('/{name}/status', response_model=RepoStatusResponse)
|
|
360
372
|
async def get_repo_status(name: str) -> RepoStatusResponse:
|
|
361
373
|
repo_path = _get_repo(name)
|
|
@@ -62,6 +62,10 @@ async def start_update() -> dict:
|
|
|
62
62
|
raise HTTPException(status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
|
|
63
63
|
detail='cyclo_manager command not found')
|
|
64
64
|
|
|
65
|
+
if _update_status.get('phase') == 'updating':
|
|
66
|
+
raise HTTPException(status_code=status.HTTP_409_CONFLICT,
|
|
67
|
+
detail='Update already in progress')
|
|
68
|
+
|
|
65
69
|
_update_status = {'phase': 'updating', 'output': '', 'error': ''}
|
|
66
70
|
asyncio.create_task(_run_update(cyclo_exe))
|
|
67
71
|
return {'status': 'update started'}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cyclo-manager
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev13
|
|
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
|
|
@@ -370,7 +370,9 @@ def cmd_update(args: argparse.Namespace) -> int:
|
|
|
370
370
|
return e.returncode
|
|
371
371
|
|
|
372
372
|
print('Refreshing host agent (unit, socket, sudoers)...')
|
|
373
|
-
_ensure_host_agent()
|
|
373
|
+
if _ensure_host_agent() != 0:
|
|
374
|
+
print('Warning: Failed to refresh host agent service.', file=sys.stderr)
|
|
375
|
+
return 1
|
|
374
376
|
|
|
375
377
|
print('cyclo_manager update completed.')
|
|
376
378
|
return 0
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cyclo-manager"
|
|
7
|
-
version = "0.2.0.
|
|
7
|
+
version = "0.2.0.dev13"
|
|
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
|
{cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_host_agent/routers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cyclo_manager-0.2.0.dev12 → cyclo_manager-0.2.0.dev13}/cyclo_manager_cli/docker/docker-compose.yml
RENAMED
|
File without changes
|
|
File without changes
|