banger/internal/daemon
Thales Maciel c13c8b11af
Extract imagemgr subpackage with pure image helpers
Moves the stateless helpers of the image subsystem into
internal/daemon/imagemgr:

paths.go — path validators (ValidateRegisterPaths,
ValidatePromotePaths), artifact staging (StageBootArtifacts,
StageOptionalArtifactPath), metadata (BuildMetadataPackages,
WritePackagesMetadata).

build.go — ResizeRootfs, WriteBuildLog, and the full guest
provisioning script generator (BuildProvisionScript, BuildModulesCommand
and all private script-append helpers) along with the mise/tmux/opencode
version constants.

The orchestrator methods (BuildImage, RegisterImage, PromoteImage,
DeleteImage, runImageBuildNative) stay on *Daemon: they still touch
d.store, d.imageOpsMu, d.beginOperation, capability hooks, and
fcproc-wrapped Daemon helpers — extracting them needs prerequisite
phases (operation protocol, workdisk helpers, tap pool). This commit is
strictly the pure-helper extraction that can land cleanly today.

imagebuild.go shrinks from 453 -> 225 LOC (half gone). images.go shrinks
from 450 -> 374 LOC. imagebuild_test.go updated to call the exported
imagemgr.BuildProvisionScript. Zero behavior change; all tests green.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 16:24:22 -03:00
..
dmsnap Extract opstate and dmsnap into subpackages 2026-04-15 16:02:43 -03:00
fcproc Extract fcproc subpackage for firecracker process helpers 2026-04-15 16:11:39 -03:00
imagemgr Extract imagemgr subpackage with pure image helpers 2026-04-15 16:24:22 -03:00
opstate Extract opstate and dmsnap into subpackages 2026-04-15 16:02:43 -03:00
ARCHITECTURE.md Move subsystem state/locks off Daemon into owning types 2026-04-15 15:58:33 -03:00
capabilities.go Add guest sessions and agent VM defaults 2026-04-12 23:48:42 -03:00
capabilities_test.go Manage image artifacts and show VM create progress 2026-03-21 14:48:01 -03:00
daemon.go Extract fcproc subpackage for firecracker process helpers 2026-04-15 16:11:39 -03:00
daemon_test.go Rename experimental Void image to void 2026-04-01 20:15:28 -03:00
dashboard.go Serve a local web UI from bangerd 2026-03-21 16:47:47 -03:00
dns_routing.go Route .vm DNS through systemd-resolved 2026-03-22 15:07:22 -03:00
dns_routing_test.go Route .vm DNS through systemd-resolved 2026-03-22 15:07:22 -03:00
doc.go Move subsystem state/locks off Daemon into owning types 2026-04-15 15:58:33 -03:00
doctor.go Remove runtime-bundle image dependencies 2026-03-21 18:34:53 -03:00
fastpath_test.go Manage image artifacts and show VM create progress 2026-03-21 14:48:01 -03:00
guest_sessions.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
guest_sessions_test.go Add guest.session.send and vm.workspace.export RPCs 2026-04-14 15:21:50 -03:00
image_build_ops.go Extract opstate and dmsnap into subpackages 2026-04-15 16:02:43 -03:00
image_seed.go Manage image artifacts and show VM create progress 2026-03-21 14:48:01 -03:00
imagebuild.go Extract imagemgr subpackage with pure image helpers 2026-04-15 16:24:22 -03:00
imagebuild_test.go Extract imagemgr subpackage with pure image helpers 2026-04-15 16:24:22 -03:00
images.go Extract imagemgr subpackage with pure image helpers 2026-04-15 16:24:22 -03:00
logger.go Speed up VM create with work seeds 2026-03-18 21:22:12 -03:00
logger_test.go Remove runtime-bundle image dependencies 2026-03-21 18:34:53 -03:00
nat.go Move helper NAT management into Go 2026-03-17 15:07:49 -03:00
nat_test.go Move helper NAT management into Go 2026-03-17 15:07:49 -03:00
opencode.go Manage image artifacts and show VM create progress 2026-03-21 14:48:01 -03:00
ports.go Refine vm ports output 2026-03-19 18:21:04 -03:00
preflight.go Remove runtime-bundle image dependencies 2026-03-21 18:34:53 -03:00
runtime_assets.go Remove runtime-bundle image dependencies 2026-03-21 18:34:53 -03:00
session_attach.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
session_controller.go Move subsystem state/locks off Daemon into owning types 2026-04-15 15:58:33 -03:00
session_lifecycle.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
session_stream.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
snapshot.go Extract opstate and dmsnap into subpackages 2026-04-15 16:02:43 -03:00
snapshot_test.go Harden VM stop cleanup for stale snapshots 2026-03-18 12:28:15 -03:00
ssh_client_config.go Configure direct SSH access for .vm hosts 2026-03-22 16:48:42 -03:00
ssh_client_config_test.go Configure direct SSH access for .vm hosts 2026-03-22 16:48:42 -03:00
tap_pool.go Move subsystem state/locks off Daemon into owning types 2026-04-15 15:58:33 -03:00
vm.go Extract fcproc subpackage for firecracker process helpers 2026-04-15 16:11:39 -03:00
vm_authsync.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
vm_create.go Move subsystem state/locks off Daemon into owning types 2026-04-15 15:58:33 -03:00
vm_create_ops.go Extract opstate and dmsnap into subpackages 2026-04-15 16:02:43 -03:00
vm_disk.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
vm_lifecycle.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
vm_locks.go Move subsystem state/locks off Daemon into owning types 2026-04-15 15:58:33 -03:00
vm_set.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
vm_stats.go Split internal/daemon vm.go and guest_sessions.go by concern 2026-04-15 15:47:08 -03:00
vm_test.go Add guest sessions and agent VM defaults 2026-04-12 23:48:42 -03:00
web.go Serve a local web UI from bangerd 2026-03-21 16:47:47 -03:00
workspace.go workspace.export: add base_commit to capture worker git commits 2026-04-14 16:13:05 -03:00
workspace_test.go workspace.export: add base_commit to capture worker git commits 2026-04-14 16:13:05 -03:00