WORK / ACTIVE SYSTEM

KubeMetal

An Apple Silicon hybrid MLOps desktop app separating Kubernetes control from native macOS MLX compute

Apple Silicon · macOS · Tauri · Rust · React · Kubernetes · K3s · Colima · MLX · MLOps
01 / Problem02 / Architecture03 / Development04 / Proof05 / Knowledge06 / Record
01 / PROBLEM

Apple Silicon Metal compute cannot simply be treated as ordinary Linux VM compute, so an all-in-Kubernetes MLOps architecture leaves local hardware underused

RESPONSE

Run the MLOps control plane on K3s/Colima while executing GPU-bound MLX fine-tuning and serving as native macOS processes behind a Tauri desktop experience

02 / ARCHITECTURE

Read the boundaries before the features.

Identity, delivery, network, storage and workload integration are shown as operational seams rather than a feature inventory.

KubeMetal architecture showing Tauri and K3s control plane, MLflow and SeaweedFS, and macOS MLX Metal GPU compute
KubeMetal separates Kubernetes-managed MLOps state from Apple Silicon Metal compute.
ARCHITECTURE / HOW IT WORKS

KubeMetal Control / Compute Separation

01
Tauri Desktop
React UI · Rust backend
02
Colima / K3s
MLOps control plane
03
MLflow + SeaweedFS
Tracking · registry · artifacts
04
macOS Host MLX
LoRA fine-tuning · serving · Metal GPU
Kubernetes owns the MLOps control plane while Metal GPU workloads run directly on macOS because Apple Silicon GPU passthrough is not available to the Linux VM.
HYBRID ML / VISUAL EVIDENCE

Kubernetes control plane + macOS Metal compute

01
Tauri desktop
02
K3s control plane
03
MLflow + SeaweedFS
04
MLX LoRA + serving
A compact visual summary; the architecture diagram below explains the execution flow in more detail.
03 / DEVELOPMENT OVER TIME

Evolution is part of the evidence.

First commit, cumulative commits, releases and recent activity show whether the system is still being engineered.

DEVELOPMENT OBSERVATORY
dasomel/kubemetal

Observe a system evolving over time, not a repository frozen at one release.

Contributors: 2
First commit
Jul 20, 2026
Commits
453
Releases
2
Latest release
v0.2.0
Last push
Oct 21, 2026
Active for
3 months
Recent development activity
443 commits / 20 weeks
PAST → NOW
Language: RustLicense: Apache-2.0Stars: 1Forks: 0Open issues: 42Latest release
04 / PROOF, NOT BADGES
10
technology / domain signals

Declared scope and technical context

6
connected docs

Operational or implementation documentation

2
engineering notes

Knowledge produced by the project

0
digest links

External signals explicitly connected

06 / ENGINEERING RECORD

Implementation details, operating notes and project-specific context.

Project Overview

KubeMetal is an Apple Silicon MLOps workstation implemented as a desktop application.

Its defining architecture is control/compute separation: Kubernetes remains the control-plane environment for services such as MLflow and SeaweedFS, while GPU-bound MLX workloads execute directly on the macOS host where Apple Silicon Metal and Unified Memory are available.

User Workspaces

TabPurpose
DashboardRAM/CPU, Colima lifecycle, MLOps provisioning, port forwarding
kagent OpsAgent-based diagnostics and AI-assisted operations for external clusters
PipelineEnd-to-end model workflow visualization
Model HubHugging Face search, host download, SeaweedFS upload, MLflow registration
MLX StudioHost MLX environment, LoRA fine-tuning, model serving
DataIngestion DAGs, chunking, LanceDB RAG, SeaweedFS backup, DVC
Access ConsoleService access and health checks
Air-Gap ManagementOffline bundle installation and asset verification

External Cluster Integration

The default D30 path is agent-only. The external Kubernetes cluster remains separate from KubeMetal's local MLOps stack and is connected for diagnostics and operations rather than being re-provisioned.

A full-stack D26 external deployment path is opt-in and performs preflight checks for kubeconfig context, storage class, Kyverno enforcement, Argo CD ownership, and verified host-bridge reachability before applying manifests.

macOS Security Boundary

Because KubeMetal is a desktop application that can access local networks and Kubernetes APIs, code signing and macOS permission identity are part of the runtime model. Ad-hoc signing can produce unstable permission identity across builds; a stable signing identity is required for repeatable LAN access and distribution.

Air-Gapped MLOps

Air-gap management covers bundles containing:

  • container images
  • Helm charts
  • binaries
  • asset versions
  • verification metadata

This makes the project useful not only as a local ML launcher but as an edge/disconnected MLOps workstation control surface.

Measured Reference Performance

The repository documents packaged-app measurements from an Apple M4 Pro / 64GB system on 2026-07-27–28:

  • VLM serving: 196–198 tok/s
  • VLM TTFT: 442–767 ms
  • LoRA fine-tuning: 674.5M trainable parameters, peak memory 8.7GB
  • 64GB host profile: K8s VM around 12GB / 6 CPU

These values are hardware/model-specific references, not universal benchmarks. Their value is demonstrating the behavior of the hybrid architecture on real Apple Silicon hardware.

Development Environment

git clone https://github.com/dasomel/kubemetal.git
cd kubemetal
pnpm install
pnpm tauri dev

Requirements include macOS 14+, Apple Silicon, Homebrew, Colima, kubectl, Node 22+, pnpm, and Rust.

Current Development Scope

The repository README marks the core Phase 1–3 capabilities as complete, including Tauri/Colima lifecycle, MLflow/SeaweedFS provisioning, Model Hub, host MLX fine-tuning, serving, pipeline visualization, packaged app output, and resource/thermal guardrails.

Subsequent work continues around external-cluster integration, signing, GitOps boundaries, and real-world operational constraints.

Documentation Index

TopicDocumentPurpose
OverviewKubeMetal OverviewProduct scope and architecture
ArchitectureSystem ArchitectureTauri ↔ K3s ↔ host MLX boundaries
MLOpsMLOps PipelinesModel lifecycle and fine-tuning
IntegrationExternal Cluster IntegrationD30/D26 integration paths
UsageUsage GuideEnd-user workflow
OperationsOperationsSigning, guardrails, troubleshooting

Project Relationship