@serve.zone/dcrouter 13.9.1 → 13.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_serve/bundle.js +3044 -2684
- package/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts_interfaces/data/dns-provider.js +2 -2
- package/dist_ts_web/00_commitinfo_data.js +2 -2
- package/dist_ts_web/elements/access/ops-view-apitokens.js +2 -2
- package/dist_ts_web/elements/domains/dns-provider-form.js +4 -19
- package/dist_ts_web/elements/domains/ops-view-certificates.d.ts +1 -1
- package/dist_ts_web/elements/domains/ops-view-certificates.js +28 -116
- package/dist_ts_web/elements/domains/ops-view-dns.js +8 -7
- package/dist_ts_web/elements/domains/ops-view-domains.js +5 -4
- package/dist_ts_web/elements/email/ops-view-email-security.d.ts +1 -1
- package/dist_ts_web/elements/email/ops-view-email-security.js +39 -58
- package/dist_ts_web/elements/network/ops-view-remoteingress.js +5 -5
- package/dist_ts_web/elements/network/ops-view-routes.js +13 -13
- package/dist_ts_web/elements/network/ops-view-targetprofiles.js +3 -3
- package/dist_ts_web/elements/network/ops-view-vpn.js +5 -5
- package/package.json +4 -4
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/access/ops-view-apitokens.ts +1 -1
- package/ts_web/elements/domains/dns-provider-form.ts +3 -18
- package/ts_web/elements/domains/ops-view-certificates.ts +27 -115
- package/ts_web/elements/domains/ops-view-dns.ts +7 -6
- package/ts_web/elements/domains/ops-view-domains.ts +4 -3
- package/ts_web/elements/email/ops-view-email-security.ts +38 -57
- package/ts_web/elements/network/ops-view-remoteingress.ts +4 -4
- package/ts_web/elements/network/ops-view-routes.ts +12 -12
- package/ts_web/elements/network/ops-view-targetprofiles.ts +2 -2
- package/ts_web/elements/network/ops-view-vpn.ts +4 -4
|
@@ -101,8 +101,8 @@ export class OpsViewDns extends DeesElement {
|
|
|
101
101
|
<dees-heading level="3">DNS Records</dees-heading>
|
|
102
102
|
<div class="dnsContainer">
|
|
103
103
|
<div class="domainPicker">
|
|
104
|
-
<span>Domain:</span>
|
|
105
104
|
<dees-input-dropdown
|
|
105
|
+
.label=${'Domain'}
|
|
106
106
|
.options=${domains.map((d) => ({ option: d.name, key: d.id }))}
|
|
107
107
|
.selectedOption=${selectedId
|
|
108
108
|
? { option: domains.find((d) => d.id === selectedId)?.name || '', key: selectedId }
|
|
@@ -196,7 +196,7 @@ export class OpsViewDns extends DeesElement {
|
|
|
196
196
|
heading: 'Add DNS Record',
|
|
197
197
|
content: html`
|
|
198
198
|
<dees-form>
|
|
199
|
-
<dees-input-text .key=${'name'} .label=${'Name
|
|
199
|
+
<dees-input-text .key=${'name'} .label=${'Name'} .description=${'Fully qualified domain name'} .required=${true}></dees-input-text>
|
|
200
200
|
<dees-input-dropdown
|
|
201
201
|
.key=${'type'}
|
|
202
202
|
.label=${'Type'}
|
|
@@ -205,10 +205,11 @@ export class OpsViewDns extends DeesElement {
|
|
|
205
205
|
></dees-input-dropdown>
|
|
206
206
|
<dees-input-text
|
|
207
207
|
.key=${'value'}
|
|
208
|
-
.label=${'Value
|
|
208
|
+
.label=${'Value'}
|
|
209
|
+
.description=${'For MX records use priority format, e.g. "10 mail.example.com"'}
|
|
209
210
|
.required=${true}
|
|
210
211
|
></dees-input-text>
|
|
211
|
-
<dees-input-text .key=${'ttl'} .label=${'TTL
|
|
212
|
+
<dees-input-text .key=${'ttl'} .label=${'TTL'} .description=${'Time to live in seconds'} .value=${'300'}></dees-input-text>
|
|
212
213
|
</dees-form>
|
|
213
214
|
`,
|
|
214
215
|
menuOptions: [
|
|
@@ -242,9 +243,9 @@ export class OpsViewDns extends DeesElement {
|
|
|
242
243
|
heading: `Edit ${rec.type} ${rec.name}`,
|
|
243
244
|
content: html`
|
|
244
245
|
<dees-form>
|
|
245
|
-
<dees-input-text .key=${'name'} .label=${'Name
|
|
246
|
+
<dees-input-text .key=${'name'} .label=${'Name'} .description=${'Fully qualified domain name'} .value=${rec.name}></dees-input-text>
|
|
246
247
|
<dees-input-text .key=${'value'} .label=${'Value'} .value=${rec.value}></dees-input-text>
|
|
247
|
-
<dees-input-text .key=${'ttl'} .label=${'TTL
|
|
248
|
+
<dees-input-text .key=${'ttl'} .label=${'TTL'} .description=${'Time to live in seconds'} .value=${String(rec.ttl)}></dees-input-text>
|
|
248
249
|
</dees-form>
|
|
249
250
|
`,
|
|
250
251
|
menuOptions: [
|
|
@@ -181,8 +181,8 @@ export class OpsViewDomains extends DeesElement {
|
|
|
181
181
|
heading: 'Add DcRouter Domain',
|
|
182
182
|
content: html`
|
|
183
183
|
<dees-form>
|
|
184
|
-
<dees-input-text .key=${'name'} .label=${'FQDN
|
|
185
|
-
<dees-input-text .key=${'description'} .label=${'Description
|
|
184
|
+
<dees-input-text .key=${'name'} .label=${'FQDN'} .description=${'e.g. example.com'} .required=${true}></dees-input-text>
|
|
185
|
+
<dees-input-text .key=${'description'} .label=${'Description'}></dees-input-text>
|
|
186
186
|
</dees-form>
|
|
187
187
|
<p style="margin-top: 12px; font-size: 12px; opacity: 0.7;">
|
|
188
188
|
dcrouter will become the authoritative DNS server for this domain. You'll need to
|
|
@@ -235,7 +235,8 @@ export class OpsViewDomains extends DeesElement {
|
|
|
235
235
|
></dees-input-dropdown>
|
|
236
236
|
<dees-input-text
|
|
237
237
|
.key=${'domainNames'}
|
|
238
|
-
.label=${'
|
|
238
|
+
.label=${'Domain Names'}
|
|
239
|
+
.description=${'Comma-separated FQDNs, e.g. example.com, foo.com'}
|
|
239
240
|
.required=${true}
|
|
240
241
|
></dees-input-text>
|
|
241
242
|
</dees-form>
|
|
@@ -37,25 +37,10 @@ export class OpsViewEmailSecurity extends DeesElement {
|
|
|
37
37
|
cssManager.defaultStyles,
|
|
38
38
|
viewHostCss,
|
|
39
39
|
css`
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
color: ${cssManager.bdTheme('#333', '#ccc')};
|
|
45
|
-
}
|
|
46
|
-
dees-statsgrid {
|
|
47
|
-
margin-bottom: 32px;
|
|
48
|
-
}
|
|
49
|
-
.securityCard {
|
|
50
|
-
background: ${cssManager.bdTheme('#fff', '#222')};
|
|
51
|
-
border: 1px solid ${cssManager.bdTheme('#e9ecef', '#333')};
|
|
52
|
-
border-radius: 8px;
|
|
53
|
-
padding: 24px;
|
|
54
|
-
position: relative;
|
|
55
|
-
overflow: hidden;
|
|
56
|
-
}
|
|
57
|
-
.actionButton {
|
|
58
|
-
margin-top: 16px;
|
|
40
|
+
.securityContainer {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
gap: 24px;
|
|
59
44
|
}
|
|
60
45
|
`,
|
|
61
46
|
];
|
|
@@ -113,48 +98,44 @@ export class OpsViewEmailSecurity extends DeesElement {
|
|
|
113
98
|
return html`
|
|
114
99
|
<dees-heading level="3">Email Security</dees-heading>
|
|
115
100
|
|
|
116
|
-
<
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
101
|
+
<div class="securityContainer">
|
|
102
|
+
<dees-statsgrid
|
|
103
|
+
.tiles=${tiles}
|
|
104
|
+
.minTileWidth=${200}
|
|
105
|
+
></dees-statsgrid>
|
|
120
106
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
.label=${'Enable DKIM validation'}
|
|
132
|
-
.value=${true}
|
|
133
|
-
></dees-input-checkbox>
|
|
134
|
-
<dees-input-checkbox
|
|
135
|
-
.key=${'enableDMARC'}
|
|
136
|
-
.label=${'Enable DMARC policy enforcement'}
|
|
137
|
-
.value=${true}
|
|
138
|
-
></dees-input-checkbox>
|
|
139
|
-
<dees-input-checkbox
|
|
140
|
-
.key=${'enableSpamFilter'}
|
|
141
|
-
.label=${'Enable spam filtering'}
|
|
142
|
-
.value=${true}
|
|
143
|
-
></dees-input-checkbox>
|
|
144
|
-
</dees-form>
|
|
145
|
-
<dees-button
|
|
146
|
-
class="actionButton"
|
|
147
|
-
type="highlighted"
|
|
148
|
-
@click=${() => this.saveEmailSecuritySettings()}
|
|
149
|
-
>
|
|
150
|
-
Save Settings
|
|
151
|
-
</dees-button>
|
|
107
|
+
<dees-settings
|
|
108
|
+
.heading=${'Security Configuration'}
|
|
109
|
+
.settingsFields=${[
|
|
110
|
+
{ key: 'spf', label: 'SPF checking', value: 'enabled' },
|
|
111
|
+
{ key: 'dkim', label: 'DKIM validation', value: 'enabled' },
|
|
112
|
+
{ key: 'dmarc', label: 'DMARC policy', value: 'enabled' },
|
|
113
|
+
{ key: 'spam', label: 'Spam filtering', value: 'enabled' },
|
|
114
|
+
]}
|
|
115
|
+
.actions=${[{ name: 'Edit', action: () => this.showEditSecurityDialog() }]}
|
|
116
|
+
></dees-settings>
|
|
152
117
|
</div>
|
|
153
118
|
`;
|
|
154
119
|
}
|
|
155
120
|
|
|
156
|
-
private async
|
|
157
|
-
|
|
158
|
-
|
|
121
|
+
private async showEditSecurityDialog() {
|
|
122
|
+
const { DeesModal } = await import('@design.estate/dees-catalog');
|
|
123
|
+
DeesModal.createAndShow({
|
|
124
|
+
heading: 'Edit Security Configuration',
|
|
125
|
+
content: html`
|
|
126
|
+
<dees-form>
|
|
127
|
+
<dees-input-checkbox .key=${'enableSPF'} .label=${'SPF checking'} .value=${true}></dees-input-checkbox>
|
|
128
|
+
<dees-input-checkbox .key=${'enableDKIM'} .label=${'DKIM validation'} .value=${true}></dees-input-checkbox>
|
|
129
|
+
<dees-input-checkbox .key=${'enableDMARC'} .label=${'DMARC policy enforcement'} .value=${true}></dees-input-checkbox>
|
|
130
|
+
<dees-input-checkbox .key=${'enableSpamFilter'} .label=${'Spam filtering'} .value=${true}></dees-input-checkbox>
|
|
131
|
+
</dees-form>
|
|
132
|
+
<p style="margin-top: 12px; font-size: 12px; opacity: 0.7;">
|
|
133
|
+
These settings are read-only for now. Update the dcrouter configuration to change them.
|
|
134
|
+
</p>
|
|
135
|
+
`,
|
|
136
|
+
menuOptions: [
|
|
137
|
+
{ name: 'Close', action: async (modalArg: any) => modalArg.destroy() },
|
|
138
|
+
],
|
|
139
|
+
});
|
|
159
140
|
}
|
|
160
141
|
}
|
|
@@ -243,9 +243,9 @@ export class OpsViewRemoteIngress extends DeesElement {
|
|
|
243
243
|
content: html`
|
|
244
244
|
<dees-form>
|
|
245
245
|
<dees-input-text .key=${'name'} .label=${'Name'} .required=${true}></dees-input-text>
|
|
246
|
-
<dees-input-text .key=${'listenPorts'} .label=${'
|
|
246
|
+
<dees-input-text .key=${'listenPorts'} .label=${'Manual Ports'} .description=${'Comma-separated port numbers, optional'}></dees-input-text>
|
|
247
247
|
<dees-input-checkbox .key=${'autoDerivePorts'} .label=${'Auto-derive ports from routes'} .value=${true}></dees-input-checkbox>
|
|
248
|
-
<dees-input-text .key=${'tags'} .label=${'Tags
|
|
248
|
+
<dees-input-text .key=${'tags'} .label=${'Tags'} .description=${'Comma-separated, optional'}></dees-input-text>
|
|
249
249
|
</dees-form>
|
|
250
250
|
`,
|
|
251
251
|
menuOptions: [
|
|
@@ -320,9 +320,9 @@ export class OpsViewRemoteIngress extends DeesElement {
|
|
|
320
320
|
content: html`
|
|
321
321
|
<dees-form>
|
|
322
322
|
<dees-input-text .key=${'name'} .label=${'Name'} .value=${edge.name}></dees-input-text>
|
|
323
|
-
<dees-input-text .key=${'listenPorts'} .label=${'Manual Ports
|
|
323
|
+
<dees-input-text .key=${'listenPorts'} .label=${'Manual Ports'} .description=${'Comma-separated port numbers'} .value=${(edge.listenPorts || []).join(', ')}></dees-input-text>
|
|
324
324
|
<dees-input-checkbox .key=${'autoDerivePorts'} .label=${'Auto-derive ports from routes'} .value=${edge.autoDerivePorts !== false}></dees-input-checkbox>
|
|
325
|
-
<dees-input-text .key=${'tags'} .label=${'Tags
|
|
325
|
+
<dees-input-text .key=${'tags'} .label=${'Tags'} .description=${'Comma-separated'} .value=${(edge.tags || []).join(', ')}></dees-input-text>
|
|
326
326
|
</dees-form>
|
|
327
327
|
`,
|
|
328
328
|
menuOptions: [
|
|
@@ -473,19 +473,19 @@ export class OpsViewRoutes extends DeesElement {
|
|
|
473
473
|
content: html`
|
|
474
474
|
<dees-form>
|
|
475
475
|
<dees-input-text .key=${'name'} .label=${'Route Name'} .value=${route.name || ''} .required=${true}></dees-input-text>
|
|
476
|
-
<dees-input-text .key=${'ports'} .label=${'Ports
|
|
476
|
+
<dees-input-text .key=${'ports'} .label=${'Ports'} .description=${'Comma-separated, e.g. 80, 443'} .value=${currentPorts} .required=${true}></dees-input-text>
|
|
477
477
|
<dees-input-list .key=${'domains'} .label=${'Domains'} .placeholder=${'Add domain...'} .value=${currentDomains}></dees-input-list>
|
|
478
|
-
<dees-input-text .key=${'priority'} .label=${'Priority
|
|
478
|
+
<dees-input-text .key=${'priority'} .label=${'Priority'} .description=${'Higher values are matched first'} .value=${route.priority != null ? String(route.priority) : ''}></dees-input-text>
|
|
479
479
|
<dees-input-dropdown .key=${'sourceProfileRef'} .label=${'Source Profile'} .options=${profileOptions} .selectedOption=${profileOptions.find((o) => o.key === (merged.metadata?.sourceProfileRef || '')) || null}></dees-input-dropdown>
|
|
480
480
|
<dees-input-dropdown .key=${'networkTargetRef'} .label=${'Network Target'} .options=${targetOptions} .selectedOption=${targetOptions.find((o) => o.key === (merged.metadata?.networkTargetRef || '')) || null}></dees-input-dropdown>
|
|
481
|
-
<dees-input-text .key=${'targetHost'} .label=${'Target Host
|
|
482
|
-
<dees-input-text .key=${'targetPort'} .label=${'Target Port
|
|
481
|
+
<dees-input-text .key=${'targetHost'} .label=${'Target Host'} .description=${'Used when no network target is selected'} .value=${currentTargetHost}></dees-input-text>
|
|
482
|
+
<dees-input-text .key=${'targetPort'} .label=${'Target Port'} .description=${'Used when no network target is selected'} .value=${currentTargetPort}></dees-input-text>
|
|
483
483
|
<dees-input-dropdown .key=${'tlsMode'} .label=${'TLS Mode'} .options=${tlsModeOptions} .selectedOption=${tlsModeOptions.find((o) => o.key === currentTlsMode) || tlsModeOptions[0]}></dees-input-dropdown>
|
|
484
484
|
<div class="tlsCertificateGroup" style="display: ${needsCert ? 'flex' : 'none'}; flex-direction: column; gap: 16px;">
|
|
485
485
|
<dees-input-dropdown .key=${'tlsCertificate'} .label=${'Certificate'} .options=${tlsCertOptions} .selectedOption=${tlsCertOptions.find((o) => o.key === currentTlsCert) || tlsCertOptions[0]}></dees-input-dropdown>
|
|
486
486
|
<div class="tlsCustomCertGroup" style="display: ${needsCert && isCustom ? 'flex' : 'none'}; flex-direction: column; gap: 16px;">
|
|
487
|
-
<dees-input-text .key=${'tlsCertKey'} .label=${'Private Key
|
|
488
|
-
<dees-input-text .key=${'tlsCertCert'} .label=${'Certificate
|
|
487
|
+
<dees-input-text .key=${'tlsCertKey'} .label=${'Private Key'} .description=${'PEM-encoded private key'} .value=${currentCustomKey}></dees-input-text>
|
|
488
|
+
<dees-input-text .key=${'tlsCertCert'} .label=${'Certificate'} .description=${'PEM-encoded certificate'} .value=${currentCustomCert}></dees-input-text>
|
|
489
489
|
</div>
|
|
490
490
|
</div>
|
|
491
491
|
</dees-form>
|
|
@@ -607,19 +607,19 @@ export class OpsViewRoutes extends DeesElement {
|
|
|
607
607
|
content: html`
|
|
608
608
|
<dees-form>
|
|
609
609
|
<dees-input-text .key=${'name'} .label=${'Route Name'} .required=${true}></dees-input-text>
|
|
610
|
-
<dees-input-text .key=${'ports'} .label=${'Ports
|
|
610
|
+
<dees-input-text .key=${'ports'} .label=${'Ports'} .description=${'Comma-separated, e.g. 80, 443'} .required=${true}></dees-input-text>
|
|
611
611
|
<dees-input-list .key=${'domains'} .label=${'Domains'} .placeholder=${'Add domain...'}></dees-input-list>
|
|
612
|
-
<dees-input-text .key=${'priority'} .label=${'Priority
|
|
612
|
+
<dees-input-text .key=${'priority'} .label=${'Priority'} .description=${'Higher values are matched first'}></dees-input-text>
|
|
613
613
|
<dees-input-dropdown .key=${'sourceProfileRef'} .label=${'Source Profile'} .options=${profileOptions}></dees-input-dropdown>
|
|
614
614
|
<dees-input-dropdown .key=${'networkTargetRef'} .label=${'Network Target'} .options=${targetOptions}></dees-input-dropdown>
|
|
615
|
-
<dees-input-text .key=${'targetHost'} .label=${'Target Host
|
|
616
|
-
<dees-input-text .key=${'targetPort'} .label=${'Target Port
|
|
615
|
+
<dees-input-text .key=${'targetHost'} .label=${'Target Host'} .description=${'Used when no network target is selected'} .value=${'localhost'}></dees-input-text>
|
|
616
|
+
<dees-input-text .key=${'targetPort'} .label=${'Target Port'} .description=${'Used when no network target is selected'}></dees-input-text>
|
|
617
617
|
<dees-input-dropdown .key=${'tlsMode'} .label=${'TLS Mode'} .options=${tlsModeOptions} .selectedOption=${tlsModeOptions[0]}></dees-input-dropdown>
|
|
618
618
|
<div class="tlsCertificateGroup" style="display: none; flex-direction: column; gap: 16px;">
|
|
619
619
|
<dees-input-dropdown .key=${'tlsCertificate'} .label=${'Certificate'} .options=${tlsCertOptions} .selectedOption=${tlsCertOptions[0]}></dees-input-dropdown>
|
|
620
620
|
<div class="tlsCustomCertGroup" style="display: none; flex-direction: column; gap: 16px;">
|
|
621
|
-
<dees-input-text .key=${'tlsCertKey'} .label=${'Private Key
|
|
622
|
-
<dees-input-text .key=${'tlsCertCert'} .label=${'Certificate
|
|
621
|
+
<dees-input-text .key=${'tlsCertKey'} .label=${'Private Key'} .description=${'PEM-encoded private key'}></dees-input-text>
|
|
622
|
+
<dees-input-text .key=${'tlsCertCert'} .label=${'Certificate'} .description=${'PEM-encoded certificate'}></dees-input-text>
|
|
623
623
|
</div>
|
|
624
624
|
</div>
|
|
625
625
|
</dees-form>
|
|
@@ -176,7 +176,7 @@ export class OpsViewTargetProfiles extends DeesElement {
|
|
|
176
176
|
<dees-input-text .key=${'name'} .label=${'Name'} .required=${true}></dees-input-text>
|
|
177
177
|
<dees-input-text .key=${'description'} .label=${'Description'}></dees-input-text>
|
|
178
178
|
<dees-input-list .key=${'domains'} .label=${'Domains'} .placeholder=${'e.g. *.example.com'} .allowFreeform=${true}></dees-input-list>
|
|
179
|
-
<dees-input-list .key=${'targets'} .label=${'Targets
|
|
179
|
+
<dees-input-list .key=${'targets'} .label=${'Targets'} .description=${'Format: ip:port, e.g. 10.0.0.1:443'} .placeholder=${'e.g. 10.0.0.1:443'} .allowFreeform=${true}></dees-input-list>
|
|
180
180
|
<dees-input-list .key=${'routeRefs'} .label=${'Route Refs'} .placeholder=${'Type to search routes...'} .candidates=${routeCandidates} .allowFreeform=${true}></dees-input-list>
|
|
181
181
|
</dees-form>
|
|
182
182
|
`,
|
|
@@ -235,7 +235,7 @@ export class OpsViewTargetProfiles extends DeesElement {
|
|
|
235
235
|
<dees-input-text .key=${'name'} .label=${'Name'} .value=${profile.name}></dees-input-text>
|
|
236
236
|
<dees-input-text .key=${'description'} .label=${'Description'} .value=${profile.description || ''}></dees-input-text>
|
|
237
237
|
<dees-input-list .key=${'domains'} .label=${'Domains'} .placeholder=${'e.g. *.example.com'} .allowFreeform=${true} .value=${currentDomains}></dees-input-list>
|
|
238
|
-
<dees-input-list .key=${'targets'} .label=${'Targets
|
|
238
|
+
<dees-input-list .key=${'targets'} .label=${'Targets'} .description=${'Format: ip:port, e.g. 10.0.0.1:443'} .placeholder=${'e.g. 10.0.0.1:443'} .allowFreeform=${true} .value=${currentTargets}></dees-input-list>
|
|
239
239
|
<dees-input-list .key=${'routeRefs'} .label=${'Route Refs'} .placeholder=${'Type to search routes...'} .candidates=${routeCandidates} .allowFreeform=${true} .value=${currentRouteRefs}></dees-input-list>
|
|
240
240
|
</dees-form>
|
|
241
241
|
`,
|
|
@@ -371,8 +371,8 @@ export class OpsViewVpn extends DeesElement {
|
|
|
371
371
|
</div>
|
|
372
372
|
<dees-input-checkbox .key=${'allowAdditionalAcls'} .label=${'Allow additional ACLs'} .value=${false}></dees-input-checkbox>
|
|
373
373
|
<div class="aclGroup" style="display: none; flex-direction: column; gap: 16px;">
|
|
374
|
-
<dees-input-text .key=${'destinationAllowList'} .label=${'Destination Allow List
|
|
375
|
-
<dees-input-text .key=${'destinationBlockList'} .label=${'Destination Block List
|
|
374
|
+
<dees-input-text .key=${'destinationAllowList'} .label=${'Destination Allow List'} .description=${'Comma-separated IPs or CIDRs'}></dees-input-text>
|
|
375
|
+
<dees-input-text .key=${'destinationBlockList'} .label=${'Destination Block List'} .description=${'Comma-separated IPs or CIDRs'}></dees-input-text>
|
|
376
376
|
</div>
|
|
377
377
|
</dees-form>
|
|
378
378
|
`,
|
|
@@ -681,8 +681,8 @@ export class OpsViewVpn extends DeesElement {
|
|
|
681
681
|
</div>
|
|
682
682
|
<dees-input-checkbox .key=${'allowAdditionalAcls'} .label=${'Allow additional ACLs'} .value=${currentAllowAcls}></dees-input-checkbox>
|
|
683
683
|
<div class="aclGroup" style="display: ${currentAllowAcls ? 'flex' : 'none'}; flex-direction: column; gap: 16px;">
|
|
684
|
-
<dees-input-text .key=${'destinationAllowList'} .label=${'Destination Allow List
|
|
685
|
-
<dees-input-text .key=${'destinationBlockList'} .label=${'Destination Block List
|
|
684
|
+
<dees-input-text .key=${'destinationAllowList'} .label=${'Destination Allow List'} .description=${'Comma-separated IPs or CIDRs'} .value=${currentAllowList}></dees-input-text>
|
|
685
|
+
<dees-input-text .key=${'destinationBlockList'} .label=${'Destination Block List'} .description=${'Comma-separated IPs or CIDRs'} .value=${currentBlockList}></dees-input-text>
|
|
686
686
|
</div>
|
|
687
687
|
</dees-form>
|
|
688
688
|
`,
|