KubeMetal · OSS Project

KubeMetal

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

Apple SiliconmacOSTauriRustReactKubernetesK3sColimaMLXMLOps
RepositoryGitHub ↗
Documentation5 sections
Updated2026-08-23T00:00:00.000Z
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

Approach

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

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.

                    KubeMetal Desktop
             ┌──────────────────────────┐
             │ Tauri v2 + React UI      │
             │ Dashboard / Pipeline     │
             │ Model Hub / MLX Studio   │
             └────────────┬─────────────┘

               ┌──────────┴───────────┐
               │                      │
               ▼                      ▼
      Kubernetes Control Plane     macOS Host Compute
      ┌──────────────────────┐     ┌──────────────────────┐
      │ K3s / Colima         │     │ MLX / Metal          │
      │ MLflow               │     │ LoRA Fine-tuning     │
      │ SeaweedFS            │     │ Model Serving        │
      │ manifests / services │     │ Host resources       │
      └──────────────────────┘     └──────────────────────┘

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.

Existing Kubernetes Cluster

        │ kagent agent

  KubeMetal kagent Ops

        └── diagnostics / security / PromQL / observability
 
KubeMetal local k3s
        └── MLflow / SeaweedFS / local control plane

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

Apple Silicon Mac

    KubeMetal
     ├── Kubernetes control plane
     └── native MLX compute

       local / edge MLOps