|
- {{ interface.value().addSsl ? (address.acme | acme) : '-' }}
+ {{
+ interface.value().addSsl
+ ? (address.authority | authorityName)
+ : '-'
+ }}
|
{{ address.url | mask }} |
()
readonly isPublic = input.required()
- readonly acme = toSignal(
+ readonly authorityUrls = toSignal(
inject>(PatchDB)
.watch$('serverInfo', 'network', 'acme')
.pipe(map(acme => Object.keys(acme))),
@@ -237,16 +241,16 @@ export class InterfaceClearnetComponent {
default: null,
patterns: [utils.Patterns.domain],
})
- const acme = ISB.Value.select({
- name: 'ACME Provider',
+ const authority = ISB.Value.select({
+ name: 'Certificate Authority',
description:
- 'Select which ACME provider to use for obtaining your SSL certificate. Add new ACME providers in the System tab. Optionally use your system Root CA. Note: only devices that have trusted your Root CA will be able to access the domain without security warnings.',
- values: this.acme().reduce(
+ 'Select which Certificate authority to use for obtaining your SSL certificate. Add new authority in the System tab. Optionally use your local= Root CA. Note: only devices that have trusted your Root CA will be able to access the domain without security warnings.',
+ values: this.authorityUrls().reduce>(
(obj, url) => ({
...obj,
- [url]: toAcmeName(url),
+ [url]: toAuthorityName(url),
}),
- { none: 'None (use system Root CA)' } as Record,
+ { local: toAuthorityName(null) },
),
default: '',
})
@@ -256,7 +260,7 @@ export class InterfaceClearnetComponent {
data: {
spec: await configBuilderToSpec(
ISB.InputSpec.of(
- this.interface.value().addSsl ? { domain, acme } : { domain },
+ this.interface.value().addSsl ? { domain, authority } : { domain },
),
),
buttons: [
@@ -272,11 +276,11 @@ export class InterfaceClearnetComponent {
private async save(domainInfo: ClearnetForm): Promise {
const loader = this.loader.open('Saving').subscribe()
- const { domain, acme } = domainInfo
+ const { domain, authority } = domainInfo
const params = {
domain,
- acme: acme === 'none' ? null : acme,
+ acme: authority === 'local' ? null : authority,
private: false,
}
diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts
index 7d366df10..22de11903 100644
--- a/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts
+++ b/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts
@@ -72,7 +72,7 @@ export function getAddresses(
url,
disabled: !h.public,
isDomain: hostnameKind == 'domain',
- acme:
+ authority:
hostnameKind == 'domain'
? host.domains[h.hostname.domain]?.acme || null
: null,
@@ -118,7 +118,7 @@ export type MappedServiceInterface = T.ServiceInterface & {
export type ClearnetAddress = {
url: string
- acme: string | null
+ authority: string | null
isDomain: boolean
disabled: boolean
}
diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/local.component.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/local.component.ts
index 10edaeda9..03f2b184b 100644
--- a/web/projects/ui/src/app/routes/portal/components/interfaces/local.component.ts
+++ b/web/projects/ui/src/app/routes/portal/components/interfaces/local.component.ts
@@ -18,7 +18,7 @@ import { DocsLinkDirective, i18nPipe } from '@start9labs/shared'
'Local addresses can only be accessed by devices connected to the same LAN as your server, either directly or using a VPN.'
| i18n
}}
-
+
{{ 'Learn More' | i18n }}
diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/tor.component.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/tor.component.ts
index 1ae620b98..b812470c8 100644
--- a/web/projects/ui/src/app/routes/portal/components/interfaces/tor.component.ts
+++ b/web/projects/ui/src/app/routes/portal/components/interfaces/tor.component.ts
@@ -50,7 +50,7 @@ type OnionForm = {
'Add an onion address to anonymously expose this interface on the darknet. Onion addresses can only be reached over the Tor network.'
| i18n
}}
-
+
{{ 'Learn More' | i18n }}
diff --git a/web/projects/ui/src/app/routes/portal/components/table.component.ts b/web/projects/ui/src/app/routes/portal/components/table.component.ts
index bbec56f15..5516ed73e 100644
--- a/web/projects/ui/src/app/routes/portal/components/table.component.ts
+++ b/web/projects/ui/src/app/routes/portal/components/table.component.ts
@@ -24,5 +24,5 @@ import { i18nKey, i18nPipe } from '@start9labs/shared'
imports: [i18nPipe],
})
export class TableComponent {
- readonly appTable = input.required>()
+ readonly appTable = input.required>()
}
diff --git a/web/projects/ui/src/app/routes/portal/routes/backups/modals/jobs.component.ts b/web/projects/ui/src/app/routes/portal/routes/backups/modals/jobs.component.ts
index 84be0326b..72c67e8d9 100644
--- a/web/projects/ui/src/app/routes/portal/routes/backups/modals/jobs.component.ts
+++ b/web/projects/ui/src/app/routes/portal/routes/backups/modals/jobs.component.ts
@@ -26,7 +26,7 @@ import { DocsLinkDirective } from 'projects/shared/src/public-api'
Scheduling automatic backups is an excellent way to ensure your StartOS
data is safely backed up. StartOS will issue a notification whenever one
of your scheduled backups succeeds or fails.
- View instructions
+ View instructions
|