-
-
- {t.rich(
- "internalResourceAuthDaemonDescription",
+
+ {/* Mode */}
+
+
+ {t("sshServerMode")}
+
+
+ value={sshServerMode}
+ options={[
{
- docsLink: (chunks) => (
-
- {chunks}
-
-
- )
+ id: "native",
+ title: t("sshServerModePangolin"),
+ description: t(
+ "sshServerModeNativeDescription"
+ ),
+ disabled: sshSectionDisabled
+ },
+ {
+ id: "standard",
+ title: t("sshServerModeStandard"),
+ description: t(
+ "sshServerModeStandardDescription"
+ ),
+ disabled: sshSectionDisabled
}
- )}
-
-
-
- (
-
-
- {t(
- "internalResourceAuthDaemonStrategyLabel"
- )}
-
-
-
- value={
- field.value ?? undefined
- }
- options={[
- {
- id: "site",
- title: t(
- "internalResourceAuthDaemonSite"
- ),
- description: t(
- "internalResourceAuthDaemonSiteDescription"
- ),
- disabled:
- sshSectionDisabled
- },
- {
- id: "remote",
- title: t(
- "internalResourceAuthDaemonRemote"
- ),
- description: t(
- "internalResourceAuthDaemonRemoteDescription"
- ),
- disabled:
- sshSectionDisabled
- }
- ]}
- onChange={(v) => {
- if (sshSectionDisabled)
- return;
- field.onChange(v);
- if (v === "site") {
- form.setValue(
- "authDaemonPort",
- null
- );
- }
- }}
- cols={2}
- />
-
-
-
- )}
+ ]}
+ onChange={(v) => {
+ if (sshSectionDisabled) return;
+ setSshServerMode(v);
+ if (v === "native") {
+ form.setValue(
+ "authDaemonMode",
+ "native"
+ );
+ form.setValue(
+ "authDaemonPort",
+ null
+ );
+ } else {
+ form.setValue(
+ "authDaemonMode",
+ "site"
+ );
+ }
+ }}
+ cols={2}
/>
- {authDaemonMode === "remote" && (
+
+
+ {/* Auth Method (standard only) */}
+ {!isNative && (
+
+
+ )}
+
+ {/* Daemon Location (standard + push) */}
+ {showDaemonLocation && (
+
+ )}
+
+ {/* Daemon Port (standard + push + remote) */}
+ {showDaemonPort && (
+