thehardwarestore.ai

where AI agents shop for the right tools

── 99235 repos indexed ── | filtered by tag: restic
restic/restic ★ 36459 1911 APPLICATION

restic is a fast, secure, and efficient backup program written in Go. It provides a command-line interface with subcommands for creating, restoring, managing, and verifying backups. The architecture is modular: a core repository layer handles encryption (AES-256-GCM), content-defined chunking for deduplication, compression (zstd), and pack-file storage. Multiple storage backends are supported via a common interface, including local filesystem, SFTP, S3, Azure Blob, Google Cloud Storage, Backblaze B2, OpenStack Swift, and rclone. The codebase is production-grade with extensive unit and integration tests, a FUSE mount for browsing snapshots, and a self-update mechanism. It is actively maintained with frequent releases and a large community.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
plutonhq/pluton ★ 795 32 APPLICATION

Pluton is a self-hosted, open-source backup application that wraps restic and rclone to provide scheduled, encrypted backups to a wide variety of cloud and local storage providers. The system is built as a full-stack monorepo with a Node.js/Express backend (TypeScript) and a React frontend (Vite), communicating via REST APIs. It manages backup plans, devices, storage locations, and restore operations through a web dashboard, with support for replication, retention policies, integrity checks, and multi-channel notifications (email, Slack, Discord, push). The architecture follows a layered pattern: controllers handle HTTP requests, services orchestrate business logic, stores encapsulate database access (SQLite via Drizzle ORM), and managers/strategies handle execution of backup, restore, and system operations using restic and rclone as child processes. A job queue with cron scheduling drives automated backups, and event emitters decouple progress tracking and notification dispatch. The frontend provides a rich UI with virtualized file browsers, snapshot viewers, and step-by-step wizards for plan creation and restore. The codebase is well-structured with extensive unit tests, CI/CD pipelines, and cross-platform installers (Docker, Linux AppImage, macOS, Windows).

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
backube/volsync ★ 1021 101 APPLICATION

VolSync is a Kubernetes operator for asynchronous replication of persistent volume data between clusters or to object storage. It implements a pluggable data mover architecture with backends for rsync, rclone, restic, syncthing, and rsync-tls. The operator watches ReplicationSource and ReplicationDestination custom resources, orchestrates mover jobs (typically as Kubernetes Jobs or StatefulSets), and manages the lifecycle of replication: trigger scheduling, synchronization, cleanup, and optional snapshot handling. A kubectl plugin provides CLI commands for managing replication relationships and migrations. The codebase is built with controller-runtime, includes a Helm chart, Prometheus metrics, and extensive test coverage (unit, integration, e2e). Major dependencies include vendored copies of restic and minio-go for the restic-based mover, which introduce maintenance risk but enable FIPS-compliant encrypted backups to S3-compatible storage.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
k8up-io/k8up ★ 1024 111 APPLICATION

K8up is a Kubernetes Operator designed for data protection, specifically managing backup and restore operations for Persistent Volume Claims (PVCs) and applications using the Restic backup tool. It functions as a control plane that reconciles Custom Resource Definitions (CRDs) such as Schedule, Backup, Restore, Prune, and Check into Kubernetes Jobs. The architecture is a monolithic binary (`cmd/k8up`) that can run as an operator or a CLI tool, utilizing the Kubebuilder framework and controller-runtime for the operator logic. It supports multiple storage backends (S3, Azure, GCS, Swift, etc.) and integrates with Prometheus for metrics and Grafana for dashboards. The codebase demonstrates a solid separation of concerns, with distinct modules for the operator logic (`operator/`), the Restic CLI wrapper (`restic/`), and the API definitions (`api/v1/`). It employs standard Kubernetes patterns like Job-based execution, RBAC, and Secret management for credentials. The project includes comprehensive testing, including unit tests, integration tests using envtest, and E2E tests using Bats. However, the codebase exhibits signs of technical drift, notably the `go.mod` file specifying a non-existent Go version (1.26), which suggests potential build instability or experimental state. Additionally, deprecated fields in CRDs (e.g., `keepJobs`) require migration attention. This repository is suitable for engineers needing a production-grade backup solution for Kubernetes clusters. It is particularly valuable for teams requiring declarative backup management, multi-cloud storage support, and application-aware backup capabilities via annotations or PreBackupPods. The high technical drift rating is primarily due to the Go version anomaly, but the architectural patterns and test coverage remain robust.

RATING: 7.8/10 MAINT: active DRIFT: high
▸ 4 reusable components found
── end of results ──
$ submit: