Samuel CuiandClaude Opus 5.5 2baecc6fe0 Settle fixture Jobs before Tape read-learning test cleanup
recordTapeReadJob created a Restore Job whose asynchronous indexing could still
write its catalog and bundle while test cleanup removed them, so
TestTapeReadObservationsRoundTrip failed intermittently with a non-empty
temporary directory. Wait for the fixture Job to settle first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 18:00:27 +08:00
2022-12-12 22:48:28 +08:00
2026-10-30 00:01:25 +08:00
2026-10-30 00:01:25 +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.

The v1 Alpha line is intended for evaluation. It includes live Location file management, persistent saved versions and a unified Scan workflow. See GitHub Releases for available versions, changes 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 and sequential tar workflows with configurable records; both use configured encryption scripts, with public-tool recovery instructions for tar.
  • Auto read order for Tape Restore and Verify: it plans the whole selection to cut tape positioning, and keeps recorded order when that is fastest. On the tested hardware it substantially shortened Restores of files scattered across a tar cartridge; see Faster Restores with Auto Read Order.
  • 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.
  • Durable Archive, Restore and Scan Jobs, typed gRPC services and a scriptable CLI. Scan supports optional hashing, content lookup, previews, inventory publication and recorded-copy verification.

LTFS uses compatible hardware/software and configured adapters. Raw tar Tape uses the eligible Linux device path; physical qualification is reported separately from protocol support. 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.3/install-release.sh
sudo bash install-release.sh --version v1.0.0-alpha.3 --check
sudo bash install-release.sh --version v1.0.0-alpha.3

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:

make demo

See Local Demo for 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

  • User Guide: installation, configuration, daily workflows and operation through the CLI or an agent.
  • Developer Documentation: architecture, interfaces, research, tests and contribution rules.

Architecture and user documentation describe the current implementation and operating procedures; research records evidence and open questions. Published change history belongs to GitHub Releases; proposals and implementation plans live in Issues or pull requests until their durable result is incorporated into the current documentation.

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
26 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 66.3%
Go 31.1%
Shell 2%
Less 0.4%
CSS 0.1%