Rename experimental Void image to void
Replace the old `void-exp` repository defaults with `void` so the Make targets, registration helper, example config, verification messaging, and sample test fixtures all line up with the new managed image name. Keep the scope to repo-facing naming only: config overrides, helper output, and test fixtures now expect `void`, while runtime compatibility for existing local `void-exp` VMs remains an operational concern outside this commit. Validation: go test ./..., make build, and a local `banger vm create --image void` smoke boot with ssh and opencode ports up.
This commit is contained in:
parent
70bc6d07d0
commit
497e6dca3d
8 changed files with 14 additions and 14 deletions
2
Makefile
2
Makefile
|
|
@ -15,7 +15,7 @@ BANGERD_BIN ?= $(BUILD_BIN_DIR)/bangerd
|
||||||
VSOCK_AGENT_BIN ?= $(BUILD_BIN_DIR)/banger-vsock-agent
|
VSOCK_AGENT_BIN ?= $(BUILD_BIN_DIR)/banger-vsock-agent
|
||||||
BINARIES := $(BANGER_BIN) $(BANGERD_BIN) $(VSOCK_AGENT_BIN)
|
BINARIES := $(BANGER_BIN) $(BANGERD_BIN) $(VSOCK_AGENT_BIN)
|
||||||
GO_SOURCES := $(shell find cmd internal -type f -name '*.go' | sort)
|
GO_SOURCES := $(shell find cmd internal -type f -name '*.go' | sort)
|
||||||
VOID_IMAGE_NAME ?= void-exp
|
VOID_IMAGE_NAME ?= void
|
||||||
VOID_VM_NAME ?= void-dev
|
VOID_VM_NAME ?= void-dev
|
||||||
ALPINE_RELEASE ?= 3.23.3
|
ALPINE_RELEASE ?= 3.23.3
|
||||||
ALPINE_IMAGE_NAME ?= alpine
|
ALPINE_IMAGE_NAME ?= alpine
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
# Experimental Void Linux guest profile for local testing.
|
# Experimental Void Linux guest profile for local testing.
|
||||||
#
|
#
|
||||||
# Register or promote a complete `void-exp` image first, then point the daemon
|
# Register or promote a complete `void` image first, then point the daemon
|
||||||
# at it by name. Firecracker is resolved from PATH by default; set
|
# at it by name. Firecracker is resolved from PATH by default; set
|
||||||
# `firecracker_bin` only if you need an override.
|
# `firecracker_bin` only if you need an override.
|
||||||
|
|
||||||
default_image_name = "void-exp"
|
default_image_name = "void"
|
||||||
# firecracker_bin = "/usr/bin/firecracker"
|
# firecracker_bin = "/usr/bin/firecracker"
|
||||||
# ssh_key_path = "/abs/path/to/private/key"
|
# ssh_key_path = "/abs/path/to/private/key"
|
||||||
|
|
@ -50,7 +50,7 @@ log_level = "debug"
|
||||||
web_listen_addr = ""
|
web_listen_addr = ""
|
||||||
firecracker_bin = "/opt/firecracker"
|
firecracker_bin = "/opt/firecracker"
|
||||||
ssh_key_path = "/tmp/custom-key"
|
ssh_key_path = "/tmp/custom-key"
|
||||||
default_image_name = "void-exp"
|
default_image_name = "void"
|
||||||
auto_stop_stale_after = "1h"
|
auto_stop_stale_after = "1h"
|
||||||
stats_poll_interval = "15s"
|
stats_poll_interval = "15s"
|
||||||
metrics_poll_interval = "30s"
|
metrics_poll_interval = "30s"
|
||||||
|
|
@ -81,7 +81,7 @@ default_dns = "9.9.9.9"
|
||||||
if cfg.SSHKeyPath != "/tmp/custom-key" {
|
if cfg.SSHKeyPath != "/tmp/custom-key" {
|
||||||
t.Fatalf("SSHKeyPath = %q", cfg.SSHKeyPath)
|
t.Fatalf("SSHKeyPath = %q", cfg.SSHKeyPath)
|
||||||
}
|
}
|
||||||
if cfg.DefaultImageName != "void-exp" {
|
if cfg.DefaultImageName != "void" {
|
||||||
t.Fatalf("DefaultImageName = %q", cfg.DefaultImageName)
|
t.Fatalf("DefaultImageName = %q", cfg.DefaultImageName)
|
||||||
}
|
}
|
||||||
if cfg.AutoStopStaleAfter != time.Hour {
|
if cfg.AutoStopStaleAfter != time.Hour {
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ func TestPromoteImageCopiesBootArtifactsIntoArtifactDir(t *testing.T) {
|
||||||
db := openDaemonStore(t)
|
db := openDaemonStore(t)
|
||||||
image := model.Image{
|
image := model.Image{
|
||||||
ID: "img-promote",
|
ID: "img-promote",
|
||||||
Name: "void-exp",
|
Name: "void",
|
||||||
Managed: false,
|
Managed: false,
|
||||||
RootfsPath: rootfs,
|
RootfsPath: rootfs,
|
||||||
KernelPath: kernel,
|
KernelPath: kernel,
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ func TestDashboardPageRendersSummaryAndTables(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
vms: []model.VMRecord{{ID: "vm-1", Name: "smth", State: model.VMStateRunning, CreatedAt: model.Now(), Runtime: model.VMRuntime{GuestIP: "172.16.0.2"}, Spec: model.VMSpec{VCPUCount: 2, MemoryMiB: 1024, WorkDiskSizeBytes: 8 << 30}}},
|
vms: []model.VMRecord{{ID: "vm-1", Name: "smth", State: model.VMStateRunning, CreatedAt: model.Now(), Runtime: model.VMRuntime{GuestIP: "172.16.0.2"}, Spec: model.VMSpec{VCPUCount: 2, MemoryMiB: 1024, WorkDiskSizeBytes: 8 << 30}}},
|
||||||
images: []model.Image{{ID: "img-1", Name: "void-exp", Managed: true, RootfsPath: "/tmp/rootfs.ext4", CreatedAt: model.Now()}},
|
images: []model.Image{{ID: "img-1", Name: "void", Managed: true, RootfsPath: "/tmp/rootfs.ext4", CreatedAt: model.Now()}},
|
||||||
}
|
}
|
||||||
|
|
||||||
req := httptest.NewRequest(http.MethodGet, "/", nil)
|
req := httptest.NewRequest(http.MethodGet, "/", nil)
|
||||||
|
|
@ -93,7 +93,7 @@ func TestDashboardPageRendersSummaryAndTables(t *testing.T) {
|
||||||
t.Fatalf("status = %d, want 200", rec.Code)
|
t.Fatalf("status = %d, want 200", rec.Code)
|
||||||
}
|
}
|
||||||
body := rec.Body.String()
|
body := rec.Body.String()
|
||||||
for _, want := range []string{"vCPU", "2 / 8", "1G / 16G", "8G / 20G", "9G free", "smth", "void-exp", "Create VM"} {
|
for _, want := range []string{"vCPU", "2 / 8", "1G / 16G", "8G / 20G", "9G free", "smth", "void", "Create VM"} {
|
||||||
if !strings.Contains(body, want) {
|
if !strings.Contains(body, want) {
|
||||||
t.Fatalf("body missing %q\n%s", want, body)
|
t.Fatalf("body missing %q\n%s", want, body)
|
||||||
}
|
}
|
||||||
|
|
@ -174,7 +174,7 @@ func TestVMShowPageRendersRunningActions(t *testing.T) {
|
||||||
WorkDiskBytes: 32 << 20,
|
WorkDiskBytes: 32 << 20,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
image: model.Image{ID: "img-1", Name: "void-exp"},
|
image: model.Image{ID: "img-1", Name: "void"},
|
||||||
ports: api.VMPortsResult{
|
ports: api.VMPortsResult{
|
||||||
Name: "smth",
|
Name: "smth",
|
||||||
Ports: []api.VMPort{
|
Ports: []api.VMPort{
|
||||||
|
|
@ -211,7 +211,7 @@ func TestVMListShowsImageNameAndLink(t *testing.T) {
|
||||||
{ID: "vm-1", Name: "smth", ImageID: "img-1", State: model.VMStateRunning, CreatedAt: model.Now(), Spec: model.VMSpec{VCPUCount: 2, MemoryMiB: 1024, WorkDiskSizeBytes: 8 << 30}},
|
{ID: "vm-1", Name: "smth", ImageID: "img-1", State: model.VMStateRunning, CreatedAt: model.Now(), Spec: model.VMSpec{VCPUCount: 2, MemoryMiB: 1024, WorkDiskSizeBytes: 8 << 30}},
|
||||||
},
|
},
|
||||||
images: []model.Image{
|
images: []model.Image{
|
||||||
{ID: "img-1", Name: "void-exp"},
|
{ID: "img-1", Name: "void"},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -223,7 +223,7 @@ func TestVMListShowsImageNameAndLink(t *testing.T) {
|
||||||
t.Fatalf("status = %d, want 200", rec.Code)
|
t.Fatalf("status = %d, want 200", rec.Code)
|
||||||
}
|
}
|
||||||
body := rec.Body.String()
|
body := rec.Body.String()
|
||||||
for _, want := range []string{">void-exp</a>", "href=\"/images/img-1\""} {
|
for _, want := range []string{">void</a>", "href=\"/images/img-1\""} {
|
||||||
if !strings.Contains(body, want) {
|
if !strings.Contains(body, want) {
|
||||||
t.Fatalf("body missing %q\n%s", want, body)
|
t.Fatalf("body missing %q\n%s", want, body)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -590,4 +590,4 @@ log "building work-seed $WORK_SEED"
|
||||||
BUILD_DONE=1
|
BUILD_DONE=1
|
||||||
log "built experimental Void rootfs: $OUT_ROOTFS"
|
log "built experimental Void rootfs: $OUT_ROOTFS"
|
||||||
log "built experimental Void work-seed: $WORK_SEED"
|
log "built experimental Void work-seed: $WORK_SEED"
|
||||||
log "use examples/void-exp.config.toml as the local config override template"
|
log "use examples/void.config.toml as the local config override template"
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ resolve_banger_bin() {
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||||
RUNTIME_DIR="${BANGER_MANUAL_DIR:-$REPO_ROOT/build/manual}"
|
RUNTIME_DIR="${BANGER_MANUAL_DIR:-$REPO_ROOT/build/manual}"
|
||||||
IMAGE_NAME="${VOID_IMAGE_NAME:-void-exp}"
|
IMAGE_NAME="${VOID_IMAGE_NAME:-void}"
|
||||||
BANGER_BIN="$(resolve_banger_bin)"
|
BANGER_BIN="$(resolve_banger_bin)"
|
||||||
ROOTFS="$RUNTIME_DIR/rootfs-void.ext4"
|
ROOTFS="$RUNTIME_DIR/rootfs-void.ext4"
|
||||||
WORK_SEED="$RUNTIME_DIR/rootfs-void.work-seed.ext4"
|
WORK_SEED="$RUNTIME_DIR/rootfs-void.work-seed.ext4"
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,7 @@ Usage: ./scripts/verify.sh [--nat] [--image <name>]
|
||||||
|
|
||||||
Run a basic smoke test for the Go VM workflow.
|
Run a basic smoke test for the Go VM workflow.
|
||||||
Use --nat to additionally verify outbound NAT and host rule cleanup.
|
Use --nat to additionally verify outbound NAT and host rule cleanup.
|
||||||
Use --image to verify a non-default image such as void-exp.
|
Use --image to verify a non-default image such as void.
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue