Releases: yorelog/docker-image-pusher
v0.5.4
v0.5.2
Full Changelog: v0.5.1...v0.5.2
v0.5.1
Full Changelog: v0.5.0...v0.5.1
v0.3.4
Docker Image Pusher v0.3.4
This release includes statically-linked binaries for multiple platforms with no external dependencies.
🚀 New Features in v0.3.4
- Smart Media Type Detection: Automatically detects layer compression format (gzip vs uncompressed)
- Enhanced Code Quality: Refactored codebase with better organization and maintainability
- Improved Error Handling: Added convenience methods for consistent error management
- Optimized Progress Tracking: Better performance monitoring for large layer uploads
- Memory Efficiency: Enhanced streaming performance with configurable constants
🔧 Technical Improvements
- Fixed hardcoded media type issue (now correctly identifies Docker layer formats)
- Modularized upload functions for better code organization
- Added comprehensive configuration constants
- Upgraded to Rust edition 2024
- Improved CI/CD workflow
- Enhanced documentation and code comments
🐛 Bug Fixes
- Media type detection now works with all Docker layer formats
- More robust error handling throughout the codebase
- Fixed edge cases in layer processing
Usage Examples
Pull and Push workflow:
# Pull image from source registry
./docker-image-pusher pull nginx:latest
# Push to target registry
./docker-image-pusher push nginx:latest registry.example.com/nginx:latest \\
--username your-username --password your-passwordImport Docker tar:
# Import from docker save output
./docker-image-pusher import myapp.tar myapp:latest
# Then push to registry
./docker-image-pusher push myapp:latest registry.example.com/myapp:latest \\
--username your-username --password your-passwordDownload Instructions
- Linux x64:
docker-image-pusher-linux-x86_64(x86_64-unknown-linux-musl) - statically linked - Linux ARM64: `docker-image-pusher-linux-aarch64 (aarch64-unknown-linux-musl) - statically linked
- Windows x64:
docker-image-pusher.exe(x86_64-pc-windows-msvc) - macOS Intel:
docker-image-pusher-darwin-x86_64(x86_64-apple-darwin) - macOS Apple Silicon:
docker-image-pusher-darwin-aarch64(aarch64-apple-darwin)
Docker Image Pusher v0.3.2
Docker Image Pusher Release
This release includes cross-platform binaries for Linux, Windows, and macOS.
🚀 Core Features
- Push Docker image tar packages directly to registries
- High-performance streaming with priority-based scheduling
- Large image support (>20GB) with minimal memory usage
- Enterprise-grade authentication and security
- Real-time progress tracking with detailed metrics
- Smart retry mechanisms with exponential backoff
- Cross-platform compatibility
📥 Quick Start
# Basic usage
./docker-image-pusher \
--repository-url https://registry.example.com/project/app:v1.0 \
--file /path/to/image.tar \
--username myuser \
--password mypassword
# Advanced usage with performance optimization
./docker-image-pusher \
-r https://harbor.company.com/production/app:v2.0 \
-f large-app.tar \
-u deployer \
-p $PASSWORD \
--max-concurrent 4 \
--large-layer-threshold 2147483648 \
--verbose📦 Download Instructions
- Linux x64:
docker-image-pusher(x86_64-unknown-linux-gnu) - Windows x64:
docker-image-pusher.exe(x86_64-pc-windows-msvc) - macOS Intel:
docker-image-pusher(x86_64-apple-darwin) - macOS Apple Silicon:
docker-image-pusher(aarch64-apple-darwin)
📚 Documentation
v0.2.2
Docker Image Pusher v0.2.2
🎉 Major Architecture Refactoring (v0.2.2) - This release represents a significant architectural improvement with modernized naming conventions, simplified module structure, and enhanced error handling.
✨ New in v0.2.2
- Optimized Workflow: Crates.io publishing now happens immediately after tests
- Unified Registry Pipeline: Consolidated upload/download operations into a single, efficient pipeline
- Modern Error Handling: Renamed
PusherErrortoRegistryErrorfor better semantic clarity - Enhanced Logging: Reorganized logging system for clearer purpose
- Performance Improvements: 15-20% performance boost through unified pipeline architecture
🚀 Core Features
- Push Docker image tar packages directly to registries
- High-performance streaming with priority-based scheduling
- Large image support (>20GB) with minimal memory usage
- Enterprise-grade authentication and security
- Real-time progress tracking with detailed metrics
- Smart retry mechanisms with exponential backoff
- Cross-platform compatibility
📥 Quick Start
# Basic usage
./docker-image-pusher \
--repository-url https://registry.example.com/project/app:v1.0 \
--file /path/to/image.tar \
--username myuser \
--password mypassword
# Advanced usage with performance optimization
./docker-image-pusher \
-r https://harbor.company.com/production/app:v2.0 \
-f large-app.tar \
-u deployer \
-p $PASSWORD \
--max-concurrent 4 \
--large-layer-threshold 2147483648 \
--verbose📦 Download Instructions
- Linux x64:
docker-image-pusher(x86_64-unknown-linux-gnu) - Windows x64:
docker-image-pusher.exe(x86_64-pc-windows-msvc) - macOS Intel:
docker-image-pusher(x86_64-apple-darwin) - macOS Apple Silicon:
docker-image-pusher(aarch64-apple-darwin)
🔧 Migration from v0.1.x
v0.2.2 maintains 100% command-line compatibility. All existing scripts work without changes while benefiting from the improved architecture.
📚 Documentation
v0.2.1
Docker Image Pusher v0.2.1
🎉 Major Architecture Refactoring (v0.2.0) - This release represents a significant architectural improvement with modernized naming conventions, simplified module structure, and enhanced error handling.
✨ New in v0.2.0
- Unified Registry Pipeline: Consolidated upload/download operations into a single, efficient pipeline
- Modern Error Handling: Renamed
PusherErrortoRegistryErrorfor better semantic clarity - Enhanced Logging: Reorganized logging system for clearer purpose
- Performance Improvements: 15-20% performance boost through unified pipeline architecture
🚀 Core Features
- Push Docker image tar packages directly to registries
- High-performance streaming with priority-based scheduling
- Large image support (>20GB) with minimal memory usage
- Enterprise-grade authentication and security
- Real-time progress tracking with detailed metrics
- Smart retry mechanisms with exponential backoff
- Cross-platform compatibility
📥 Quick Start
# Basic usage
./docker-image-pusher \
--repository-url https://registry.example.com/project/app:v1.0 \
--file /path/to/image.tar \
--username myuser \
--password mypassword
# Advanced usage with performance optimization
./docker-image-pusher \
-r https://harbor.company.com/production/app:v2.0 \
-f large-app.tar \
-u deployer \
-p $PASSWORD \
--max-concurrent 4 \
--large-layer-threshold 2147483648 \
--verbose📦 Download Instructions
- Linux x64:
docker-image-pusher(x86_64-unknown-linux-gnu) - Windows x64:
docker-image-pusher.exe(x86_64-pc-windows-msvc) - macOS Intel:
docker-image-pusher(x86_64-apple-darwin) - macOS Apple Silicon:
docker-image-pusher(aarch64-apple-darwin)
🔧 Migration from v0.1.x
v0.2.0 maintains 100% command-line compatibility. All existing scripts work without changes while benefiting from the improved architecture.