amduat-api/ops/asl-systemrescue-overlay-1.md
Carl Niklas Rydberg 74efedf62c Rework ops specs
2026-01-17 09:21:47 +01:00

2.6 KiB

ASL/SYSTEMRESCUE-OVERLAY/1 - Intake Overlay Layout

Status: Draft Owner: Architecture Version: 0.1.0 SoT: No Last Updated: 2026-01-17 Tags: [ops, rescue, overlay]

Document ID: ASL/SYSTEMRESCUE-OVERLAY/1 Layer: O3 - Rescue overlay profile

Depends on (normative):

  • ASL/HOST/1

Informative references:

  • ASL/RESCUE-NODE/1

0. Conventions

The key words MUST, MUST NOT, REQUIRED, SHOULD, and MAY are to be interpreted as in RFC 2119.


1. Purpose and Scope

This overlay defines what exists at boot for a rescue intake environment. It separates immutable tools from mutable runtime state and defines mount points for local or remote ASL stores.


2. Overlay Layout

overlay/
├── usr/
│   └── local/
│       ├── bin/
│       │   ├── asl-intake
│       │   ├── asl-admin
│       │   └── asl-debug
│       └── lib/
│           └── libasl.so
├── etc/
│   └── asl/
│       ├── asl.conf
│       ├── federation.conf
│       └── logging.conf
├── etc/systemd/system/
│   ├── asl-intake.service
│   └── asl-preflight.service
├── var/
│   └── lib/
│       └── asl/
│           ├── runtime/
│           ├── cache/
│           └── locks/
├── run/
│   └── asl/
│       └── sockets/
└── mnt/
    └── asl/
        ├── local/
        └── remote/

3. Directory Semantics

  • /usr/local/bin is immutable and MUST NOT be written at runtime.
  • /etc/asl contains declarative configuration only.
  • /var/lib/asl contains all mutable state for the rescue session.
  • /mnt/asl/local is the mount target for a local ASL store.
  • /mnt/asl/remote is an optional remote mount.

4. Local Store Layout (Informative)

When mounted, a local store typically exposes:

/mnt/asl/local/
├── blocks/
├── segments/
├── snapshots/
└── logs/

This internal layout is backend-defined and not mandated by this overlay.


5. Services

5.1 asl-preflight.service

Responsibilities:

  • Detect storage backends
  • Detect importable pools
  • Write mode decisions to /run/asl/mode

5.2 asl-intake.service

Responsibilities:

  • Read /run/asl/mode
  • Start asl-intake with the selected backend

6. Configuration Defaults

/etc/asl/asl.conf SHOULD include at minimum:

mode = auto
local.mount = /mnt/asl/local
remote.endpoint = none

7. Versioning

Backward-incompatible overlay changes MUST bump the major version.