[PATCH] Documentation: add ADR for VM Sources
Signed-off-by: Alyssa Ross <alyssa.ross@unikie.com> --- Documentation/decisions/009-vm-sources.adoc | 42 +++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Documentation/decisions/009-vm-sources.adoc diff --git a/Documentation/decisions/009-vm-sources.adoc b/Documentation/decisions/009-vm-sources.adoc new file mode 100644 index 0000000..457491d --- /dev/null +++ b/Documentation/decisions/009-vm-sources.adoc @@ -0,0 +1,42 @@ += 009 VM Sources +:page-parent: Architecture Decision Records +:page-grand_parent: About Spectrum + +// SPDX-FileCopyrightText: 2022 Unikie +// SPDX-License-Identifier: GFDL-1.3-no-invariants-or-later OR CC-BY-SA-4.0 + +== Status + +Proposed + +== Context + +It should be possible for Spectrum VMs to come from the root +filesystem (for built-in VMs), or one or more +xref:../appendices/user-partition.adoc[user partitions]. One part of +making this work will be to have the system search multiple sources of +VM definitions, to produce a single view of what VMs are available. + +== Decision + +The system will scan /usr/img/builtin, as well as the svc/data +partition on each user partition, for VM definitions. A single s6-rc +service directory will contain generated services for VMs from all +sources, so that tools like vm-start don't have to be aware of where +VMs come from. (This will continue to be distinct from the s6-rc +database used for host system services.) When a new source of VMs is +discovered, an updated database will be generated and atomically +replace the old one using +xref:https://www.skarnet.org/software/s6-rc/s6-rc-update.html[s6-rc-update]. + +Changes to how user partitions will be discovered and mounted, to +support having multiple user partitions, will be determined later. + +== Consequences + +Built-in VMs can be moved into the root filesystem, allowing the +default user partition to be empty. This will make it easier for +people making custom Spectrum images to add custom VMs without having +to build Spectrum itself themselves -- they can simply replace the +default, empty, partition with a custom one they can produce however +they like. base-commit: 95fba8ac6c872c2ba5e2ea8be5da9f2eb63374c8 -- 2.35.1
participants (1)
-
Alyssa Ross