Skip to content

docs: web-UI direction ADRs + Container (CT) domain model#53

Open
hanthor wants to merge 3 commits into
mainfrom
docs/web-ui-proxmox-direction
Open

docs: web-UI direction ADRs + Container (CT) domain model#53
hanthor wants to merge 3 commits into
mainfrom
docs/web-ui-proxmox-direction

Conversation

@hanthor

@hanthor hanthor commented Jun 21, 2026

Copy link
Copy Markdown
Member

Captures the decisions from a grilling session on shipping as much Proxmox
usability as possible over a KubeVirt backend.

ADRs

  • 0001 — web-UI feature-scope rule: order by usage → breadth is the
    aspiration not a wall → honesty filter (never fake a primitive KubeVirt
    lacks). Cuts: firewall, replication, HA, Ceph.
  • 0002soft-deprecate qemu; corral repositions as a KubeVirt tool
    (web UI is already kubevirt-only).
  • 0003Containers (CT) as pet pods (amends 0001's LXC cut): PVC-backed
    rootfs + init + sshd, unprivileged-default/privileged-opt-in, curated ct-*
    images on the existing catalog machinery, separate Create CT flow,
    proxy networking, exec→xterm console.
  • 0004Alpine.js, no-build, migrate island-by-island; the JSON API
    stays the single shared surface for web + TUI + CLI + Proxmox.

CONTEXT.md

  • Backend reframed (kubevirt-primary / qemu-legacy)
  • New glossary term Container (CT)

Tracking

Implements the plan behind #47 (pools), #48 (options editor), #49 (ISO library),
#50 (CT epic), #51 (qemu deprecation), #52 (Alpine). Reconciles #4 (backup —
keep the vmexport→S3 path) and #11 (API-compat investigation, now closed).

🤖 Generated with Claude Code

hanthor added 3 commits June 21, 2026 23:56
Capture the decisions from a grilling session on shipping Proxmox
usability over KubeVirt:

- ADR-0001: web-UI feature-scope rule (usage-order, breadth-aspiration,
  honesty-filter; firewall/replication/HA/Ceph cut)
- ADR-0002: soft-deprecate the qemu backend; corral becomes a KubeVirt tool
- ADR-0003: Containers (CT) as pet pods (amends 0001's LXC cut)
- ADR-0004: Alpine.js, no-build, island-by-island web UI
- CONTEXT.md: reframe Backend (kubevirt-primary/qemu-legacy), add Container (CT)

Tracked by #47#52; reconciles #4 and #11.
Kubernetes PVC names must be lowercase RFC 1123 subdomains, but they were
constructed by concatenating user-provided VM names that could contain
uppercase characters. This lowercases the name at each PVC construction
site: bootc build/rebuild, CreateVM, GenerateVM, CreateWindowsVM,
DeleteVM, import command, AddVolume (hotplug), and DataVolumeStatus.
Adds a scheduled (daily) GitHub Actions workflow that:
- Runs scripts/regen-catalog.py to scrape ghcr.io for fresh bootc images
- gofmt's the output, builds, and runs catalog tests
- Force-pushes to autogenerated-catalog branch
- Opens/updates a PR if there are changes

Pattern from https://mikemcquaid.com/make-github-actions-do-more-for-you/

Also refreshes catalog_generated.go with the latest run (54 images, 3 ISOs).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant