diff --git a/charts/stable/kasm/Chart.yaml b/charts/stable/kasm/Chart.yaml index 6dc36c94a9e..3bae361405f 100644 --- a/charts/stable/kasm/Chart.yaml +++ b/charts/stable/kasm/Chart.yaml @@ -27,4 +27,4 @@ sources: - https://github.com/orgs/linuxserver/packages/container/package/kasm - https://github.com/linuxserver/docker-kasm#readme type: application -version: 3.1.4 +version: 3.2.0 diff --git a/charts/stable/kasm/questions.yaml b/charts/stable/kasm/questions.yaml index 63101fea403..cd1f04fea03 100644 --- a/charts/stable/kasm/questions.yaml +++ b/charts/stable/kasm/questions.yaml @@ -35,6 +35,25 @@ questions: type: string private: true default: "" + - variable: kasm + group: App Configuration + label: KASM Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: mountUdev + label: Mount /run/udev/data + description: Mounts host's /run/udev/data to container. Know the risks first. Used for GamePad support. + schema: + type: boolean + default: false + - variable: mountInput + label: Mount /dev/input + description: Mounts host's /dev/input to container. Know the risks first. Used for GamePad support. + schema: + type: boolean + default: false # Include{containerConfig} # Include{serviceRoot} - variable: main diff --git a/charts/stable/kasm/templates/_hostPathMounts.tpl b/charts/stable/kasm/templates/_hostPathMounts.tpl new file mode 100644 index 00000000000..36ea51a045d --- /dev/null +++ b/charts/stable/kasm/templates/_hostPathMounts.tpl @@ -0,0 +1,13 @@ +{{- define "kasm.udev.mount" -}} +enabled: true +type: hostPath +mountPath: /run/udev/data +hostPath: /run/udev/data +{{- end -}} + +{{- define "kasm.input.mount" -}} +enabled: true +type: hostPath +mountPath: /dev/input +hostPath: /dev/input +{{- end -}} diff --git a/charts/stable/kasm/templates/common.yaml b/charts/stable/kasm/templates/common.yaml index cbf66c20818..79d2cc9fa70 100644 --- a/charts/stable/kasm/templates/common.yaml +++ b/charts/stable/kasm/templates/common.yaml @@ -1,2 +1,15 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{- if hasKey .Values "kasm" -}} + {{- if .Values.kasm.mountUdev -}} + {{- $_ := set .Values.persistence "udev" (fromYaml (include "kasm.udev.mount" .)) -}} + {{- end -}} + + {{- if .Values.kasm.mountInput -}} + {{- $_ := set .Values.persistence "input" (fromYaml (include "kasm.input.mount" .)) -}} + {{- end -}} +{{- end -}} + {{/* Render the templates */}} -{{ include "tc.common.loader.all" . }} +{{ include "tc.common.loader.apply" . }} diff --git a/charts/stable/kasm/values.yaml b/charts/stable/kasm/values.yaml index f75e9b2e98f..eba9b3b1255 100644 --- a/charts/stable/kasm/values.yaml +++ b/charts/stable/kasm/values.yaml @@ -21,6 +21,10 @@ secretEnv: env: KASM_PORT: "{{ .Values.service.main.ports.main.port }}" +kasm: + mountUdev: false + mountInput: false + probes: liveness: type: HTTPS