Properly configure ssl and domain when creating and editing

This commit is contained in:
Owen
2026-08-06 12:20:56 -04:00
parent fb896d6c0f
commit b4d2974e19
5 changed files with 95 additions and 65 deletions
@@ -20,6 +20,7 @@ import {
type SelectedAiProvider
} from "@app/components/AiProvidersSelector";
import DomainPicker from "@app/components/DomainPicker";
import { SwitchInput } from "@app/components/SwitchInput";
import { Button } from "@app/components/ui/button";
import {
Form,
@@ -67,7 +68,8 @@ export default function PrivateResourceInferencePage() {
providerIds: z.array(z.number().int().positive()),
httpConfigSubdomain: z.string().nullish(),
httpConfigDomainId: z.string().nullish(),
httpConfigFullDomain: z.string().nullish()
httpConfigFullDomain: z.string().nullish(),
ssl: z.boolean().optional()
}),
[]
);
@@ -90,7 +92,8 @@ export default function PrivateResourceInferencePage() {
providerIds: [],
httpConfigSubdomain: siteResource.subdomain ?? null,
httpConfigDomainId: siteResource.domainId ?? null,
httpConfigFullDomain: siteResource.fullDomain ?? null
httpConfigFullDomain: siteResource.fullDomain ?? null,
ssl: siteResource.ssl ?? false
}
});
@@ -121,7 +124,8 @@ export default function PrivateResourceInferencePage() {
mode: "inference",
httpConfigSubdomain: data.httpConfigSubdomain,
httpConfigDomainId: data.httpConfigDomainId,
httpConfigFullDomain: data.httpConfigFullDomain
httpConfigFullDomain: data.httpConfigFullDomain,
ssl: data.ssl
});
await api.post(`/site-resource/${siteResource.id}/ai-providers`, {
@@ -296,6 +300,33 @@ export default function PrivateResourceInferencePage() {
}}
/>
</SettingsFormCell>
<SettingsFormCell span="half">
<FormField
control={form.control}
name="ssl"
render={({ field }) => (
<FormItem>
<FormControl>
<SwitchInput
id="private-resource-inference-ssl"
label={t(
"editInternalResourceDialogEnableSsl"
)}
description={t(
"editInternalResourceDialogEnableSslDescription"
)}
checked={
!!field.value
}
onCheckedChange={
field.onChange
}
/>
</FormControl>
</FormItem>
)}
/>
</SettingsFormCell>
</SettingsFormGrid>
</form>
</Form>
@@ -368,56 +368,58 @@ export default function CreatePrivateResourcePage() {
/>
</SettingsFormCell>
{mode === "http" && (
<SettingsFormCell span="full">
<FormItem>
<DomainPicker
orgId={orgId}
cols={2}
hideFreeDomain
onDomainChange={(res) => {
if (!res) {
{mode === "http" ||
(mode === "inference" && (
<SettingsFormCell span="full">
<FormItem>
<DomainPicker
orgId={orgId}
cols={2}
hideFreeDomain
onDomainChange={(
res
) => {
if (!res) {
form.setValue(
"httpConfigSubdomain",
null
);
form.setValue(
"httpConfigDomainId",
null
);
form.setValue(
"httpConfigFullDomain",
null
);
return;
}
form.setValue(
"httpConfigSubdomain",
null
res.subdomain ??
null
);
form.setValue(
"httpConfigDomainId",
null
res.domainId
);
form.setValue(
"httpConfigFullDomain",
null
res.fullDomain
);
return;
}
form.setValue(
"httpConfigSubdomain",
res.subdomain ??
null
);
form.setValue(
"httpConfigDomainId",
res.domainId
);
form.setValue(
"httpConfigFullDomain",
res.fullDomain
);
}}
/>
<FormMessage />
<FormDescription>
{t(
"resourceDomainDescription"
)}
</FormDescription>
</FormItem>
</SettingsFormCell>
)}
}}
/>
<FormMessage />
<FormDescription>
{t(
"resourceDomainDescription"
)}
</FormDescription>
</FormItem>
</SettingsFormCell>
))}
{(mode === "host" ||
mode === "inference" ||
(mode === "ssh" && !isNativeSsh)) && (
<SettingsFormCell span="half">
<PrivateResourceAliasField
@@ -614,7 +616,7 @@ export default function CreatePrivateResourcePage() {
/>
<SettingsSectionHeader>
<SettingsSectionTitle>
{t("sshServer")}
{t("sshSettings")}
</SettingsSectionTitle>
<SettingsSectionDescription>
{t("sshServerDescription")}