v0.34.4
This commit is contained in:
1 parent
52e7ce7b46
commit
3776edf4fc
5 files changed
+226
-109
No files matched your search
+11
-23
@@ -335,36 +335,24 @@
|
||||
const compressionEnabled = input("", "checkbox", "docker-compression-enabled"); compressionEnabled.checked = assignment?.compression_enabled !== false; const compressionField = checkboxField("dockerCompression", compressionEnabled); compressionField.title = t("dockerCompressionHelp");
|
||||
const switches = el("div", undefined, "docker-switch-row"); switches.append(preserveLabel, forceSslField, websocketField, cacheField, compressionField, transformField);
|
||||
const certMismatch = input("", "checkbox", "docker-cert-mismatch"); certMismatch.checked = assignment?.allow_certificate_mismatch === true;
|
||||
const mismatchField = checkboxField("dockerCertMismatchForce", certMismatch);
|
||||
const mismatchHelp = el("p", t("dockerCertMismatchWarning"), "fine acl-stack-warning");
|
||||
const mismatchUnavailable = el("p", t("dockerCertMismatchUnavailable"), "fine");
|
||||
const riskPill = el("span", t("dockerCertMismatchRisk"), "acl-picker-policy is-deny docker-cert-risk-pill");
|
||||
const syncMismatch = () => {
|
||||
certMismatch.disabled = !agent.certificate_id;
|
||||
if (!agent.certificate_id) certMismatch.checked = false;
|
||||
mismatchHelp.hidden = !certMismatch.checked;
|
||||
mismatchUnavailable.hidden = !!agent.certificate_id;
|
||||
riskPill.hidden = !certMismatch.checked;
|
||||
};
|
||||
certMismatch.addEventListener("change", syncMismatch);
|
||||
mismatchField.append(mismatchHelp, mismatchUnavailable);
|
||||
certMismatch.disabled = !agent.certificate_id;
|
||||
if (certMismatch.disabled) certMismatch.checked = false;
|
||||
const mismatchLabel = el("label", undefined, "check");
|
||||
mismatchLabel.append(certMismatch, el("span", t("dockerCertMismatchForce")));
|
||||
mismatchLabel.title = t(certMismatch.disabled ? "dockerCertMismatchUnavailable" : "dockerCertMismatchWarning");
|
||||
const certificateBar = el("div", undefined, "docker-service-certificate-bar");
|
||||
const tlsControl = el("div", undefined, "docker-service-certificate-control");
|
||||
const tlsHeading = el("div", undefined, "docker-service-certificate-title");
|
||||
tlsHeading.append(el("strong", t("dockerCertSection")), riskPill);
|
||||
tlsControl.append(tlsHeading, mismatchField); certificateBar.append(tlsControl);
|
||||
syncMismatch();
|
||||
certificateBar.append(mismatchLabel);
|
||||
|
||||
const h2Enabled = input("", "checkbox", "docker-http2-enabled"); h2Enabled.checked = assignment?.http2_enabled !== false;
|
||||
const h3Enabled = input("", "checkbox", "docker-http3-enabled"); h3Enabled.checked = assignment?.http3_enabled !== false;
|
||||
const protocolBox = el("section", undefined, "docker-protocol-panel");
|
||||
const protocolHeading = el("div", undefined, "docker-protocol-heading");
|
||||
protocolHeading.append(el("strong", t("dockerFrontendProtocols")), el("small", t("dockerFrontendProtocolsHelp"), "fine"));
|
||||
// New publications default to H3 off; legacy assignments keep their saved behavior.
|
||||
const h3Enabled = input("", "checkbox", "docker-http3-enabled"); h3Enabled.checked = assignment ? assignment.http3_enabled !== false : false;
|
||||
const protocolBox = el("details", undefined, "docker-protocol-editor"), protocolSummary = el("summary");
|
||||
protocolSummary.append(el("span", t("dockerFrontendProtocols")), el("small", t("dockerFrontendProtocolsHelp"), "fine"));
|
||||
const protocolOptions = el("div", undefined, "docker-protocol-options");
|
||||
const h1 = el("span", undefined, "docker-protocol-fixed");
|
||||
h1.append(el("strong", "HTTP/1.1"), el("small", t("dockerHttp1Always"), "fine"));
|
||||
protocolOptions.append(h1, checkboxField("dockerHttp2Enabled", h2Enabled), checkboxField("dockerHttp3Enabled", h3Enabled));
|
||||
protocolBox.append(protocolHeading, protocolOptions);
|
||||
protocolBox.append(protocolSummary, protocolOptions);
|
||||
route.append(labeled("dockerHostname", host, t("dockerHostnameHelp").replace("{domain}", agent.base_domain)), aliases.node, labeled("dockerBackendIp", target), labeled("dockerBackendScheme", scheme), switches);
|
||||
editor.append(certificateBar, route, protocolBox, aclEditor(assignment, agent), timeoutEditor(assignment), healthEditor(assignment), passiveHealthEditor(assignment));
|
||||
const actions = el("div", undefined, "docker-service-actions"), apply = el("button", t("dockerApplyService"), "outline docker-apply"); apply.type = "button"; apply.disabled = !publish.checked; apply.addEventListener("click", async () => { apply.disabled = true; try { await saveAssignment(agent.id, row, true); } catch (error) { toast(error.message, true); } finally { if (row.isConnected) apply.disabled = !publish.checked; } }); actions.append(apply); editor.append(actions); row.append(editor);
|
||||
|
||||
Reference in new issue
Block a user