2022-12-12 22:48:28 +08:00
2023-09-26 16:47:06 +08:00
2022-08-23 12:30:59 +08:00

YATM Logo

YATM aka Yet Another Tape Manager

YATM is an open-source archive manager for LTFS tapes and already-mounted disk Volumes. It separates logical Library organization from physical archive copies, keeping ordinary files recoverable without a YATM-specific storage format.

v1.0.0-alpha.1 is available for evaluation. It introduces live Location file management, persistent saved versions and a unified Scan workflow. Read the Alpha release notes for changes, acceptance evidence and limits. v0.1.x remains the stable release.

Features

  • Archive and Restore on Tape, HDD, and HM-SMR Media, with streaming SHA-256 verification through ACP.
  • LTFS storage-order reads, append to compatible Tapes, and hardware-encryption integration through configured device scripts.
  • A logical Library with folders, Tags, notes, paginated boolean search, and Chonky-based dual-pane browsing.
  • Content-addressed image/video Previews independent of archive Media.
  • Mounted Volume content access, automatic validated Scan publication, and metadata-only Media deletion.
  • Live registered directories, optional basic collection, shared Library/Location organization and query filters, and selected Archive.
  • Typed gRPC services and durable Archive, Restore and Scan Jobs with retryable checkpoints. Scan supports optional hashing, content lookup, previews, inventory publication and recorded-copy verification; ordinary file operations remain request-bound.

Tape workflows require compatible LTFS hardware/software; Volume-only workflows do not require a Tape drive. See installation requirements.

Get Started

The default installer selects the stable release. Install or upgrade the Alpha using its exact-version installer; no local compilation is required:

curl --fail --location --output install-release.sh \
  https://raw.githubusercontent.com/samuelncui/yatm/v1.0.0-alpha.1/install-release.sh
bash install-release.sh --version v1.0.0-alpha.1 --check
bash install-release.sh --version v1.0.0-alpha.1

Run with permission to manage the installation and systemd service. See Installation and Configuration for prerequisites and fresh-install configuration. Existing v0.1.x installations follow the upgrade guide; review it before proceeding. The installer displays that guide from the verified release package and asks for approval before stopping the service.

For an isolated local review environment from a source checkout, run:

./scripts/demo

See Local Demo for prerequisites, fixture coverage, reset behavior, and safety boundaries. The Demo uses disposable data and does not exercise a physical Tape drive.

The release includes yatm-cli and an optional agent Skill. Linux amd64/systemd is the primary installation target; other platform archives are experimental.

Documentation

Architecture documents describe the current implementation. Draft designs track proposed work and pending acceptance; historical documents are not current specifications.

Thanks

  • lto-info provides the basis for Tape inspection, extended here to read the cartridge barcode. Thanks, @speed47!
S
Description
No description provided
Readme BSD-2-Clause
24 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 66.3%
Go 31.1%
Shell 2%
Less 0.4%
CSS 0.1%