Skip to content

Commit 3af8e5e

Browse files
howethomasclaude
andcommitted
feat: Add image management commands for ECR registry
- Add `conserver images` subcommand with: - list: List local and remote images - pull: Pull images from registry - use: Switch to a specific version - upgrade: Upgrade to newer version - downgrade: Downgrade to older version - info: Show image details - remove: Remove local images - prune: Clean up old images - Add ImageRegistry class for ECR/GHCR/Docker Hub support - Add ImageError and RegistryError exceptions - Add 43 new tests for image functionality - Update documentation and README - Bump version to 0.2.0 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 7898b50 commit 3af8e5e

File tree

11 files changed

+1725
-3
lines changed

11 files changed

+1725
-3
lines changed

CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.2.0] - 2025-01-24
11+
12+
### Added
13+
14+
- Image management commands: `images list`, `images pull`, `images use`, `images upgrade`, `images downgrade`, `images info`, `images remove`, `images prune`
15+
- Support for AWS ECR public registry (public.ecr.aws/r4g1k2s3/vcon-dev/vcon-server)
16+
- Version comparison for semantic versioning
17+
- Remote tag listing from container registries
18+
- Local image management and cleanup
19+
20+
### Changed
21+
22+
- Updated documentation with image management commands
23+
- Added `ImageError` and `RegistryError` exceptions
24+
1025
## [0.1.0] - 2025-01-23
1126

1227
### Added
@@ -23,5 +38,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2338
- Comprehensive test suite with 80%+ coverage
2439
- Full documentation
2540

26-
[Unreleased]: https://github.com/vcon-dev/vcon-server-cli/compare/v0.1.0...HEAD
41+
[Unreleased]: https://github.com/vcon-dev/vcon-server-cli/compare/v0.2.0...HEAD
42+
[0.2.0]: https://github.com/vcon-dev/vcon-server-cli/compare/v0.1.0...v0.2.0
2743
[0.1.0]: https://github.com/vcon-dev/vcon-server-cli/releases/tag/v0.1.0

README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ conserver logs -f
2626
## Features
2727

2828
- **Container Management**: Start, stop, restart, and upgrade vcon-server containers
29+
- **Image Management**: List, pull, upgrade, and downgrade vcon-server images from ECR
2930
- **Configuration Management**: View, edit, and validate configuration files
3031
- **Health Monitoring**: Check service health with detailed diagnostics
3132
- **Log Viewing**: Stream and filter container logs
@@ -161,6 +162,37 @@ conserver config set links.transcribe.options.model_size large --file config
161162
conserver config validate
162163
```
163164

165+
### Image Management
166+
167+
```bash
168+
# List available remote tags
169+
conserver images list --remote
170+
171+
# List local images
172+
conserver images list
173+
174+
# Pull specific version
175+
conserver images pull v1.2.0
176+
177+
# Pull latest main branch
178+
conserver images pull main
179+
180+
# Switch to a version (and restart)
181+
conserver images use v1.2.0 --restart
182+
183+
# Upgrade to latest version
184+
conserver images upgrade
185+
186+
# Downgrade to older version
187+
conserver images downgrade v1.1.0
188+
189+
# Show image info
190+
conserver images info v1.2.0
191+
192+
# Remove old images (keep 3 most recent)
193+
conserver images prune
194+
```
195+
164196
### Server Path
165197

166198
By default, conserver looks for the vcon-server installation in:
@@ -188,6 +220,11 @@ conserver start
188220
| `conserver health` | Check service health |
189221
| `conserver logs` | View container logs |
190222
| `conserver upgrade` | Upgrade to latest version |
223+
| `conserver images list` | List available images |
224+
| `conserver images pull` | Pull an image |
225+
| `conserver images use` | Switch to a version |
226+
| `conserver images upgrade` | Upgrade image version |
227+
| `conserver images downgrade` | Downgrade image version |
191228
| `conserver config show` | Show configuration |
192229
| `conserver config edit` | Edit configuration |
193230
| `conserver config set` | Set a config value |

conserver/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
Conserver CLI - A command-line tool to manage vcon-server Docker containers.
33
"""
44

5-
__version__ = "0.1.0"
5+
__version__ = "0.2.0"
66
__app_name__ = "conserver"

conserver/cli.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
from conserver import __app_name__, __version__
1212
from conserver.commands import config as config_cmd
13+
from conserver.commands import images as images_cmd
1314
from conserver.commands.logs import logs
1415
from conserver.commands.restart import restart
1516
from conserver.commands.start import start
@@ -32,6 +33,9 @@
3233
# Add config subcommand
3334
app.add_typer(config_cmd.app, name="config")
3435

36+
# Add images subcommand
37+
app.add_typer(images_cmd.app, name="images")
38+
3539
# Add commands
3640
app.command()(start)
3741
app.command()(stop)

0 commit comments

Comments
 (0)