Refine default orchestration flow and documentation
- Document defaults-only configuration, kernel topology override, and deprecated CLI flags in README - Mark schema doc as deprecated per ADR-0002 - Warn that --topology/--config are ignored; adjust loader/main/context flow - Refactor orchestrator run() to auto-select mount/apply, reuse state when already provisioned, and serialize topology via Display - Add Callgraph/FUNCTION_LIST/ADR docs tracking the new behavior - Derive Eq for Topology to satisfy updated CLI handling
This commit is contained in:
@@ -1,27 +1,16 @@
|
||||
# zosstorage Configuration Schema
|
||||
# zosstorage Configuration (Deprecated schema)
|
||||
|
||||
This document defines the YAML configuration for the initramfs-only disk provisioning utility and the exact precedence rules between configuration sources. It complements [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
|
||||
This schema document is deprecated per [docs/adr/0002-defaults-only-no-external-config.md](docs/adr/0002-defaults-only-no-external-config.md). Runtime now uses defaults-only with a single optional kernel cmdline override. The YAML configuration file is not read at boot.
|
||||
|
||||
Canonical paths and keys
|
||||
- Kernel cmdline key: zosstorage.config=
|
||||
- Default config file path: /etc/zosstorage/config.yaml
|
||||
- JSON state report path: /run/zosstorage/state.json
|
||||
- Optional log file path: /run/zosstorage/zosstorage.log
|
||||
- fstab generation: disabled by default
|
||||
- Reserved filesystem labels: ZOSBOOT (ESP), ZOSDATA (all data filesystems)
|
||||
- GPT partition names: zosboot, zosdata, zoscache
|
||||
Active behavior (ADR-0002)
|
||||
- Defaults-only: all settings are defined in code. No /etc/zosstorage/config.yaml is read.
|
||||
- Optional kernel cmdline override: `zosstorage.topology=VALUE` can override only the topology. Legacy alias `zosstorage.topo=` is accepted.
|
||||
- CLI: `--config` and `--topology` are deprecated and ignored (warnings emitted). Operational flags remain (`--apply`, `--show`, `--report`, `--fstab`, logging).
|
||||
- Report path: `/run/zosstorage/state.json`. Optional log file: `/run/zosstorage/zosstorage.log`.
|
||||
- Reserved labels: `ZOSBOOT` (ESP), `ZOSDATA` (data). GPT names: `zosboot`, `zosdata`, `zoscache`.
|
||||
|
||||
Precedence and merge strategy
|
||||
1. Start from built-in defaults documented here.
|
||||
2. Merge in the on-disk config file if present at /etc/zosstorage/config.yaml.
|
||||
3. Merge CLI flags next; these override file values.
|
||||
4. Merge kernel cmdline last; zosstorage.config= overrides CLI and file.
|
||||
5. No interactive prompts are permitted.
|
||||
|
||||
The kernel cmdline key zosstorage.config= accepts:
|
||||
- A path to a YAML file inside the initramfs root (preferred).
|
||||
- A file: absolute path (e.g., file:/run/config/zos.yaml).
|
||||
- A data: URL containing base64 YAML (optional extension).
|
||||
Historical reference (original YAML-based schema, no longer used at runtime)
|
||||
The remainder of this document preserves the previous YAML schema for archival purposes only.
|
||||
|
||||
Top-level YAML structure
|
||||
|
||||
|
||||
Reference in New Issue
Block a user