Chantal Documentation

Chantal - A unified CLI tool for offline repository mirroring.

Because every other name was already taken.

Version 1.4 Python 3.12+

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)

Plugins

Indices and tables