Chantal Documentation
Chantal - A unified CLI tool for offline repository mirroring.
Because every other name was already taken.
Overview
Chantal is a Python-based CLI tool for offline repository mirroring, inspired by pulp-admin, reposync, aptly, and bandersnatch.
The Problem: Enterprise environments need offline mirrors of package repositories with:
Version control (snapshots for rollback)
Efficient storage (deduplication across repos)
Support for multiple ecosystems (RPM, DEB/APT, Helm, Alpine APK)
RHEL subscription support
Simple management
The Solution: One tool. One workflow. Content-addressed storage. Immutable snapshots.
Repository Type Support:
Type |
Description |
Status |
|---|---|---|
RPM/DNF/YUM |
RHEL, CentOS, Fedora, Rocky, … |
✅ Available |
DEB/APT |
Debian, Ubuntu |
✅ Available |
Helm Charts |
Kubernetes Helm repositories |
✅ Available |
Alpine APK |
Alpine Linux packages |
✅ Available |
Additional package ecosystems are tracked on the GitHub Issues tracker.
Features
🔄 Unified Mirroring - Support for multiple package ecosystems in one tool
✅ RPM/DNF/YUM (RHEL, CentOS, Fedora, Rocky, Alma) - Available now
✅ DEB/APT (Debian, Ubuntu) - Available now
✅ Helm Charts (Kubernetes chart repositories) - Available now
✅ Alpine APK (Alpine Linux packages) - Available now
📦 Deduplication - Content-addressed storage (SHA256), packages stored once
📸 Snapshots - Immutable point-in-time repository states for patch management
🔍 Views - Virtual repositories combining multiple repos (e.g., BaseOS + AppStream + EPEL)
🔌 Modular - Plugin architecture for repository types
🚫 No Daemons - Simple CLI tool (optional scheduler for future automation)
📁 Static Output - Serve with any webserver (Apache, NGINX)
🔐 RHEL CDN Support - Client certificate authentication for Red Hat repos
🎯 Smart Filtering - Pattern-based package filtering with post-processing
⚡ Fast Updates - Check for updates without downloading (like
dnf check-update)
Configuration
- Configuration Overview
- Configuration File Structure
- Configuration File Priority
- Development vs. Production
- Database Configuration
- Storage Configuration
- Proxy Configuration
- SSL/TLS Configuration
- Including Additional Configuration Files
- Configuration Validation
- Environment Variables
- Strict configuration validation
- Best Practices
- Repository Configuration
- Package Filters
- SSL/TLS and Authentication
Plugins
API Reference