This commit is contained in:
Mateusz Gruszczyński committed 2026-10-22 23:00:07 +02:00
1 parent d8bdc6e780
commit 70388578cb
5 files changed
+143 -122

No files matched your search

-6
View File
@@ -1,9 +1,3 @@
## Docker Agent Linux packaging extension (source-level changes)
- Added independent `rustproxy-docker-agent` DEB/RPM build and signed APT/DNF publication to the external Package Builder; no FreeBSD `pkg` for the agent.
- Agent CLI now supports `init`, `info` (text/JSON, token redacted by default), `show-token`, `rotate-token`, `cert-init`, `print-fingerprint` and `version`; existing flags and default server invocation remain supported.
- Manual and package installation share token/certificate provisioning; upgrades preserve TLS files and existing tokens, while startup journals print only nonsecret connection and certificate metadata.
# Changelog # Changelog
Release history focused on **features, settings, default behavior, compatibility and fixes**. Changes to internal code structure and preliminary performance experiments are intentionally omitted. Historical descriptions reflect their respective releases; consult the current documentation for the settings available in 0.34.8. Release history focused on **features, settings, default behavior, compatibility and fixes**. Changes to internal code structure and preliminary performance experiments are intentionally omitted. Historical descriptions reflect their respective releases; consult the current documentation for the settings available in 0.34.8.
+3 -3
View File
@@ -2,7 +2,7 @@
4140a2956264b44f259e6a37fc00ba02097bbe68b09296e04d3d243c1287129b .env.example 4140a2956264b44f259e6a37fc00ba02097bbe68b09296e04d3d243c1287129b .env.example
9e6356475bf587091bab72246ec9e325b498f7e48a6220e9a18baa50d0a385a6 .gitignore 9e6356475bf587091bab72246ec9e325b498f7e48a6220e9a18baa50d0a385a6 .gitignore
e9aa7d23f867dabab4b254154dc81833511138f7679ef7d0583afcdff2ff231e AGENTS.md e9aa7d23f867dabab4b254154dc81833511138f7679ef7d0583afcdff2ff231e AGENTS.md
25add9aeb6f0e052c751380b6d81a42ef1704c093963ab1d119c6bdcd382e59e CHANGELOG.md 82fea9271a4c7a112334076c5c76b6bb2f354b362aef6fe7c7822d4477c50e6a CHANGELOG.md
3bce5792c1588ec7de8d97239d7e9e3304ce21eb76c619f48e6e62577c6cfac5 Cargo.lock 3bce5792c1588ec7de8d97239d7e9e3304ce21eb76c619f48e6e62577c6cfac5 Cargo.lock
15821dc3b17d2da6d139b91a885269a817457d271fbeabb49c3d68bccc5efd22 Cargo.toml 15821dc3b17d2da6d139b91a885269a817457d271fbeabb49c3d68bccc5efd22 Cargo.toml
25c7f3c8162cbf5cc156439774118a81dae9fdc52b611ec7e40c230fc99a772c Dockerfile 25c7f3c8162cbf5cc156439774118a81dae9fdc52b611ec7e40c230fc99a772c Dockerfile
@@ -37,7 +37,7 @@ f24767c2f9d4db4db5005b700d03323dd20f0a1d180ae939be4fe54a126aaf32 docs/CONFIGURA
80bcc666736b10f6202386d0342e8d6feeba858d77aea310bf3ec6de01c2bfb3 docs/CONTAINER.md 80bcc666736b10f6202386d0342e8d6feeba858d77aea310bf3ec6de01c2bfb3 docs/CONTAINER.md
dc670d912a6a946160c2f8528c9bb710ec38ebe406dcb7dcaf18fb2653f667b6 docs/CUSTOM_LOCATIONS.md dc670d912a6a946160c2f8528c9bb710ec38ebe406dcb7dcaf18fb2653f667b6 docs/CUSTOM_LOCATIONS.md
9fb2d0bcac70d1883dd16557622851a1f0527b3d3569a4b5177f5e6dedd3c74d docs/DASHBOARD.md 9fb2d0bcac70d1883dd16557622851a1f0527b3d3569a4b5177f5e6dedd3c74d docs/DASHBOARD.md
f8ea2daf22ea464121dc128aea5385f4bd413d66745714e9196cc3bff3520d61 docs/DOCKER_DISCOVERY.md 3e2f7670d136911c1b7bfe8571c60590932f74a60bcac308add4ccb0446bf970 docs/DOCKER_DISCOVERY.md
f1baabe34e8a1b204d7c78e2f558c019c156b03adfa6ddecb931b4b8a5501f78 docs/INSTALL.md f1baabe34e8a1b204d7c78e2f558c019c156b03adfa6ddecb931b4b8a5501f78 docs/INSTALL.md
37001cbf8ed248ca05ec40f12dd9876d33f6e0c97dcb21eb2e6f53c3d97a60bb docs/INTEGRATIONS.md 37001cbf8ed248ca05ec40f12dd9876d33f6e0c97dcb21eb2e6f53c3d97a60bb docs/INTEGRATIONS.md
694cb7b15c5bbdc94cecd15dc516c05dcb3467849322cdd125b872d36dee4699 docs/LOGS.md 694cb7b15c5bbdc94cecd15dc516c05dcb3467849322cdd125b872d36dee4699 docs/LOGS.md
@@ -220,7 +220,7 @@ a8afc6e70950bc70b98725eb049d73cff35dc3a3ee659229a15a8e08d3eb4f12 src/admin/web/
be9b78bee4ef0026608191d36a2aed831f93c1baaa5bc73da86bf09bc217ce76 src/admin/web/settings.js be9b78bee4ef0026608191d36a2aed831f93c1baaa5bc73da86bf09bc217ce76 src/admin/web/settings.js
8eadbada619b15087783dcfa0e889a81f88e78034d084c5ab616f7912b835940 src/admin/web/status_200.html 8eadbada619b15087783dcfa0e889a81f88e78034d084c5ab616f7912b835940 src/admin/web/status_200.html
6feb1996b1caa9d19e0dc56eae7ca5b48b7e7cdf0a93bb2e4b527fb8f13a2fe5 src/admin/web/streams.js 6feb1996b1caa9d19e0dc56eae7ca5b48b7e7cdf0a93bb2e4b527fb8f13a2fe5 src/admin/web/streams.js
80dce3464824590a92596a8df959ddc287df5158a068705caeb80abda4668b2d src/admin/web/style.css 38716fae968aeb8f6a8510f28bb9054a73a438a969c3b69f9c9d921acfed6e06 src/admin/web/style.css
d290c048450655b3eeae7c6ec54a82d645d1965513694ab29fdf7eef796a1abd src/admin/web/traffic-panel.js d290c048450655b3eeae7c6ec54a82d645d1965513694ab29fdf7eef796a1abd src/admin/web/traffic-panel.js
dfb4ded2fefb90fc1e2d33370cdef10b040a85cb43235ea9dbc1d73bef823a79 src/admin/web/transform-panel.js dfb4ded2fefb90fc1e2d33370cdef10b040a85cb43235ea9dbc1d73bef823a79 src/admin/web/transform-panel.js
a55f45dad5b540def419f8487161fb506b7e52744c76a5e661c7a5fa0a98a426 src/admin/web/vhosts/core.js a55f45dad5b540def419f8487161fb506b7e52744c76a5e661c7a5fa0a98a426 src/admin/web/vhosts/core.js
-2
View File
@@ -1,6 +1,4 @@
"use strict"; "use strict";
// Credential management is separated from generic Settings to keep UI modules bounded.
// Only non-secret metadata is retained in client state.
(() => { (() => {
let certificateApiState = null, certificateApiLoading = false; let certificateApiState = null, certificateApiLoading = false;
let certificateApiEditingKey = null, certificateApiDetailsKey = null; let certificateApiEditingKey = null, certificateApiDetailsKey = null;
+29 -8
View File
@@ -2211,22 +2211,43 @@
One byte range can be served from a complete cached object; One byte range can be served from a complete cached object;
multipart/unsupported ranges pass through.</p> multipart/unsupported ranges pass through.</p>
<div class="cache-varnish-setting"> <div class="cache-varnish-setting">
<label class="check"><input id="cache-varnish-compatible" type="checkbox" /><span <label class="check"><input id="cache-varnish-compatible"
data-i18n="cacheVarnishCompatible">Varnish-compatible cache policy (recommended; enabled by default)</span></label> type="checkbox" /><span
data-i18n="cacheVarnishCompatible">Varnish-compatible cache policy
(recommended; enabled by default)</span></label>
<details class="metric-info cache-varnish-info"> <details class="metric-info cache-varnish-info">
<summary data-i18n-aria="cacheVarnishCompatibleInfoLabel" <summary data-i18n-aria="cacheVarnishCompatibleInfoLabel"
aria-label="Varnish-compatible cache behavior">i</summary> aria-label="Varnish-compatible cache behavior">i</summary>
<div class="metric-info-popover" role="note"> <div class="metric-info-popover" role="note">
<p class="fine" data-i18n="cacheVarnishCompatibleHelp">A browser Shift+F5 (no-cache, max-age=0 or Pragma: no-cache) uses a fresh cache HIT without replacing it or resetting Age.</p> <p class="fine" data-i18n="cacheVarnishCompatibleHelp">A browser
<p class="fine" data-i18n="cacheVarnishCompatibleSafeguards">Preserves client no-store, only-if-cached (504 on MISS; no origin contact or background refresh), min-fresh and max-stale (including max-stale=0 during grace); existing cookie rules, Authorization, Vary, PURGE/BAN, HOT/COLD and transformations stay active.</p> Shift+F5 (no-cache, max-age=0 or Pragma: no-cache) uses a fresh
<p class="fine" data-i18n="cacheVarnishCompatibleBackendHelp">Origin no-cache with a validator remains revalidatable. If an explicit fallback TTL is set, public no-cache responses may instead be reused for that TTL, even without a validator. Private/no-store/Set-Cookie and Surrogate-Control: no-store remain blocked. Zero-TTL objects may be retained for stale-if-error or revalidation; explicit stale-while-revalidate=0 is respected.</p> cache HIT without replacing it or resetting Age.</p>
<p class="fine" data-i18n="cacheVarnishCompatibleModeHelp">Implicit grace (60 seconds by default, configurable below) only applies to eligible fresh-at-storage responses without an explicit stale-while-revalidate directive. Off restores strict client reload semantics. Changing the mode invalidates existing cached objects. This is not full Varnish VCL emulation.</p> <p class="fine" data-i18n="cacheVarnishCompatibleSafeguards">Preserves
client no-store, only-if-cached (504 on MISS; no origin contact or
background refresh), min-fresh and max-stale (including max-stale=0
during grace); existing cookie rules, Authorization, Vary,
PURGE/BAN, HOT/COLD and transformations stay active.</p>
<p class="fine" data-i18n="cacheVarnishCompatibleBackendHelp">Origin
no-cache with a validator remains revalidatable. If an explicit
fallback TTL is set, public no-cache responses may instead be reused
for that TTL, even without a validator. Private/no-store/Set-Cookie
and Surrogate-Control: no-store remain blocked. Zero-TTL objects may
be retained for stale-if-error or revalidation; explicit
stale-while-revalidate=0 is respected.</p>
<p class="fine" data-i18n="cacheVarnishCompatibleModeHelp">Implicit
grace (60 seconds by default, configurable below) only applies to
eligible fresh-at-storage responses without an explicit
stale-while-revalidate directive. Off restores strict client reload
semantics. Changing the mode invalidates existing cached objects.
This is not full Varnish VCL emulation.</p>
</div> </div>
</details> </details>
</div> </div>
<div class="cache-varnish-grace-field"> <div class="cache-varnish-grace-field">
<label for="cache-varnish-grace" data-i18n="cacheVarnishGrace">Default grace (seconds, 0 = off)</label> <label for="cache-varnish-grace" data-i18n="cacheVarnishGrace">Default grace
<input id="cache-varnish-grace" type="number" min="0" max="604800" step="1" required /> (seconds, 0 = off)</label>
<input id="cache-varnish-grace" type="number" min="0" max="604800" step="1"
required />
</div> </div>
<div class="card soft-card cache-memory-sizing"> <div class="card soft-card cache-memory-sizing">
<div class="card-heading"> <div class="card-heading">
+111 -103
View File
@@ -85,8 +85,7 @@
--ui-check-size: 15px; --ui-check-size: 15px;
--ui-range-height: 18px; --ui-range-height: 18px;
--mono: ui-monospace, SFMono-Regular, Consolas, monospace; --mono: ui-monospace, SFMono-Regular, Consolas, monospace;
--sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
;
} }
html[data-theme=light] { html[data-theme=light] {
@@ -135,8 +134,7 @@ html[data-theme=light] {
--neutral-soft: rgba(70, 78, 72, .05); --neutral-soft: rgba(70, 78, 72, .05);
--scrollbar-track: #e7ece4; --scrollbar-track: #e7ece4;
--scrollbar-thumb: #a9b5a6; --scrollbar-thumb: #a9b5a6;
--scrollbar-thumb-hover: #879684 --scrollbar-thumb-hover: #879684;
;
} }
html:is([data-theme=light], [data-theme=cream]) { html:is([data-theme=light], [data-theme=cream]) {
@@ -1245,7 +1243,7 @@ button.is-saving {
} }
.nav span, .nav span,
.version { .version {
display: none; display: none;
} }
@@ -1270,7 +1268,7 @@ button.is-saving {
} }
.breadcrumb span, .breadcrumb span,
.login-footer span { .login-footer span {
margin: 0 5px; margin: 0 5px;
} }
@@ -1337,8 +1335,8 @@ button.is-saving {
} }
.chart-footer, .chart-footer,
.login-footer, .login-footer,
.page-footer { .page-footer {
font-size: 8px; font-size: 8px;
} }
@@ -2052,8 +2050,8 @@ td {
} }
.breadcrumb b, .breadcrumb b,
.nav span, .nav span,
.topbar .version { .topbar .version {
display: none; display: none;
} }
@@ -2157,7 +2155,7 @@ td {
} }
.outline, .outline,
.primary { .primary {
white-space: normal; white-space: normal;
} }
@@ -2493,8 +2491,8 @@ td {
} }
.vh-field input, .vh-field input,
.vh-field select, .vh-field select,
.vh-field textarea { .vh-field textarea {
font-size: 12px; font-size: 12px;
} }
} }
@@ -2514,16 +2512,14 @@ body[data-density=dense] {
--ui-gap: 4px; --ui-gap: 4px;
--ui-card: 7px; --ui-card: 7px;
--ui-font: 11.5px; --ui-font: 11.5px;
--ui-control: 25px --ui-control: 25px;
;
} }
body[data-density=comfortable] { body[data-density=comfortable] {
--ui-gap: 13px; --ui-gap: 13px;
--ui-card: 17px; --ui-card: 17px;
--ui-font: 14px; --ui-font: 14px;
--ui-control: 36px --ui-control: 36px;
;
} }
.shell { .shell {
@@ -3022,7 +3018,7 @@ html[data-button-style=compact] body {
} }
.edition, .edition,
.sidebar-bottom { .sidebar-bottom {
display: none; display: none;
} }
@@ -3084,8 +3080,8 @@ html[data-button-style=compact] body {
} }
.page-label, .page-label,
.page-source, .page-source,
.vh-header-row>:nth-child(3) { .vh-header-row>:nth-child(3) {
grid-column: 1/-1; grid-column: 1/-1;
} }
@@ -3368,7 +3364,7 @@ body[data-density=dense] .stat strong {
} }
.cache-toolbar select, .cache-toolbar select,
.cache-toolbar>* { .cache-toolbar>* {
max-width: 100%; max-width: 100%;
} }
@@ -3664,8 +3660,9 @@ dialog .window-heading {
} }
@media (max-width:640px) { @media (max-width:640px) {
.acl-rule, .acl-rule,
.basic-user { .basic-user {
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
} }
@@ -3879,12 +3876,12 @@ dialog .window-heading {
} }
.location-actions, .location-actions,
.location-toolbar { .location-toolbar {
align-items: stretch; align-items: stretch;
} }
.location-actions>button, .location-actions>button,
.location-toolbar>button { .location-toolbar>button {
flex: 1 1 150px; flex: 1 1 150px;
} }
@@ -4048,8 +4045,8 @@ dialog .window-heading {
} }
.location-preview-grid, .location-preview-grid,
.vh-header-row.is-remove .vh-header-rule-fields, .vh-header-row.is-remove .vh-header-rule-fields,
.vh-header-rule-fields { .vh-header-rule-fields {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
} }
@@ -4251,8 +4248,9 @@ dialog .window-heading {
} }
@media (max-width:720px) { @media (max-width:720px) {
.logging-grid, .logging-grid,
.traffic-chart-grid { .traffic-chart-grid {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
@@ -4420,9 +4418,9 @@ dialog .window-heading {
} }
#panel-notfound .card-heading, #panel-notfound .card-heading,
#panel-redirects .card-heading, #panel-redirects .card-heading,
#panel-vhosts .card-heading, #panel-vhosts .card-heading,
.backend-card-heading { .backend-card-heading {
align-items: stretch; align-items: stretch;
flex-direction: column; flex-direction: column;
} }
@@ -4433,8 +4431,8 @@ dialog .window-heading {
} }
#notfound-search, #notfound-search,
#redirect-search, #redirect-search,
#vhost-search { #vhost-search {
flex: 1 1 auto; flex: 1 1 auto;
width: auto; width: auto;
min-width: 0; min-width: 0;
@@ -4771,9 +4769,10 @@ dialog .window-heading {
} }
@media (max-width:900px) { @media (max-width:900px) {
.acl-profile-layout, .acl-profile-layout,
.logging-builder-layout, .logging-builder-layout,
.logging-format-actions { .logging-format-actions {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
@@ -4947,8 +4946,9 @@ dialog .window-heading {
} }
@media (max-width:760px) { @media (max-width:760px) {
.redirect-card .vhost-detail-strip, .redirect-card .vhost-detail-strip,
.redirect-rule .vh-grid { .redirect-rule .vh-grid {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
} }
@@ -5166,7 +5166,7 @@ dialog .window-heading {
} }
.protocol-toggle-row .check, .protocol-toggle-row .check,
.protocol-toggle-row .vh-check { .protocol-toggle-row .vh-check {
min-width: 0; min-width: 0;
} }
@@ -5457,18 +5457,18 @@ dialog .window-heading {
} }
.docker-health-grid, .docker-health-grid,
.docker-passive-health-editor .docker-health-grid, .docker-passive-health-editor .docker-health-grid,
.docker-route-grid { .docker-route-grid {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
.docker-passive-health-editor .docker-passive-5xx-warning, .docker-passive-health-editor .docker-passive-5xx-warning,
.docker-passive-health-editor .docker-passive-slow-warning { .docker-passive-health-editor .docker-passive-slow-warning {
grid-column: auto; grid-column: auto;
} }
.docker-agent-security, .docker-agent-security,
.docker-toolbar { .docker-toolbar {
align-items: flex-start; align-items: flex-start;
flex-direction: column; flex-direction: column;
} }
@@ -5632,15 +5632,17 @@ dialog .window-heading {
} }
@media (max-width:1000px) { @media (max-width:1000px) {
.docker-acl-grid, .docker-acl-grid,
.docker-timeout-grid { .docker-timeout-grid {
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
} }
} }
@media (max-width:760px) { @media (max-width:760px) {
.docker-acl-grid, .docker-acl-grid,
.docker-timeout-grid { .docker-timeout-grid {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
@@ -5878,8 +5880,9 @@ dialog .window-heading {
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.docker-publish-field .docker-publish, .docker-publish-field .docker-publish,
.docker-publish-field .docker-publish::before { .docker-publish-field .docker-publish::before {
transition: none; transition: none;
} }
} }
@@ -5939,8 +5942,8 @@ dialog .window-heading {
} }
.docker-service-editor>summary, .docker-service-editor>summary,
.docker-service-head-actions, .docker-service-head-actions,
.security-editor>summary { .security-editor>summary {
align-items: flex-start; align-items: flex-start;
flex-direction: column; flex-direction: column;
} }
@@ -6507,14 +6510,15 @@ body[data-density=compact] .page-footer {
} }
.docker-alias-field, .docker-alias-field,
.docker-switch-row { .docker-switch-row {
grid-column: 1/-1; grid-column: 1/-1;
} }
} }
@media (max-width:760px) { @media (max-width:760px) {
.docker-route-grid, .docker-route-grid,
.transform-diagnostics { .transform-diagnostics {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
@@ -6747,21 +6751,22 @@ body[data-density=compact] .page-footer {
} }
@media (max-width:700px) { @media (max-width:700px) {
#panel-tls .certificate-operation-heading, #panel-tls .certificate-operation-heading,
#panel-tls .certificate-subheading, #panel-tls .certificate-subheading,
#panel-tls .certificate-workspace-heading, #panel-tls .certificate-workspace-heading,
#panel-tls .renewal-entry-head { #panel-tls .renewal-entry-head {
align-items: stretch; align-items: stretch;
flex-direction: column; flex-direction: column;
} }
#panel-tls .certificate-subheading>button, #panel-tls .certificate-subheading>button,
#panel-tls .certificate-workspace-heading>button { #panel-tls .certificate-workspace-heading>button {
width: 100%; width: 100%;
} }
#panel-tls .certificate-tabs, #panel-tls .certificate-tabs,
#panel-tls .renewal-meta { #panel-tls .renewal-meta {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
@@ -7272,8 +7277,9 @@ body[data-density=compact] .page-footer {
} }
@media (max-width:760px) { @media (max-width:760px) {
.certificate-api-credential-row, .certificate-api-credential-row,
.network-interface-row-head { .network-interface-row-head {
align-items: flex-start; align-items: flex-start;
} }
@@ -7661,7 +7667,7 @@ button.config-history-day.is-selected {
} }
.mobile-menu-toggle:hover, .mobile-menu-toggle:hover,
.mobile-menu-toggle[aria-expanded=true] { .mobile-menu-toggle[aria-expanded=true] {
color: var(--rp-nav-active-color); color: var(--rp-nav-active-color);
border-color: var(--rp-nav-active-color); border-color: var(--rp-nav-active-color);
background: var(--rp-nav-active-bg); background: var(--rp-nav-active-bg);
@@ -8090,15 +8096,16 @@ button.config-history-day.is-selected {
} }
@media (max-width:700px) { @media (max-width:700px) {
.file-logs-heading-actions, .file-logs-heading-actions,
.file-logs-table-toolbar { .file-logs-table-toolbar {
align-items: stretch; align-items: stretch;
flex-wrap: wrap; flex-wrap: wrap;
} }
.file-log-column-picker .log-column-options, .file-log-column-picker .log-column-options,
.file-log-field, .file-log-field,
.file-logs-filter { .file-logs-filter {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
@@ -9115,9 +9122,10 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
@media (max-width:900px) { @media (max-width:900px) {
.acl-policy-custom-controls, .acl-policy-custom-controls,
.acl-policy-modes, .acl-policy-modes,
.acl-profile-layout { .acl-profile-layout {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
@@ -9127,14 +9135,15 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
@media (max-width:640px) { @media (max-width:640px) {
.acl-policy-preview-head, .acl-policy-preview-head,
.acl-policy-step-head { .acl-policy-step-head {
align-items: stretch; align-items: stretch;
flex-direction: column; flex-direction: column;
} }
.acl-policy-step-head>button, .acl-policy-step-head>button,
.acl-policy-switch { .acl-policy-switch {
width: 100%; width: 100%;
} }
} }
@@ -9364,7 +9373,7 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
overflow-y: auto; overflow-y: auto;
} }
.cache-varnish-info .metric-info-popover .fine + .fine { .cache-varnish-info .metric-info-popover .fine+.fine {
margin-top: 8px; margin-top: 8px;
} }
@@ -9536,13 +9545,14 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
@media (max-width:700px) { @media (max-width:700px) {
#file-log-view-counts, #file-log-view-counts,
#file-log-view-entries, #file-log-view-entries,
#panel-filelogs, #panel-filelogs,
#panel-filelogs .file-log-field-grid, #panel-filelogs .file-log-field-grid,
#panel-filelogs .file-logs-table, #panel-filelogs .file-logs-table,
#panel-filelogs .file-logs-table-toolbar, #panel-filelogs .file-logs-table-toolbar,
#panel-filelogs .file-logs-workspace { #panel-filelogs .file-logs-workspace {
box-sizing: border-box; box-sizing: border-box;
min-width: 0; min-width: 0;
max-width: 100%; max-width: 100%;
@@ -9577,7 +9587,7 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
#panel-filelogs .file-log-aggregate-form, #panel-filelogs .file-log-aggregate-form,
#panel-filelogs .file-logs-filter { #panel-filelogs .file-logs-filter {
grid-template-columns: minmax(0, 1fr); grid-template-columns: minmax(0, 1fr);
} }
@@ -9586,11 +9596,11 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
#panel-filelogs .file-log-aggregate-form input, #panel-filelogs .file-log-aggregate-form input,
#panel-filelogs .file-log-aggregate-form label, #panel-filelogs .file-log-aggregate-form label,
#panel-filelogs .file-log-aggregate-form select, #panel-filelogs .file-log-aggregate-form select,
#panel-filelogs .file-logs-filter input, #panel-filelogs .file-logs-filter input,
#panel-filelogs .file-logs-filter label, #panel-filelogs .file-logs-filter label,
#panel-filelogs .file-logs-filter select { #panel-filelogs .file-logs-filter select {
min-width: 0; min-width: 0;
max-width: 100%; max-width: 100%;
} }
@@ -9619,7 +9629,7 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
#panel-filelogs .file-logs-table table, #panel-filelogs .file-logs-table table,
#panel-filelogs .file-logs-table tbody { #panel-filelogs .file-logs-table tbody {
display: block; display: block;
width: 100%; width: 100%;
min-width: 0; min-width: 0;
@@ -9671,9 +9681,9 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
#panel-filelogs .file-logs-table td[data-mobile-column=event], #panel-filelogs .file-logs-table td[data-mobile-column=event],
#panel-filelogs .file-logs-table td[data-mobile-column=status], #panel-filelogs .file-logs-table td[data-mobile-column=status],
#panel-filelogs .file-logs-table td[data-mobile-column=time], #panel-filelogs .file-logs-table td[data-mobile-column=time],
#panel-filelogs .file-logs-table td[data-mobile-column=vhost] { #panel-filelogs .file-logs-table td[data-mobile-column=vhost] {
color: var(--muted); color: var(--muted);
font-size: 11px; font-size: 11px;
} }
@@ -9780,7 +9790,7 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
#panel-filelogs .file-logs-table td[data-mobile-column=time], #panel-filelogs .file-logs-table td[data-mobile-column=time],
#panel-filelogs .file-logs-table td[data-mobile-column=vhost] { #panel-filelogs .file-logs-table td[data-mobile-column=vhost] {
grid-column: 1/-1; grid-column: 1/-1;
} }
@@ -10142,7 +10152,7 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
#panel-overview .dashboard-overview-grid>.card:not(.pool-card), #panel-overview .dashboard-overview-grid>.card:not(.pool-card),
#panel-overview .dashboard-overview-grid>.stat { #panel-overview .dashboard-overview-grid>.stat {
grid-column: span 2; grid-column: span 2;
} }
} }
@@ -10467,7 +10477,7 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
} }
#panel-overview .dashboard-overview-grid.is-aligned>.card.overview-wide-chart, #panel-overview .dashboard-overview-grid.is-aligned>.card.overview-wide-chart,
#panel-overview .dashboard-overview-grid.is-aligned>.pool-card { #panel-overview .dashboard-overview-grid.is-aligned>.pool-card {
grid-column: 1/-1; grid-column: 1/-1;
} }
} }
@@ -11437,7 +11447,7 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
} }
#panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="12"], #panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="12"],
#panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="6"] { #panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="6"] {
grid-column: 1/-1; grid-column: 1/-1;
} }
} }
@@ -11448,10 +11458,10 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
} }
#panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="12"], #panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="12"],
#panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="2"]:not(.stat), #panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="2"]:not(.stat),
#panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="3"], #panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="3"],
#panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="4"], #panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="4"],
#panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="6"] { #panel-overview .dashboard-overview-grid.is-aligned>[data-dashboard-widget][data-dashboard-span="6"] {
grid-column: 1/-1; grid-column: 1/-1;
} }
} }
@@ -12220,13 +12230,14 @@ html[data-dashboard-density=ultra] #panel-overview .stat-cache-outcomes .cache-m
} }
@media (max-width:760px) { @media (max-width:760px) {
.docker-acl-grid .docker-profile-field, .docker-acl-grid .docker-profile-field,
.docker-agent-grid .docker-profile-field { .docker-agent-grid .docker-profile-field {
grid-column: auto; grid-column: auto;
} }
.docker-agent-summary>span, .docker-agent-summary>span,
.docker-fingerprint { .docker-fingerprint {
width: 100%; width: 100%;
} }
@@ -12386,7 +12397,7 @@ html[data-dashboard-density=ultra] #panel-overview .stat-cache-outcomes .cache-m
} }
.vh-certificate-select-row>.vh-field, .vh-certificate-select-row>.vh-field,
.vh-certificate-select-row>button { .vh-certificate-select-row>button {
flex: 0 1 auto; flex: 0 1 auto;
width: 100%; width: 100%;
} }
@@ -12434,14 +12445,15 @@ html[data-dashboard-density=ultra] #panel-overview .stat-cache-outcomes .cache-m
} }
@media (max-width:600px) { @media (max-width:600px) {
.stream-backend-section, .stream-backend-section,
.web-service-setting-section { .web-service-setting-section {
padding: 10px; padding: 10px;
} }
.stream-backend-section>.vh-grid, .stream-backend-section>.vh-grid,
.stream-health-probe-fields, .stream-health-probe-fields,
.web-service-setting-section>.vh-grid { .web-service-setting-section>.vh-grid {
grid-template-columns: minmax(0, 1fr); grid-template-columns: minmax(0, 1fr);
} }
} }
@@ -12536,7 +12548,7 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
} }
.docker-service-meta b, .docker-service-meta b,
.docker-service-meta span { .docker-service-meta span {
overflow-wrap: anywhere; overflow-wrap: anywhere;
} }
@@ -12578,7 +12590,7 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
gap: 6px; gap: 6px;
} }
.docker-service-quick-actions > * { .docker-service-quick-actions>* {
flex: 0 0 auto; flex: 0 0 auto;
} }
@@ -12597,17 +12609,13 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
} }
} }
html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-style=rounded], [data-corner-style=extra]) :is( html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-style=rounded], [data-corner-style=extra]) :is(.nav, .file-log-tab, .vhost-backend-trigger, .backend-column-options,
.nav, .file-log-tab, .vhost-backend-trigger, .backend-column-options, .docker-service-quick-actions a, .docker-service-quick-actions button,
.docker-service-quick-actions a, .docker-service-quick-actions button, .docker-view-toggle, .provider-picker, .renewal-meta-item) {
.docker-view-toggle, .provider-picker, .renewal-meta-item
) {
border-radius: var(--rp-radius-control) !important; border-radius: var(--rp-radius-control) !important;
} }
html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-style=rounded], [data-corner-style=extra]) :is( html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-style=rounded], [data-corner-style=extra]) :is(.backend-column-options, .renewal-meta-item) {
.backend-column-options, .renewal-meta-item
) {
border-radius: var(--rp-radius-surface) !important; border-radius: var(--rp-radius-surface) !important;
} }
@@ -12655,4 +12663,4 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
.backend-column-options { .backend-column-options {
grid-template-columns: minmax(0, 1fr); grid-template-columns: minmax(0, 1fr);
} }
} }