Skip to content

docs (talos hvm): add the Storage pages for Talos Hypervisor - #808

Closed
Iheanacho-ai wants to merge 1 commit into
siderolabs:mainfrom
Iheanacho-ai:storage-hv
Closed

Iheanacho-ai wants to merge 1 commit into
siderolabs:mainfrom
Iheanacho-ai:storage-hv

Conversation

@Iheanacho-ai

Copy link
Copy Markdown
Member

What

Adds the Storage section for Talos Hypervisor:

  • upload-and-manage-images.mdx: declare a content library on a Talos volume, then upload, verify, list, replace, and delete its files, and pin a virtual machine's image to a digest.
  • create-a-storage-pool.mdx: declare a storage pool on a Talos volume, check its status, and change or remove it.

Why

This is part of the Talos Hypervisor docs for TalosCon. It builds on the navigation in #805, and the combined PR at the end will bring all of the Talos Hypervisor PRs to main.

Change

  • public/hypervisor/storage/upload-and-manage-images.mdx: new page.
  • public/hypervisor/storage/create-a-storage-pool.mdx: new page. It covers declaring, checking, changing, and removing a pool. Talos main does not yet provision virtual machine disks in storage pools, so the page does not describe using a pool from a virtual machine. A TODO comment marks where that content goes once pool-backed disks land.

Testing

  • Ran: make style-check-changed. Every YAML block was loaded and validated with Talos's own config loader and validator, including a VirtualMachineConfig disk with a pinned digest.
  • Where: local checkout, against siderolabs/talos main at 8fca673 and siderolabs/extensions main at 7d75c4b
  • By: an agent (Claude Code), plus a separate agent that fact-checked both pages against the source, citing file:line
  • Result: the style check passes and every YAML block validates. The fact-check confirmed the volume kinds, naming rules, upload, list, overwrite, delete, and digest behavior, the status columns, and the pool's change and remove behavior. It found six issues, all corrected: the NFS example linked to the v1.14 External Volumes page, which covers only virtiofs, and now links to the v1.15 ExternalVolumeConfig reference; files are held only by running virtual machines, which can release them in three ways; a VM disk cannot refer to a pool name that contains an underscore; content libraries and storage pools should use separate volumes; a digest mismatch keeps the virtual machine from starting; and the VOLUME column shows the volume ID. The commands have not been run on a host, because there is no Talos v1.15 alpha build yet. The frontmatter check reports the pages as belonging to no known section until docs (talos hvm): add the Talos Hypervisor navigation structure #805 merges. broken-links will flag the links to the Getting Started pages, which are in a separate PR, and the v1.15 reference links until the Talos v1.15 docs are added.
  • Filled from outside the page: nothing. All behavior comes from the Talos source.

@Iheanacho-ai
Iheanacho-ai marked this pull request as draft October 6, 2026 17:09
@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

📋 Automated documentation review

⚠️ The reviewer did not finish on commit b82f904 (it timed out or errored) — see the workflow run log. This run did not produce a result; any findings from an earlier run on this PR still stand.

@Iheanacho-ai
Iheanacho-ai force-pushed the storage-hv branch 2 times, most recently from 58fd79b to 3d34fc3 Compare October 13, 2026 08:45
@Iheanacho-ai
Iheanacho-ai marked this pull request as ready for review October 13, 2026 08:47
@github-project-automation github-project-automation Bot moved this from In Review to Approved in Planning Oct 13, 2026

The move waits until no running virtual machine uses the pool. Until then, the pool's `PHASE` is `notReady`, and its `ERROR` says that the pool is held.

The following steps move `pool1` to a new directory volume named `vm-disks-2`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wording might be misleading, since the pool is not "moved". It might set an expectation that the contents will be moved as well. Re-pointing, Re-mapping, or re-targeting would describe this operation more accurately.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you just made the change!

@majabojarska majabojarska left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall ✔️

Signed-off-by: Amarachi Iheanacho <amarachi.iheanacho@siderolabs.com>
@sterlingkoch

Copy link
Copy Markdown
Member

Merged as part of #867.

@github-project-automation github-project-automation Bot moved this from Approved to Done in Planning Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants