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":