docs+portal: polish architecture smoke and screenshot
This commit is contained in:
@@ -100,7 +100,8 @@ hostname, логинов, сотрудников, подразделений з
|
|||||||
[безопасность](docs/screenshots/03-security-view.png),
|
[безопасность](docs/screenshots/03-security-view.png),
|
||||||
[эксплуатация](docs/screenshots/04-operations-view.png),
|
[эксплуатация](docs/screenshots/04-operations-view.png),
|
||||||
[пакет расследования](docs/screenshots/05-investigation-pack.png),
|
[пакет расследования](docs/screenshots/05-investigation-pack.png),
|
||||||
[итоговый отчет](docs/screenshots/06-markdown-report.png).
|
[итоговый отчет](docs/screenshots/06-markdown-report.png),
|
||||||
|
[архитектура продукта](docs/screenshots/07-product-architecture.png).
|
||||||
|
|
||||||
### Главный вывод
|
### Главный вывод
|
||||||
|
|
||||||
@@ -144,6 +145,14 @@ hostname, логинов, сотрудников, подразделений з
|
|||||||
Markdown-отчет собирает главный вывод, риски подразделений, материалы
|
Markdown-отчет собирает главный вывод, риски подразделений, материалы
|
||||||
расследований и рекомендации в формате, удобном для передачи руководителю.
|
расследований и рекомендации в формате, удобном для передачи руководителю.
|
||||||
|
|
||||||
|
### Архитектура продукта
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Страница `/portal/architecture` показывает текущие компоненты, planned
|
||||||
|
extensions и future-направления без создания новых API или фиктивных
|
||||||
|
collectors.
|
||||||
|
|
||||||
## Если дашборд пустой
|
## Если дашборд пустой
|
||||||
|
|
||||||
Обычно это значит одно из трех: выбран слишком узкий период времени, рабочий компьютер давно не присылал события или временно не обновилась витрина в Grafana. Начните с периода `Last 24 hours`, затем переходите к техническим разделам ниже.
|
Обычно это значит одно из трех: выбран слишком узкий период времени, рабочий компьютер давно не присылал события или временно не обновилась витрина в Grafana. Начните с периода `Last 24 hours`, затем переходите к техническим разделам ниже.
|
||||||
|
|||||||
@@ -81,12 +81,14 @@ body.security-mode {
|
|||||||
body.security-mode .small-button,
|
body.security-mode .small-button,
|
||||||
body.security-mode a.button,
|
body.security-mode a.button,
|
||||||
body.security-mode .tab,
|
body.security-mode .tab,
|
||||||
|
body.security-mode .nav-link,
|
||||||
body.security-mode .control-strip select {
|
body.security-mode .control-strip select {
|
||||||
background: #111827;
|
background: #111827;
|
||||||
color: var(--ink);
|
color: var(--ink);
|
||||||
}
|
}
|
||||||
|
|
||||||
body.security-mode .tab.is-active {
|
body.security-mode .tab.is-active,
|
||||||
|
body.security-mode .nav-link.is-active {
|
||||||
background: #0f2a3a;
|
background: #0f2a3a;
|
||||||
color: var(--link);
|
color: var(--link);
|
||||||
}
|
}
|
||||||
@@ -219,7 +221,8 @@ h1 {
|
|||||||
gap: 6px;
|
gap: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab {
|
.tab,
|
||||||
|
.nav-link {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
@@ -229,36 +232,26 @@ h1 {
|
|||||||
font: inherit;
|
font: inherit;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab.is-active {
|
.nav-link {
|
||||||
|
display: block;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab.is-active,
|
||||||
|
.nav-link.is-active {
|
||||||
border-color: rgba(37, 99, 235, 0.7);
|
border-color: rgba(37, 99, 235, 0.7);
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background: #1d4ed8;
|
background: #1d4ed8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab:hover {
|
.tab:hover,
|
||||||
background: rgba(148, 163, 184, 0.14);
|
.nav-link:hover {
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-link {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
background: transparent;
|
|
||||||
color: #cbd5e1;
|
|
||||||
border-radius: 8px;
|
|
||||||
padding: 11px 12px;
|
|
||||||
font: inherit;
|
|
||||||
font-weight: 700;
|
|
||||||
text-align: left;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-link:hover,
|
|
||||||
.nav-link.is-active {
|
|
||||||
background: rgba(148, 163, 184, 0.14);
|
background: rgba(148, 163, 184, 0.14);
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -284,3 +284,19 @@ node scripts/detmir-portal-tabs-smoke.mjs
|
|||||||
```
|
```
|
||||||
|
|
||||||
Тест проверяет все вкладки, настройки только для чтения и переход от риска к расследованию.
|
Тест проверяет все вкладки, настройки только для чтения и переход от риска к расследованию.
|
||||||
|
|
||||||
|
Проверка страницы архитектуры и CSS:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
DETMIR_PORTAL_SMOKE_URL=http://127.0.0.1:8720/portal/ node scripts/detmir-portal-tabs-smoke.mjs
|
||||||
|
curl -fsS http://127.0.0.1:8720/portal/architecture | grep -E 'Rust Agent|PowerShell Provider|implemented|planned|future'
|
||||||
|
rg -n '[0-9]+ (px|fr|rem|em|%)' adk-rust/crates/detmir-portal/src/static/app.css || true
|
||||||
|
```
|
||||||
|
|
||||||
|
Ожидаемый результат:
|
||||||
|
|
||||||
|
- `/portal/architecture` возвращает `200`;
|
||||||
|
- страница содержит `Rust Agent`, `PowerShell Provider`, `implemented`,
|
||||||
|
`planned`, `future`;
|
||||||
|
- команда `rg` не находит разорванные CSS-единицы вида `1 px`, `8 px`,
|
||||||
|
`1 fr`.
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 211 KiB |
@@ -26,6 +26,7 @@
|
|||||||
- [Представление эксплуатации](../screenshots/04-operations-view.png)
|
- [Представление эксплуатации](../screenshots/04-operations-view.png)
|
||||||
- [Пакет расследования](../screenshots/05-investigation-pack.png)
|
- [Пакет расследования](../screenshots/05-investigation-pack.png)
|
||||||
- [Итоговый отчет](../screenshots/06-markdown-report.png)
|
- [Итоговый отчет](../screenshots/06-markdown-report.png)
|
||||||
|
- [Архитектура продукта](../screenshots/07-product-architecture.png)
|
||||||
|
|
||||||
## Простая расшифровка
|
## Простая расшифровка
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user