Definitions and inspection
Strict YAML, deterministic hashes and SQLite storage. Inspect saved definitions and explicitly refresh remote VM power state without confusing it with guest readiness.
Your Proxmox homelab, from desktop or mobile.
Define a Linux environment once. Recreate it when needed.
THE IDEA / DEFINITION ≠ INSTANCE
The environment outlives the VM: delete an instance, keep its definition, recreate it when you need it again.
WHAT RUNS TODAY
Local native and generated-provider evidence, kept separate from real homelab acceptance.
Strict YAML, deterministic hashes and SQLite storage. Inspect saved definitions and explicitly refresh remote VM power state without confusing it with guest readiness.
Confirmed clone, resources, Cloud-Init, readiness and retained-definition recreation pass API/worker and native integration checks. Actual Proxmox template and guest acceptance remain open.
Explicit host-key trust, encrypted application identity and an interactive terminal. Linux terminal checks pass against an owned SSH peer; optional Linux Secret Service unlock-secret controls now pass the complete WebView/IPC/vault/shell flow against a private test keyring.
Remote start/shutdown, snapshot creation/restore and deletion have generated-provider integration evidence. Durable operation history survives restart without replaying uncertain mutations.
Explicit package and final-snapshot review now passes joined Linux native creation/recreation checks, including lost-reply recovery. Safe failure messages and explicit recorded stage views pass native integration; actual guest installation remains unverified.
Linux server archives and signed ARM64/x86_64 Android debug APKs are buildable. Current APK execution, real deployment and full platform acceptance remain open; this is not a release candidate.
THE MVP / AS THE ROADMAP STATES IT
The main workflows have native/generated-provider evidence. Completing this journey on an approved real guest and the current Android artifact remains the acceptance target.
The MVP outcome from VMAnyware.md; current implementation and validation boundaries are tracked in STATE.md.
A DEFINITION
Versioned YAML, validated strictly by the control plane, stored independently of any VM.
examples/kernel-lab.yamlLINUXapiVersion: vmanyware.dev/v1
kind: Environment
metadata:
name: kernel-lab
description: Linux development environment
spec:
image: debian-13
resources:
cpu: 4
memoryMiB: 8192
diskGiB: 40
provisioning:
cloudInit: true
sshAuthorizedKeys:
- ssh-ed25519 AAAAC3Nz… vmanyware-example
packages:
- build-essential
- git
lifecycle:
snapshotAfterProvisioning: falseA Linux development environment: image, resources, cloud-init, packages and lifecycle.
From the repository’s examples/ and README; the public demonstration key is shortened here.
STATUS / IN DEVELOPMENT
What has been verified, what is pending, and what isn’t built — kept apart.
Owned generated-provider checks cover creation/recreation, lifecycle, snapshots, deletion and restart recovery. Linux native SSH uses a generated local peer; these checks do not establish real guest behavior.
Actual template/resources, Cloud-Init, package installation, SSH and snapshot guest-state restoration still need an available, explicitly approved disposable Proxmox target.
Recorded stage views now pass Linux native checks, including the extracted server archive. Refreshed Android APKs have packaging evidence; exact APK execution, normal desktop vault setup, Android Keystore and other OS credential stores, iOS/Windows parity and production deployment/release acceptance remain open.
Real VM, production or credential changes require approval of their concrete target and operation. Default checks use owned local fixtures without Proxmox credentials.
IN PRACTICE / THE EVIDENCE
Choose a target to read what happened: the problem, the finding and the result. Each story names its evidence and the scope of its validation.
OPEN SOURCE / IN DEVELOPMENT
Run the API and the native window side by side, then check the local service.
make doctor make install-client make server # in one terminal make dev # in another, then click "Check local service"