|
3 | 3 | import { useState } from "react"; |
4 | 4 | import { Check, Copy, Download, ExternalLink, X } from "lucide-react"; |
5 | 5 |
|
6 | | -type Method = "browser" | "binary" | "docker" | "cargo"; |
| 6 | +type Method = "browser" | "binary" | "docker" | "cargo" | "helm"; |
7 | 7 | type OS = "linux-x86_64" | "linux-arm64" | "macos-arm64" | "windows"; |
8 | 8 | type Profile = "full" | "headless" | "standard" | "minimal" | "tiny"; |
9 | 9 | type Libc = "gnu" | "musl"; |
@@ -109,6 +109,14 @@ function getInstallCommand(method: Method, os: OS, profile: Profile, libc: Libc) |
109 | 109 | if (method === "cargo") { |
110 | 110 | return `cargo install hadrian@${process.env.HADRIAN_VERSION}\nhadrian`; |
111 | 111 | } |
| 112 | + if (method === "helm") { |
| 113 | + return [ |
| 114 | + "git clone https://github.com/ScriptSmith/hadrian.git", |
| 115 | + "cd gateway/helm/hadrian", |
| 116 | + "helm dependency update", |
| 117 | + "helm install my-gateway . -n hadrian --create-namespace", |
| 118 | + ].join("\n"); |
| 119 | + } |
112 | 120 | const ext = os === "windows" ? "zip" : "tar.gz"; |
113 | 121 | const target = getTarget(os, libc); |
114 | 122 | const filename = `hadrian-${target}-${profile}.${ext}`; |
@@ -219,10 +227,16 @@ export function QuickStartSelector() { |
219 | 227 | Method |
220 | 228 | </span> |
221 | 229 | <ToggleGroup |
222 | | - options={["binary", "browser", "docker", "cargo"] as Method[]} |
| 230 | + options={["binary", "browser", "docker", "helm", "cargo"] as Method[]} |
223 | 231 | value={method} |
224 | 232 | onChange={setMethod} |
225 | | - labels={{ binary: "Binary", browser: "Browser", docker: "Docker", cargo: "Cargo" }} |
| 233 | + labels={{ |
| 234 | + binary: "Binary", |
| 235 | + browser: "Browser", |
| 236 | + docker: "Docker", |
| 237 | + helm: "Helm", |
| 238 | + cargo: "Cargo", |
| 239 | + }} |
226 | 240 | /> |
227 | 241 | </div> |
228 | 242 | {method === "binary" && ( |
|
0 commit comments