From: Luis Chamberlain <mcgrof@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kruces.com>,
kdevops@lists.linux.dev
Cc: Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 2/2] images: Update kdevops diagram with new design
Date: Sat, 6 Dec 2025 10:13:45 -0800 [thread overview]
Message-ID: <20251206181346.2650230-3-mcgrof@kernel.org> (raw)
In-Reply-To: <20251206181346.2650230-1-mcgrof@kernel.org>
Replace the existing kdevops diagram with an updated version that
reflects the current architecture. The SVG source file is now also
included in the repository for future editing.
Generated-by: Claude AI
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
images/kdevops-diagram.svg | 398 +++++++++++++++++++++++++++++++++++++
1 file changed, 398 insertions(+)
create mode 100644 images/kdevops-diagram.svg
diff --git a/images/kdevops-diagram.svg b/images/kdevops-diagram.svg
new file mode 100644
index 00000000..16d26618
--- /dev/null
+++ b/images/kdevops-diagram.svg
@@ -0,0 +1,398 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 1050">
+ <defs>
+ <!-- Gradients -->
+ <linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
+ <stop offset="0%" style="stop-color:#0a0e14;stop-opacity:1" />
+ <stop offset="100%" style="stop-color:#1a1f2e;stop-opacity:1" />
+ </linearGradient>
+
+ <linearGradient id="headerGrad" x1="0%" y1="0%" x2="100%" y2="0%">
+ <stop offset="0%" style="stop-color:#ff6b35" />
+ <stop offset="50%" style="stop-color:#f7931a" />
+ <stop offset="100%" style="stop-color:#ffcc00" />
+ </linearGradient>
+
+ <linearGradient id="infraGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#3b82f6" />
+ <stop offset="100%" style="stop-color:#1d4ed8" />
+ </linearGradient>
+
+ <linearGradient id="neocloudGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#ec4899" />
+ <stop offset="100%" style="stop-color:#be185d" />
+ </linearGradient>
+
+ <linearGradient id="kernelGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#22c55e" />
+ <stop offset="100%" style="stop-color:#16a34a" />
+ </linearGradient>
+
+ <linearGradient id="storageGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#a855f7" />
+ <stop offset="100%" style="stop-color:#7c3aed" />
+ </linearGradient>
+
+ <linearGradient id="perfGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#06b6d4" />
+ <stop offset="100%" style="stop-color:#0891b2" />
+ </linearGradient>
+
+ <linearGradient id="aiGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#f43f5e" />
+ <stop offset="100%" style="stop-color:#e11d48" />
+ </linearGradient>
+
+ <linearGradient id="customGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#8b5cf6" />
+ <stop offset="100%" style="stop-color:#6d28d9" />
+ </linearGradient>
+
+ <linearGradient id="ciGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#f59e0b" />
+ <stop offset="100%" style="stop-color:#d97706" />
+ </linearGradient>
+
+ <!-- Glow filters -->
+ <filter id="glow">
+ <feGaussianBlur stdDeviation="3" result="coloredBlur"/>
+ <feMerge>
+ <feMergeNode in="coloredBlur"/>
+ <feMergeNode in="SourceGraphic"/>
+ </feMerge>
+ </filter>
+
+ <filter id="softGlow">
+ <feGaussianBlur stdDeviation="2" result="coloredBlur"/>
+ <feMerge>
+ <feMergeNode in="coloredBlur"/>
+ <feMergeNode in="SourceGraphic"/>
+ </feMerge>
+ </filter>
+
+ <!-- Pattern for subtle texture -->
+ <pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
+ <path d="M 40 0 L 0 0 0 40" fill="none" stroke="#ffffff" stroke-width="0.3" opacity="0.05"/>
+ </pattern>
+ </defs>
+
+ <!-- Background -->
+ <rect width="100%" height="100%" fill="url(#bgGrad)"/>
+ <rect width="100%" height="100%" fill="url(#grid)"/>
+
+ <!-- Title -->
+ <text x="600" y="50" text-anchor="middle" fill="url(#headerGrad)" font-family="'Segoe UI', system-ui, sans-serif" font-size="42" font-weight="700" filter="url(#glow)">kdevops</text>
+ <text x="600" y="78" text-anchor="middle" fill="#94a3b8" font-family="'Segoe UI', system-ui, sans-serif" font-size="16" font-weight="400">Linux Kernel Development & AI/ML Infrastructure Automation</text>
+
+ <!-- Tagline -->
+ <text x="600" y="100" text-anchor="middle" fill="#64748b" font-family="'Segoe UI', system-ui, sans-serif" font-size="12" font-style="italic">Software 3.0 Enabler • Kconfig Variability • Ansible Automation • GenAI Ready</text>
+
+ <!-- ==================== INFRASTRUCTURE TARGETS (Top Left) ==================== -->
+ <g transform="translate(30, 125)">
+ <rect x="0" y="0" width="270" height="175" rx="12" fill="#0f172a" stroke="#3b82f6" stroke-width="2" opacity="0.9"/>
+ <rect x="0" y="0" width="270" height="38" rx="12" fill="url(#infraGrad)" opacity="0.9"/>
+ <rect x="0" y="26" width="270" height="12" fill="url(#infraGrad)" opacity="0.9"/>
+
+ <text x="135" y="26" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="14" font-weight="600">🖥️ Traditional Infrastructure</text>
+
+ <g fill="#e2e8f0" font-family="'Segoe UI', system-ui, sans-serif" font-size="12">
+ <text x="18" y="60"><tspan fill="#60a5fa">▸</tspan> Bare Metal Hosts</text>
+ <text x="18" y="82"><tspan fill="#60a5fa">▸</tspan> libguestfs / libvirt VMs</text>
+ <text x="18" y="104"><tspan fill="#60a5fa">▸</tspan> AWS / GCP / Azure</text>
+ <text x="18" y="126"><tspan fill="#60a5fa">▸</tspan> Oracle Cloud (OCI)</text>
+ <text x="18" y="148"><tspan fill="#60a5fa">▸</tspan> OpenStack</text>
+ <text x="18" y="170"><tspan fill="#60a5fa">▸</tspan> PCIe Passthrough</text>
+ </g>
+ </g>
+
+ <!-- ==================== NEOCLOUDS (Top Left-Center) ==================== -->
+ <g transform="translate(320, 125)">
+ <rect x="-2" y="-2" width="204" height="179" rx="13" fill="none" stroke="#ec4899" stroke-width="1" opacity="0.3"/>
+ <rect x="0" y="0" width="200" height="175" rx="12" fill="#0f172a" stroke="#ec4899" stroke-width="2" opacity="0.95"/>
+ <rect x="0" y="0" width="200" height="38" rx="12" fill="url(#neocloudGrad)" opacity="0.95"/>
+ <rect x="0" y="26" width="200" height="12" fill="url(#neocloudGrad)" opacity="0.95"/>
+
+ <text x="185" y="26" text-anchor="end" fill="#fef3c7" font-family="'Segoe UI', system-ui, sans-serif" font-size="8" font-weight="600">NEW</text>
+
+ <text x="90" y="26" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="14" font-weight="600">🚀 Neoclouds</text>
+
+ <g fill="#e2e8f0" font-family="'Segoe UI', system-ui, sans-serif" font-size="12">
+ <text x="18" y="60"><tspan fill="#f472b6">▸</tspan> Lambda Labs</text>
+ <text x="18" y="82"><tspan fill="#f472b6">▸</tspan> DataCrunch</text>
+ <text x="18" y="104" fill="#a1a1aa" font-size="11">(more coming...)</text>
+ </g>
+
+ <g transform="translate(15, 115)">
+ <rect x="0" y="0" width="170" height="50" rx="6" fill="#1e1b2e" stroke="#ec4899" stroke-width="1" opacity="0.7"/>
+ <text x="85" y="16" text-anchor="middle" fill="#f9a8d4" font-family="'Segoe UI', system-ui, sans-serif" font-size="9" font-weight="500">GPU-Ready Instances</text>
+ <text x="85" y="32" text-anchor="middle" fill="#d1d5db" font-family="monospace" font-size="8">H100 • A100 • GH200</text>
+ <text x="85" y="45" text-anchor="middle" fill="#d1d5db" font-family="monospace" font-size="8">B200 • B300 • RTX 4090</text>
+ </g>
+ </g>
+
+ <!-- ==================== KERNEL TESTING (Top Center) ==================== -->
+ <g transform="translate(540, 125)">
+ <rect x="0" y="0" width="210" height="175" rx="12" fill="#0f172a" stroke="#22c55e" stroke-width="2" opacity="0.9"/>
+ <rect x="0" y="0" width="210" height="38" rx="12" fill="url(#kernelGrad)" opacity="0.9"/>
+ <rect x="0" y="26" width="210" height="12" fill="url(#kernelGrad)" opacity="0.9"/>
+
+ <text x="105" y="26" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="14" font-weight="600">🐧 Kernel Testing</text>
+
+ <g fill="#e2e8f0" font-family="'Segoe UI', system-ui, sans-serif" font-size="12">
+ <text x="18" y="60"><tspan fill="#4ade80">▸</tspan> Linux Build & Deploy</text>
+ <text x="18" y="82"><tspan fill="#4ade80">▸</tspan> selftests (parallel)</text>
+ <text x="18" y="104"><tspan fill="#4ade80">▸</tspan> LTP Suite</text>
+ <text x="18" y="126"><tspan fill="#4ade80">▸</tspan> mmtests (A/B)</text>
+ <text x="18" y="148"><tspan fill="#4ade80">▸</tspan> reboot-limit</text>
+ <text x="18" y="170"><tspan fill="#4ade80">▸</tspan> gitr</text>
+ </g>
+ </g>
+
+ <!-- ==================== FILESYSTEM TESTING (Top Center-Right) ==================== -->
+ <g transform="translate(770, 125)">
+ <rect x="0" y="0" width="200" height="175" rx="12" fill="#0f172a" stroke="#a855f7" stroke-width="2" opacity="0.9"/>
+ <rect x="0" y="0" width="200" height="38" rx="12" fill="url(#storageGrad)" opacity="0.9"/>
+ <rect x="0" y="26" width="200" height="12" fill="url(#storageGrad)" opacity="0.9"/>
+
+ <text x="100" y="26" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="14" font-weight="600">📁 Storage Testing</text>
+
+ <g fill="#e2e8f0" font-family="'Segoe UI', system-ui, sans-serif" font-size="12">
+ <text x="18" y="60"><tspan fill="#c084fc">▸</tspan> fstests</text>
+ <text x="18" y="82"><tspan fill="#c084fc">▸</tspan> blktests</text>
+ <text x="18" y="104"><tspan fill="#c084fc">▸</tspan> NFS / pynfs</text>
+ <text x="18" y="126"><tspan fill="#c084fc">▸</tspan> LBS / CXL</text>
+ <text x="18" y="148"><tspan fill="#c084fc">▸</tspan> Zoned Storage</text>
+ <text x="18" y="170"><tspan fill="#c084fc">▸</tspan> MinIO Warp</text>
+ </g>
+ </g>
+
+ <!-- ==================== PERFORMANCE (Top Right) ==================== -->
+ <g transform="translate(990, 125)">
+ <rect x="0" y="0" width="180" height="175" rx="12" fill="#0f172a" stroke="#06b6d4" stroke-width="2" opacity="0.9"/>
+ <rect x="0" y="0" width="180" height="38" rx="12" fill="url(#perfGrad)" opacity="0.9"/>
+ <rect x="0" y="26" width="180" height="12" fill="url(#perfGrad)" opacity="0.9"/>
+
+ <text x="90" y="26" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="14" font-weight="600">⚡ Performance</text>
+
+ <g fill="#e2e8f0" font-family="'Segoe UI', system-ui, sans-serif" font-size="12">
+ <text x="18" y="60"><tspan fill="#22d3ee">▸</tspan> fio-tests (blk/fs)</text>
+ <text x="18" y="82"><tspan fill="#22d3ee">▸</tspan> sysbench</text>
+ <text x="18" y="104"><tspan fill="#22d3ee">▸</tspan> mmtests</text>
+ <text x="18" y="126"><tspan fill="#22d3ee">▸</tspan> A/B Comparison</text>
+ <text x="18" y="148"><tspan fill="#22d3ee">▸</tspan> HTML Reports</text>
+ <text x="18" y="170"><tspan fill="#22d3ee">▸</tspan> Statistics</text>
+ </g>
+ </g>
+
+ <!-- ==================== CENTRAL kdevops CORE ==================== -->
+ <g transform="translate(400, 330)">
+ <path d="M200,0 L380,50 L380,150 L200,200 L20,150 L20,50 Z"
+ fill="#1e293b" stroke="url(#headerGrad)" stroke-width="3" opacity="0.95"/>
+
+ <text x="200" y="45" text-anchor="middle" fill="url(#headerGrad)" font-family="'Segoe UI', system-ui, sans-serif" font-size="26" font-weight="700" filter="url(#softGlow)">kdevops Core</text>
+
+ <!-- Console-style command box -->
+ <g transform="translate(40, 60)">
+ <rect x="0" y="0" width="320" height="40" rx="4" fill="#000000" stroke="#333333" stroke-width="1"/>
+ <text x="8" y="16" fill="#4ade80" font-family="'Courier New', monospace" font-size="9">$</text>
+ <text x="20" y="16" fill="#e2e8f0" font-family="'Courier New', monospace" font-size="9">make menuconfig; make; make bringup</text>
+ <text x="8" y="32" fill="#4ade80" font-family="'Courier New', monospace" font-size="9">$</text>
+ <text x="20" y="32" fill="#e2e8f0" font-family="'Courier New', monospace" font-size="9">make linux; make fstests</text>
+ </g>
+
+ <g fill="#cbd5e1" font-family="'Segoe UI', system-ui, sans-serif" font-size="11" text-anchor="middle">
+ <text x="200" y="120" fill="#94a3b8">─────────────────────────</text>
+ <text x="200" y="140" fill="#f8fafc" font-size="12">Kconfig • Ansible • Terraform/OpenTofu</text>
+ <text x="200" y="160" fill="#f8fafc" font-size="12">libguestfs • YAML Variables</text>
+ </g>
+ </g>
+
+ <!-- ==================== CUSTOM WORKFLOWS (Middle Right) ==================== -->
+ <g transform="translate(820, 340)">
+ <rect x="-2" y="-2" width="354" height="194" rx="13" fill="none" stroke="#8b5cf6" stroke-width="1" opacity="0.3"/>
+ <rect x="0" y="0" width="350" height="190" rx="12" fill="#0f172a" stroke="#8b5cf6" stroke-width="2" opacity="0.95"/>
+ <rect x="0" y="0" width="350" height="40" rx="12" fill="url(#customGrad)" opacity="0.95"/>
+ <rect x="0" y="28" width="350" height="12" fill="url(#customGrad)" opacity="0.95"/>
+
+ <text x="335" y="28" text-anchor="end" fill="#fef3c7" font-family="'Segoe UI', system-ui, sans-serif" font-size="8" font-weight="600">NEW</text>
+
+ <text x="165" y="28" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="15" font-weight="600">🔧 Workflow Merging with +</text>
+
+ <!-- Two columns: Supported vs Private -->
+ <g transform="translate(15, 50)">
+ <!-- Supported workflows -->
+ <rect x="0" y="0" width="155" height="75" rx="6" fill="#1e1b2e" stroke="#4ade80" stroke-width="1"/>
+ <g fill="#cbd5e1" font-family="'Segoe UI', system-ui, sans-serif" font-size="10">
+ <text x="10" y="20"><tspan fill="#4ade80">+</tspan>vllm-production-stack</text>
+ <text x="10" y="40"><tspan fill="#4ade80">+</tspan>fstests</text>
+ <text x="10" y="60"><tspan fill="#4ade80">+</tspan>blktests</text>
+ </g>
+
+ <!-- Private workflows -->
+ <rect x="165" y="0" width="155" height="75" rx="6" fill="#1e1b2e" stroke="#a78bfa" stroke-width="1" stroke-dasharray="4,2"/>
+ <g fill="#9ca3af" font-family="'Segoe UI', system-ui, sans-serif" font-size="10">
+ <text x="175" y="20"><tspan fill="#a78bfa">+</tspan>myresearch</text>
+ <text x="175" y="40"><tspan fill="#a78bfa">+</tspan>proprietary-ml</text>
+ <text x="175" y="60"><tspan fill="#a78bfa">+</tspan>internal-tests</text>
+ </g>
+ </g>
+
+ <g fill="#e2e8f0" font-family="'Segoe UI', system-ui, sans-serif" font-size="11">
+ <text x="18" y="145"><tspan fill="#a78bfa">▸</tspan> No upstream requirement for private</text>
+ <text x="18" y="163"><tspan fill="#a78bfa">▸</tspan> Custom host prefixes</text>
+ <text x="18" y="181"><tspan fill="#a78bfa">▸</tspan> Mix and match freely</text>
+ </g>
+ </g>
+
+ <!-- ==================== AI/ML WORKFLOWS (Bottom Center, Prominent) ==================== -->
+ <g transform="translate(30, 565)">
+ <rect x="-3" y="-3" width="766" height="201" rx="15" fill="none" stroke="#f43f5e" stroke-width="1" opacity="0.25"/>
+
+ <rect x="0" y="0" width="760" height="195" rx="14" fill="#0f172a" stroke="#f43f5e" stroke-width="2" opacity="0.95"/>
+ <rect x="0" y="0" width="760" height="44" rx="14" fill="url(#aiGrad)" opacity="0.95"/>
+ <rect x="0" y="32" width="760" height="12" fill="url(#aiGrad)" opacity="0.95"/>
+
+ <text x="740" y="30" text-anchor="end" fill="#fef3c7" font-family="'Segoe UI', system-ui, sans-serif" font-size="8" font-weight="600">NEW</text>
+
+ <text x="380" y="30" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="17" font-weight="600">🧠 AI/ML Infrastructure Workflows</text>
+
+ <!-- vLLM -->
+ <g transform="translate(20, 55)">
+ <rect x="0" y="0" width="170" height="125" rx="8" fill="#1e1b2e" stroke="#818cf8" stroke-width="1.5"/>
+ <text x="85" y="22" text-anchor="middle" fill="#a5b4fc" font-family="'Segoe UI', system-ui, sans-serif" font-size="13" font-weight="600">vLLM</text>
+ <g fill="#cbd5e1" font-family="'Segoe UI', system-ui, sans-serif" font-size="11">
+ <text x="12" y="44"><tspan fill="#fb7185">•</tspan> LLM inference server</text>
+ <text x="12" y="62"><tspan fill="#fb7185">•</tspan> PagedAttention</text>
+ <text x="12" y="80"><tspan fill="#fb7185">•</tspan> Continuous batching</text>
+ <text x="12" y="98"><tspan fill="#fb7185">•</tspan> OpenAI-compatible</text>
+ <text x="12" y="116"><tspan fill="#fb7185">•</tspan> Multi-GPU support</text>
+ </g>
+ </g>
+
+ <!-- vLLM Production Stack -->
+ <g transform="translate(205, 55)">
+ <rect x="0" y="0" width="170" height="125" rx="8" fill="#1e1b2e" stroke="#818cf8" stroke-width="1.5"/>
+ <text x="85" y="22" text-anchor="middle" fill="#a5b4fc" font-family="'Segoe UI', system-ui, sans-serif" font-size="12" font-weight="600">vLLM Production Stack</text>
+ <g fill="#cbd5e1" font-family="'Segoe UI', system-ui, sans-serif" font-size="11">
+ <text x="12" y="44"><tspan fill="#fb7185">•</tspan> Kubernetes + Helm</text>
+ <text x="12" y="62"><tspan fill="#fb7185">•</tspan> Request routing</text>
+ <text x="12" y="80"><tspan fill="#fb7185">•</tspan> Prometheus metrics</text>
+ <text x="12" y="98"><tspan fill="#fb7185">•</tspan> Grafana dashboards</text>
+ <text x="12" y="116"><tspan fill="#fb7185">•</tspan> KV cache offload</text>
+ </g>
+ </g>
+
+ <!-- Milvus -->
+ <g transform="translate(390, 55)">
+ <rect x="0" y="0" width="170" height="125" rx="8" fill="#1e1b2e" stroke="#818cf8" stroke-width="1.5"/>
+ <text x="85" y="22" text-anchor="middle" fill="#a5b4fc" font-family="'Segoe UI', system-ui, sans-serif" font-size="13" font-weight="600">Milvus Vector DB</text>
+ <g fill="#cbd5e1" font-family="'Segoe UI', system-ui, sans-serif" font-size="11">
+ <text x="12" y="44"><tspan fill="#fb7185">•</tspan> Vector benchmarks</text>
+ <text x="12" y="62"><tspan fill="#fb7185">•</tspan> A/B FS comparison</text>
+ <text x="12" y="80"><tspan fill="#fb7185">•</tspan> HTML visualizations</text>
+ <text x="12" y="98"><tspan fill="#fb7185">•</tspan> Real workload tests</text>
+ <text x="12" y="116"><tspan fill="#fb7185">•</tspan> Docker / K8s deploy</text>
+ </g>
+ </g>
+
+ <!-- Your Custom AI Workflow -->
+ <g transform="translate(575, 55)">
+ <rect x="0" y="0" width="170" height="125" rx="8" fill="#1e1b2e" stroke="#a78bfa" stroke-width="1.5" stroke-dasharray="5,3"/>
+ <text x="85" y="22" text-anchor="middle" fill="#c4b5fd" font-family="'Segoe UI', system-ui, sans-serif" font-size="13" font-weight="600">Your Workflow</text>
+ <g fill="#9ca3af" font-family="'Segoe UI', system-ui, sans-serif" font-size="11">
+ <text x="12" y="44"><tspan fill="#a78bfa">+</tspan> PyTorch / JAX</text>
+ <text x="12" y="62"><tspan fill="#a78bfa">+</tspan> Custom training</text>
+ <text x="12" y="80"><tspan fill="#a78bfa">+</tspan> Private experiments</text>
+ <text x="12" y="98"><tspan fill="#a78bfa">+</tspan> Proprietary models</text>
+ <text x="12" y="116"><tspan fill="#a78bfa">+</tspan> Research R&D</text>
+ </g>
+ </g>
+ </g>
+
+ <!-- ==================== EXAMPLE COMMANDS (Console Style) ==================== -->
+ <g transform="translate(30, 780)">
+ <rect x="0" y="0" width="760" height="95" rx="8" fill="#000000" stroke="#333333" stroke-width="2"/>
+
+ <text x="20" y="20" fill="#6b7280" font-family="'Segoe UI', system-ui, sans-serif" font-size="10"># Merge supported workflow with neocloud tiering</text>
+ <text x="20" y="38" fill="#4ade80" font-family="'Courier New', monospace" font-size="11">$</text>
+ <text x="35" y="38" fill="#e2e8f0" font-family="'Courier New', monospace" font-size="11">make defconfig-lambdalabs-h100-or-less<tspan fill="#fbbf24">+vllm-production-stack-gpu</tspan></text>
+
+ <text x="20" y="58" fill="#6b7280" font-family="'Segoe UI', system-ui, sans-serif" font-size="10"># Or DataCrunch with private workflow</text>
+ <text x="20" y="76" fill="#4ade80" font-family="'Courier New', monospace" font-size="11">$</text>
+ <text x="35" y="76" fill="#e2e8f0" font-family="'Courier New', monospace" font-size="11">make defconfig-datacrunch-h100-or-less<tspan fill="#a78bfa">+myresearch</tspan> KDEVOPS_HOSTS_PREFIX=<tspan fill="#22d3ee">"dev"</tspan></text>
+
+ <text x="740" y="88" text-anchor="end" fill="#6b7280" font-family="'Segoe UI', system-ui, sans-serif" font-size="9">→ dev-myresearch</text>
+ </g>
+
+ <!-- ==================== CI/CD (Bottom Right Upper) ==================== -->
+ <g transform="translate(820, 565)">
+ <rect x="-2" y="-2" width="354" height="154" rx="13" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.3"/>
+ <rect x="0" y="0" width="350" height="150" rx="12" fill="#0f172a" stroke="#f59e0b" stroke-width="2" opacity="0.9"/>
+ <rect x="0" y="0" width="350" height="38" rx="12" fill="url(#ciGrad)" opacity="0.9"/>
+ <rect x="0" y="26" width="350" height="12" fill="url(#ciGrad)" opacity="0.9"/>
+
+ <text x="175" y="26" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="14" font-weight="600">🔄 CI/CD Integration</text>
+
+ <g fill="#e2e8f0" font-family="'Segoe UI', system-ui, sans-serif" font-size="12">
+ <text x="18" y="58"><tspan fill="#fbbf24">▸</tspan> GitHub Actions / GitLab Pipelines</text>
+ <text x="18" y="80"><tspan fill="#fbbf24">▸</tspan> kpd (kernel patches daemon)</text>
+ <text x="18" y="102"><tspan fill="#fbbf24">▸</tspan> Baseline Regression Detection</text>
+ <text x="18" y="124"><tspan fill="#fbbf24">▸</tspan> Web UI: test any kernel tag <tspan fill="#fbbf24" font-size="8">NEW</tspan></text>
+ <text x="18" y="146"><tspan fill="#fbbf24">▸</tspan> kdevops.org Auto-Dashboard</text>
+ </g>
+ </g>
+
+ <!-- ==================== Reproducibility callout ==================== -->
+ <g transform="translate(820, 735)">
+ <rect x="0" y="0" width="350" height="140" rx="12" fill="#0f172a" stroke="#10b981" stroke-width="2" opacity="0.9"/>
+ <rect x="0" y="0" width="350" height="38" rx="12" fill="#10b981" opacity="0.9"/>
+ <rect x="0" y="26" width="350" height="12" fill="#10b981" opacity="0.9"/>
+
+ <text x="175" y="26" text-anchor="middle" fill="#ffffff" font-family="'Segoe UI', system-ui, sans-serif" font-size="14" font-weight="600">🔬 Reproducibility</text>
+
+ <g fill="#e2e8f0" font-family="'Segoe UI', system-ui, sans-serif" font-size="12">
+ <text x="18" y="58"><tspan fill="#34d399">▸</tspan> Identical environments every time</text>
+ <text x="18" y="80"><tspan fill="#34d399">▸</tspan> Share defconfigs with team</text>
+ <text x="18" y="102"><tspan fill="#34d399">▸</tspan> Version-controlled workflows</text>
+ <text x="18" y="124"><tspan fill="#34d399">▸</tspan> Archive results to git</text>
+ </g>
+ </g>
+
+ <!-- ==================== CONNECTION LINES ==================== -->
+ <g stroke="#475569" stroke-width="1.5" fill="none" opacity="0.5">
+ <!-- Top boxes to center -->
+ <path d="M165,300 Q200,340 400,380" stroke-dasharray="5,3"/>
+ <path d="M420,300 Q450,330 480,350" stroke-dasharray="5,3"/>
+ <path d="M645,300 Q620,340 600,360" stroke-dasharray="5,3"/>
+ <path d="M870,300 Q800,340 780,380" stroke-dasharray="5,3"/>
+
+ <!-- Center to bottom sections -->
+ <path d="M500,530 Q400,550 400,565" stroke-dasharray="5,3"/>
+ <path d="M700,530 Q750,545 820,565" stroke-dasharray="5,3"/>
+
+ <!-- Custom workflows connection -->
+ <path d="M820,440 Q790,460 780,490" stroke-dasharray="5,3"/>
+ </g>
+
+ <!-- ==================== SUPPORTED DISTROS (Footer) ==================== -->
+ <g transform="translate(0, 900)">
+ <rect x="0" y="0" width="1200" height="150" fill="#0f172a" opacity="0.8"/>
+
+ <text x="600" y="30" text-anchor="middle" fill="#64748b" font-family="'Segoe UI', system-ui, sans-serif" font-size="11" font-weight="500">SUPPORTED DISTRIBUTIONS</text>
+ <g fill="#94a3b8" font-family="'Segoe UI', system-ui, sans-serif" font-size="13" text-anchor="middle">
+ <text x="600" y="55">Debian • Ubuntu • Fedora • openSUSE • RHEL • Oracle Linux • Amazon Linux</text>
+ </g>
+
+ <line x1="200" y1="75" x2="1000" y2="75" stroke="#334155" stroke-width="1"/>
+
+ <text x="600" y="100" text-anchor="middle" fill="#64748b" font-family="'Segoe UI', system-ui, sans-serif" font-size="11" font-weight="500">LINKS</text>
+ <g fill="#60a5fa" font-family="'Segoe UI', system-ui, sans-serif" font-size="12" text-anchor="middle">
+ <text x="600" y="125">github.com/linux-kdevops/kdevops • kdevops.org • Discord • IRC #kdevops</text>
+ </g>
+ </g>
+
+ <!-- Decorative corner accents -->
+ <path d="M0,0 L60,0 L0,60 Z" fill="url(#headerGrad)" opacity="0.15"/>
+ <path d="M1200,0 L1140,0 L1200,60 Z" fill="url(#headerGrad)" opacity="0.15"/>
+ <path d="M0,1050 L60,1050 L0,990 Z" fill="url(#headerGrad)" opacity="0.15"/>
+ <path d="M1200,1050 L1140,1050 L1200,990 Z" fill="url(#headerGrad)" opacity="0.15"/>
+</svg>
--
2.51.0
prev parent reply other threads:[~2025-12-06 18:13 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-06 18:13 [PATCH 0/2] add custom user plugin support Luis Chamberlain
2025-12-06 18:13 ` [PATCH 1/2] kdevops: Add versioned plugin system for workflows Luis Chamberlain
2025-12-06 18:13 ` Luis Chamberlain [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251206181346.2650230-3-mcgrof@kernel.org \
--to=mcgrof@kernel.org \
--cc=cel@kernel.org \
--cc=da.gomez@kruces.com \
--cc=kdevops@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox