From afa9acfb1e8d59743a3a7f6b0700f6e4e8c3a2c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Sch=C3=A4fer?= Date: Mon, 15 Sep 2025 20:27:03 +0200 Subject: [PATCH] feat(sites): adding official kubernetes helm install command for newt --- .../[orgId]/settings/clients/create/page.tsx | 8 ++++++ .../[orgId]/settings/sites/create/page.tsx | 25 ++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/app/[orgId]/settings/clients/create/page.tsx b/src/app/[orgId]/settings/clients/create/page.tsx index 0736ee64..9a1d5917 100644 --- a/src/app/[orgId]/settings/clients/create/page.tsx +++ b/src/app/[orgId]/settings/clients/create/page.tsx @@ -42,6 +42,10 @@ import { FaFreebsd, FaWindows } from "react-icons/fa"; +import { + SiNixos, + SiKubernetes +} from "react-icons/si"; import { Alert, AlertDescription, AlertTitle } from "@app/components/ui/alert"; import { createApiClient, formatAxiosError } from "@app/lib/api"; import { useEnvContext } from "@app/hooks/useEnvContext"; @@ -248,10 +252,14 @@ export default function Page() { return ; case "docker": return ; + case "kubernetes": + return ; case "podman": return ; case "freebsd": return ; + case "nixos": + return ; default: return ; } diff --git a/src/app/[orgId]/settings/sites/create/page.tsx b/src/app/[orgId]/settings/sites/create/page.tsx index b9e172a3..35756ab7 100644 --- a/src/app/[orgId]/settings/sites/create/page.tsx +++ b/src/app/[orgId]/settings/sites/create/page.tsx @@ -42,7 +42,10 @@ import { FaFreebsd, FaWindows } from "react-icons/fa"; -import { SiNixos } from "react-icons/si"; +import { + SiNixos, + SiKubernetes +} from "react-icons/si"; import { Checkbox, CheckboxWithLabel } from "@app/components/ui/checkbox"; import { Alert, AlertDescription, AlertTitle } from "@app/components/ui/alert"; import { generateKeypair } from "../[niceId]/wireguardConfig"; @@ -76,6 +79,7 @@ type Commands = { freebsd: Record; windows: Record; docker: Record; + kubernetes: Record; podman: Record; nixos: Record; }; @@ -83,6 +87,7 @@ type Commands = { const platforms = [ "linux", "docker", + "kubernetes", "podman", "mac", "windows", @@ -277,6 +282,18 @@ PersistentKeepalive = 5`; `docker run -dit fosrl/newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}` ] }, + kubernetes: { + "Helm Chart": [ + `helm repo add fossorial https://charts.fossorial.io`, + `helm repo update fossorial`, + `helm install newt fossorial/newt \\ + --create-namespace \\ + --set newtInstances[0].name="main-tunnel" \\ + --set-string newtInstances[0].auth.keys.endpointKey="${endpoint}" \\ + --set-string newtInstances[0].auth.keys.idKey="${id}" \\ + --set-string newtInstances[0].auth.keys.secretKey="${secret}"` + ] + }, podman: { "Podman Quadlet": [ `[Unit] @@ -324,6 +341,8 @@ WantedBy=default.target` return ["x64"]; case "docker": return ["Docker Compose", "Docker Run"]; + case "kubernetes": + return ["Helm Chart"]; case "podman": return ["Podman Quadlet", "Podman Run"]; case "freebsd": @@ -345,6 +364,8 @@ WantedBy=default.target` return "macOS"; case "docker": return "Docker"; + case "kubernetes": + return "Kubernetes"; case "podman": return "Podman"; case "freebsd": @@ -391,6 +412,8 @@ WantedBy=default.target` return ; case "docker": return ; + case "kubernetes": + return ; case "podman": return ; case "freebsd":