Skip to content

Releases: yorelog/docker-image-pusher

v0.5.4

21 Nov 17:26

Choose a tag to compare

v0.5.2

15 Nov 15:05

Choose a tag to compare

Full Changelog: v0.5.1...v0.5.2

v0.5.1

15 Nov 03:46

Choose a tag to compare

Full Changelog: v0.5.0...v0.5.1

v0.3.4

03 Jul 06:11

Choose a tag to compare

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-password

Import 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-password

Download 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

08 Jun 19:11

Choose a tag to compare

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

07 Jun 08:44

Choose a tag to compare

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 PusherError to RegistryError for 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

07 Jun 08:12

Choose a tag to compare

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 PusherError to RegistryError for 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.

📚 Documentation