PapaTramp
d95b93992d
fix: parse Disc qwinsta rows so RDG flap auto-logoff works (0.5.14)
...
Empty SESSIONNAME broke session matching; auto-disconnect failed with 'No matching Windows session'.
2026-07-14 10:32:17 +10:00
PapaTramp
d20517804d
docs: rdp.session.logoff is workstation-only (agent 2.1.12-SAC)
2026-07-13 17:36:31 +10:00
PapaTramp
91bd6afd1f
fix: start sac-api via /usr/bin/bash to avoid systemd 203/EXEC
...
ExecStart no longer relies on shebang when CRLF slips into deploy scripts.
sac-deploy strips CR from all deploy/*.sh and waits for active before health check.
2026-07-13 17:29:28 +10:00
PapaTramp
dd2356cf04
fix: LF line endings in deploy shell scripts (systemd 203/EXEC)
...
CRLF in sac-api-start.sh shebang broke sac-api with status=203/EXEC on Linux.
Add .gitattributes for *.sh and strip CR in sac-deploy before chmod.
2026-07-13 17:23:58 +10:00
PapaTramp
3475c1811b
fix: platform-specific placeholder in agent update log modal (v0.5.13)
...
Windows WinRM updates no longer show the Linux /var/log/update_script.log hint while output is still empty.
2026-07-13 17:18:49 +10:00
PapaTramp
91be282ec6
feat: close rdp.login.success on rdp.session.logoff (v0.5.12)
...
Ingest correlates direct RDP logoff with open login events on the same host and user. Terminate-session treats missing qwinsta as already logged off.
2026-07-13 17:10:24 +10:00
PapaTramp
310e7f699d
fix: ignore stale SSH update job until running or session start (v0.5.10)
...
Modal finish only after sawRunning or started_at after sessionOpenedAt, so a previous success no longer closes the window instantly while SAC updater is still running on the host.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-08 15:05:56 +10:00
PapaTramp
e7d5b1c60b
fix: SSH update modal polls locally, collapsed log by default (v0.5.9)
...
Modal owns job poll and completion UI with countdown; log hidden until user clicks Показать лог; db.refresh on remote-job; cache-bust poll requests.
2026-07-08 14:48:31 +10:00
PapaTramp
69fac2f26e
fix: live SSH update log re-renders in modal (v0.5.7)
...
Remove cached openLogs computed that blocked Vue updates to output/loading; preserve log tail on empty poll; auto-scroll log panel.
2026-07-08 14:41:14 +10:00
PapaTramp
c222dd7d41
fix: SSH update log modal shows completion and full tail (v0.5.6)
...
Fetch final update_script.log tail after agent-update, update title/message on success, show log by default; auto-close after 30s unchanged.
2026-07-08 14:26:28 +10:00
PapaTramp
6565b7d679
docs: mark ssh-monitor 4.2 ingest backlog items done
...
Shutdown sac-fail.count suppress and SAC_TIMEOUT_SEC docs shipped in ssh-monitor 2.3.2-SAC.
2026-07-08 14:12:40 +10:00
PapaTramp
b148b558c3
feat: ingest burst hardening — defer lifecycle/auth, workers, nginx (v0.5.5)
...
Defer notify_lifecycle and notify_auth_login after commit; SAC_UVICORN_WORKERS via sac-api-start.sh; nginx /api/v1/events timeout; mass-update confirm in Hosts UI.
2026-07-08 13:16:13 +10:00
PapaTramp
1ad01534f1
fix: remote job stuck after SSH update completes (v0.5.4)
...
Treat agent_update_state as source of truth for active job; poll log thread no longer overwrites finished status.
2026-07-08 12:30:14 +10:00
PapaTramp
253b80c500
fix: suppress sudo Telegram during SAC agent update (v0.5.3)
2026-07-08 12:23:29 +10:00
PapaTramp
f569293d52
fix: hide update log when user clicks Скрыть лог
2026-07-08 12:07:19 +10:00
PapaTramp
d47131cd9f
feat: live update log in UI and suppress lifecycle Telegram during SAC update
...
Poll remote update_script.log while SSH update runs; skip lifecycle notify
when host agent_update_state is running (SAC v0.5.1).
2026-07-08 11:46:53 +10:00
PapaTramp
1639261cde
docs: backlog for ingest resilience during mass agent updates
...
Operational and code TODOs from mass SSH-update incident; does not
block ssh-monitor phase 2.2.0.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-08 11:28:57 +10:00
PapaTramp
fa1bd41c92
fix: sac-deploy validate sac-api.env without bash source
...
Preflight pydantic parse catches inline comments in env values; alembic
and stale remote_action reset use SAC_CONFIG_FILE. Document env format
and ssh_known_hosts in runbook.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-08 10:21:49 +10:00
PapaTramp
3cabf12f68
fix: SAC-first ssh-monitor update (UPDATE_VIA_SAC, bootstrap --deploy)
...
Pass UPDATE_VIA_SAC to the remote updater and run bootstrap with --deploy
so Linux hosts need only the SAC update button after initial config.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-08 09:44:24 +10:00
PapaTramp
9bfc5e23f7
fix: harden push-github-snapshot.sh for macOS and secret scan
...
Strip BOM, skip self-sanitization, replace default DB password in mirror,
and simplify pre-push scan to private keys only.
2026-07-07 19:46:26 +10:00
PapaTramp
9e43de6fc1
chore: release SAC 0.5.0
...
Bump version, document security hardening in README, add github snapshot
push script with URL/login/IP sanitization for public mirror.
2026-07-07 19:44:08 +10:00
PapaTramp
80320ae698
fix: harden SAC security per audit (0.4.15)
...
Close audit findings: anti-spoof client IP for login rate limit, JWT/CORS
enforce on startup, SSH host-key verification and sudo via stdin, optional
WinRM HTTPS, SSE httpOnly cookie auth, ingest body limit, ILIKE escaping,
and HMAC API key hashing with legacy SHA-256 fallback.
2026-07-07 19:32:12 +10:00
PapaTramp
939fe122c5
fix: WinRM RDP bundle staging in %TEMP% (0.4.14)
...
Move zip download and extract to user TEMP to avoid ProgramData access denied on DCs. Improve WinRM ERROR line parsing and add optional SAC_AGENT_BUNDLE_BASE_URL for LAN clients.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 12:11:54 +10:00
PapaTramp
c72e510fb0
fix: defer daily report push и увеличить pool БД (0.4.12)
...
FCM/каналы для report.daily.* после commit ingest (BackgroundTasks);
SAC_DB_POOL_SIZE=15, SAC_DB_MAX_OVERFLOW=25 для штурма 09:00.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 12:00:37 +10:00
PapaTramp
6c43b8637e
fix: dedupe host_silence problems under concurrent scans (0.4.11)
...
Treat acknowledged as active, dedupe by hostname, add PostgreSQL advisory lock and a unique index. Migration closes existing duplicate open problems.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-03 09:05:28 +10:00
PapaTramp
3765d4d476
feat: RDP flap auto-disconnect and hide break button after reconnect (0.4.10)
...
Add optional auto logoff of stuck sessions on RDG flap and direct RDP failure. Hide the RDS break button on old flap 302 when the user later reconnects or the workstation session is closed.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-02 16:50:03 +10:00
PapaTramp
10ae670962
fix: prevent duplicate host_silence problems per host (0.4.8)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-30 09:12:10 +10:00
PapaTramp
daeb7e965d
fix: skip alerts for hidden event types, show them on host card (0.4.7)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-29 15:16:10 +10:00
PapaTramp
606bf53019
feat: close workstation login on RDG 303 disconnect (0.4.6)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 08:16:06 +10:00
PapaTramp
fd1be5e7e4
feat: manual host add from Hosts list via WinRM/SSH (0.4.5)
...
Add host button probes Windows by hostname or Linux by IP, registers host in SAC and deploys agent in background.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 15:34:12 +10:00
PapaTramp
5a7909bb55
fix: clear stale remote actions on sac-api startup (0.4.4)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 10:44:53 +10:00
PapaTramp
86fd400f0b
fix: reset stale remote agent updates after sac-api restart (0.4.3)
...
Clear zombie running jobs on deploy and add admin API to cancel a stuck job.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 10:43:31 +10:00
PapaTramp
dd2ae51b43
feat: parallel agent upgrades with per-host log panels (0.4.2)
...
Allow multiple remote update jobs at once; each upgrade gets its own
bottom-right log dock that auto-closes 30s after success.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 10:22:31 +10:00
PapaTramp
719d5c5719
feat: login IP whitelist, blocks UI and fail2ban sync (0.4.1)
...
Admin settings for web login whitelist, blocked IP list with unblock,
and optional fail2ban ignoreip sync for SSH jail.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 10:06:10 +10:00
PapaTramp
bda02f67eb
ui: grey out other upgrade arrows while host update runs (0.4.0)
...
Show inactive grey arrows on other hosts during a single remote agent update; bump SAC to 0.4.0.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-24 15:44:31 +10:00
PapaTramp
9053ef0588
feat: one-click agent upgrade from hosts list (0.3.9)
...
Add Omada-style git version arrow in the agent version column to trigger WinRM/SSH background updates, and soften host detail live refresh with debounced incremental event patches.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-24 15:32:09 +10:00
PapaTramp
0601aafd2d
fix: hide ????????? after session terminate (0.3.8)
...
Persist session_terminated in event details, expose in API, and update Events/Dashboard UI.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-24 14:45:33 +10:00
PapaTramp
8b3e43f30d
fix: event terminate-session 500 on rdp.login.success (0.3.7)
...
Use extract_event_actor_user instead of missing ORM field; map WinRM/SSH errors to HTTP 400.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-24 14:37:37 +10:00
PapaTramp
6330f31162
docs: sync README version lines with APP_VERSION 0.3.6
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-24 14:14:43 +10:00
PapaTramp
b47cbf03c5
ui: remove duplicate SAC version from overview page
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 16:35:45 +10:00
PapaTramp
407ef37004
fix: strict RDG 302/303 IP pairing keeps break button visible (0.3.6)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 16:30:16 +10:00
PapaTramp
64b942447b
fix: reconcile daily report active users count and list (0.3.5)
...
Normalize empty-session placeholders; sync stats with report body after ingest.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 14:41:47 +10:00
PapaTramp
8b52c5fe3c
fix: show RDS break only on active or flap 302 events (0.3.4)
...
Hide Obryv RDS on 303 and on 302 after normal session end; keep for open sessions and RDG flap.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 20:15:47 +10:00
PapaTramp
fbd213f323
chore: bump npm dompurify and vite for audit fixes (0.3.3)
...
dompurify 3.4.11, vite 6.4.3 — npm audit reports 0 vulnerabilities.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 20:13:43 +10:00
PapaTramp
1b96a3b2c7
fix: RDG event label and prefix type filter (0.3.2)
...
Use event 302/303 instead of Win302 in RDG titles. Match event types by prefix in events list (e.g. rdg.connection).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 20:07:22 +10:00
PapaTramp
24ca87a47a
feat: RDG 302/303 display path labels and RDS session break (0.3.1)
...
Show RDS access via RDG-Comp or Haproxy-RDG-Comp, enable qwinsta/logoff on any RDG event with internal_ip.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 19:52:22 +10:00
PapaTramp
4eb41608ea
chore: release SAC 0.3.0
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 16:07:54 +10:00
PapaTramp
6e3f0ede4d
fix(backend): loginctl JSON parse and filter ephemeral SSH sessions (0.20.34)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 16:00:02 +10:00
PapaTramp
fe818e9946
feat(frontend): terminate session button on Overview recent events (0.20.33)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 15:44:49 +10:00
PapaTramp
5e26834e16
feat(frontend): git agent versions plate on Hosts list (0.20.32)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 15:17:47 +10:00
PapaTramp
54c1d96933
fix(backend): non-login SSH and strict loginctl parse, SSH retry (0.20.31)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 10:54:56 +10:00
PapaTramp
a51a585b14
fix(frontend): restore host config/sessions row column flex
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 10:31:48 +10:00
PapaTramp
fc66b57e78
fix(frontend): match sessions panel height to agent config until loaded (0.20.30)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 10:31:38 +10:00
PapaTramp
ad2425b0ff
fix(frontend): place host sessions panel beside agent config (0.20.29)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 10:22:20 +10:00
PapaTramp
d848d94604
feat: host session list/terminate and event session actions (0.20.28)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 10:13:42 +10:00
PapaTramp
ca0255e13b
fix(frontend): live refresh Events list via SSE (0.20.27)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 09:11:19 +10:00
PapaTramp
d96d9d6333
fix(frontend): remove UTF-8 BOM from package.json — breaks vite build (0.20.26)
...
PostCSS config load failed with SyntaxError at position 0 on Linux deploy.
2026-06-21 20:50:13 +10:00
PapaTramp
7397ec30cd
fix(winrm): resolve System32 path for cmd test on minimal PATH (0.20.25)
...
WinRM run_cmd(hostname) failed on hosts where System32 is not in PATH.
2026-06-21 20:49:01 +10:00
PapaTramp
75eec35365
fix(frontend): auto-close WinRM update success panel after 30s (0.20.24)
2026-06-21 20:41:57 +10:00
PapaTramp
b3d28cd5d8
fix(frontend): auto-close WinRM update success panel after 30s (0.20.24)
...
Remote action log dock closes on successful fallback; no duplicate inline message.
2026-06-21 20:41:42 +10:00
PapaTramp
5bd1333928
fix(frontend): remove UTF-8 BOM from package.json — breaks vite build
...
PostCSS config load failed with SyntaxError at position 0 on Linux deploy.
2026-06-21 20:19:42 +10:00
PapaTramp
bf7c83c408
feat: hide event types from SAC UI via Settings checkbox (0.20.23)
...
Per-type «Показывать в событиях» in severity settings; filters lists, dashboard, hosts, and problems.
2026-06-21 20:13:40 +10:00
PapaTramp
87ac1e09b0
fix: widen remote action log panel and wrap long WinRM output (0.20.22)
2026-06-21 11:30:37 +10:00
PapaTramp
8adaf3bfd3
fix: WinRM update panel no longer blocks SAC navigation (0.20.21)
2026-06-21 11:07:28 +10:00
PapaTramp
8a451a0c49
fix: alembic 022 down_revision must be 021 not 021_agent_git_release (0.20.20)
2026-06-21 11:04:07 +10:00
PapaTramp
5635be1322
feat: background remote agent updates survive SAC navigation (0.20.19)
2026-06-21 11:01:26 +10:00
PapaTramp
d7bbcc5337
docs: WinRM RDP update flow and SAC 0.20.18 deployment notes
...
Обновлены README и руководства по fallback WinRM (git→zip→клиент), SAC_PUBLIC_URL и краткому 502 при деплое.
2026-06-20 20:03:57 +10:00
PapaTramp
f3a8952947
fix: friendly 502 handling, 2 uvicorn workers, file bundle cache (0.20.18)
2026-06-20 20:01:46 +10:00
PapaTramp
4d9a9e7e2b
fix: decode WinRM Cyrillic from CP866 and show deploy.log UTF-8 (0.20.17)
2026-06-20 19:58:54 +10:00
PapaTramp
9484160045
fix: UTF-8 BOM in RDP bundle zip for Russian Windows PowerShell (0.20.16)
2026-06-20 19:54:12 +10:00
PapaTramp
6acbfe22de
fix: deliver RDP bundle via SAC HTTP zip download, not WinRM chunks (0.20.15)
2026-06-20 19:51:45 +10:00
PapaTramp
ca90f5c296
fix: SAC pushes RDP bundle from git via WinRM, no client git (0.20.14)
2026-06-20 19:49:20 +10:00
PapaTramp
191fb4e2cf
fix: WinRM RDP update only via git clone on client (0.20.13)
2026-06-20 19:46:22 +10:00
PapaTramp
8c1a8fddb1
fix: WinRM RDP update via NETLOGON Deploy, git fallback (0.20.12)
2026-06-20 19:43:34 +10:00
PapaTramp
05408e17c3
fix: WinRM RDP update via run_ps, strip CLIXML noise (0.20.11)
2026-06-20 19:41:05 +10:00
PapaTramp
d3517a5706
fix: WinRM RDP update PowerShell quoting via EncodedCommand (0.20.10)
...
Broken -Command quotes caused ParserError on remote hosts; run deploy script through base64-encoded PowerShell.
2026-06-20 19:35:57 +10:00
PapaTramp
2c2f78eba9
fix: show host action log modal immediately on SSH/WinRM update (0.20.9)
...
Open progress dialog when agent update starts so long-running remote scripts do not look frozen.
2026-06-20 19:34:12 +10:00
PapaTramp
ec5ec62240
fix: enforce SAC git URL when updating ssh-monitor agents (0.20.8)
...
Pass REPO_URL/GIT_BRANCH from agent settings over SSH, preflight git remotes on stale hosts, and stop using GitHub origin on routers.
2026-06-20 19:28:14 +10:00
PapaTramp
115289ef35
fix: show logoff actions in RDG qwinsta modal (0.20.7)
...
Put session table before raw output, add manual session ID logoff, improve qwinsta line parsing.
2026-06-20 19:20:52 +10:00
PapaTramp
fc9d630263
docs: refresh README; allow monitor JWT for RDG qwinsta/logoff (0.20.6)
...
Update platform docs for current features; Seaca and web operators with
monitor role can trigger WinRM actions via SAC API.
2026-06-20 19:02:58 +10:00
PapaTramp
01d72d0f68
fix: show RDG flap badge on 302 and 303 events in SAC UI (0.20.5)
...
Seaca surfaced flap via Problems; the web UI only flagged 303 in DB and had
no visible label. Resolve flap pairs at read time and show badge plus qwinsta
on both sides of 302→303.
2026-06-20 17:27:41 +10:00
PapaTramp
a35e50ccd1
feat: qwinsta/logoff buttons on events list and detail (0.20.4)
...
RDG flap actions were only on the dashboard; add shared composable and
modal so operators can reset stuck sessions from События and event detail.
2026-06-20 17:24:16 +10:00
PapaTramp
34a1670ea9
fix: nginx proxy timeout for long SSH/WinRM agent actions (0.20.3)
...
Raise proxy_read_timeout to 960s for agent-update and related API paths so bootstrap git clone does not hit 504 from nginx.
2026-06-20 17:12:31 +10:00
PapaTramp
c21043d845
feat: bootstrap ssh-monitor updater when missing on host (0.20.2)
...
SAC now clones the ssh-monitor repo and installs update_ssh_monitor.sh before running the update when the remote updater script is absent.
2026-06-20 17:01:06 +10:00
PapaTramp
07b97bd111
fix: inline git test feedback and use form URLs (0.20.1)
...
Show git check result next to the button, scroll into view, and test unsaved repo URLs from the form.
2026-06-20 16:29:48 +10:00
PapaTramp
f411d8f070
feat: git-based agent version reference and unified outdated badge (0.20.0)
...
SAC reads latest RDP/ssh-monitor versions from configured git repos for outdated detection, update targets, and settings test-git.
2026-06-20 16:25:53 +10:00
PapaTramp
d820d941c1
fix: hide SSH/WinRM test feedback after 30s (0.12.1)
...
WinRM success message now auto-hides like SSH; both use 30 second timeout instead of 60.
2026-06-20 15:57:15 +10:00
PapaTramp
cd2f27792d
feat: agent updates from SAC, poll config, SSH/WinRM fallback (0.12.0)
...
Add agent update settings, pending self-update via poll, desired config per host, and automatic or manual SSH/WinRM fallback when agents do not report agent.update events.
2026-06-20 15:52:10 +10:00
PapaTramp
75f4c475df
feat: RDG qwinsta/logoff via WinRM on client workstation (0.11.6)
...
SAC resolves internal_ip to a registered Windows host and runs qwinsta/logoff synchronously over WinRM instead of queueing commands to the gateway agent.
2026-06-20 15:36:12 +10:00
PapaTramp
2eb06acb5b
feat: SSH card UX, agent version sync, persistent ssh_admin_ok (0.11.5)
...
Silent SSH probe on host card open; manual test feedback auto-hides. Persist ssh_admin_ok in DB (migration 019). After agent update read version from host and refresh UI.
2026-06-20 01:01:56 +10:00
PapaTramp
6fea8262fb
fix: skip invalid/unresolvable SSH targets before connect (0.11.2)
...
Do not use human display_name as SSH host; skip short names that do not resolve on SAC (ubabuba -> IPv4 only).
2026-06-20 00:39:29 +10:00
PapaTramp
2e839e0b16
fix: SSH sudo without TTY for non-root Linux admin (0.11.1)
...
Probe commands run without sudo; privileged update uses sudo -S. Add SSH connect and Linux admin API tests.
2026-06-20 00:36:12 +10:00
PapaTramp
cc8f50de89
feat: Linux SSH admin and remote ssh-monitor update (0.11.0)
2026-06-20 00:25:35 +10:00
PapaTramp
279ea925a8
fix: WinRM try host.hostname first like Enter-PSSession (0.10.4)
2026-06-20 00:13:02 +10:00
PapaTramp
c8e3eef9d7
fix: WinRM NTLM username normalize and hostname-first targets (0.10.3)
2026-06-20 00:10:52 +10:00
PapaTramp
2fe492b06b
fix: WinRM read_timeout must exceed operation_timeout (0.10.2)
2026-06-20 00:06:26 +10:00
PapaTramp
154ba3efc2
feat: Windows admin in Settings UI and WinRM host test (0.10.1)
...
Store domain admin in ui_settings (DB overrides env); qwinsta/logoff use effective config.
Host card: POST /hosts/{id}/actions/winrm-test via pywinrm.
2026-06-20 00:01:17 +10:00
PapaTramp
df4c93d243
chore: release 0.10.0 (agent control plane phase 1)
...
Minor release: RDG flap, qwinsta/logoff queue, dashboard UI, agent poll API.
2026-06-19 23:42:03 +10:00
PapaTramp
db95be39f3
docs: agent poll contract for RDP 2.0.39-SAC
2026-06-19 23:38:02 +10:00
PapaTramp
2aec488226
feat: RDG session flap rule, qwinsta/logoff queue and dashboard UI (0.9.13)
...
Detect 302→303 within 1–10s, Problem with 30s dedup, rdg_flap flag.
Agent command poll API, admin qwinsta/logoff from Overview. Migration 016.
2026-06-19 23:34:01 +10:00
PapaTramp
b328d32f97
docs: agent control plane concept (v0.9.12)
...
Утверждённая концепция v0.7: RDG flap, qwinsta/logoff, обновления
агентов и desired config. Только документация и bump версии — runtime
без изменений.
2026-06-19 23:25:54 +10:00
PapaTramp
308e075f35
merge: sync github roadmap with kalinamall 0.9.11
2026-06-19 22:34:14 +10:00
PapaTramp
63cc2954af
Update roadmap.md
2026-06-19 14:18:58 +10:00
PapaTramp
45f45145f0
roadmap.md: small ToDo
2026-06-18 08:02:00 +10:00
PapaTramp
55f047cd35
fix: Seaca push uses same lifecycle text as Telegram (0.9.11)
...
Reuse telegram templates for FCM title/body so agent start/restart
reasons reach mobile without Seaca app changes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-17 11:35:17 +10:00
PapaTramp
8a97bbfb43
merge: sync local backlog with kalinamall production URLs
...
Integrate diverged kalinamall/main; keep v0.7 agent-update docs and
kalinamall.ru paths in deploy/docs; mirror scripts remain removed.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-17 11:13:35 +10:00
PapaTramp
2069e57f14
docs: backlog for agent version compliance and remote updates
...
Add agent-update-backlog.md and roadmap v0.7 outline for SAC-driven
agent version tracking and remote update initiation.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-17 11:07:12 +10:00
PapaTramp
6b288bfa49
chore(github): generic example.com in docs, remove mirror scripts
...
Replace sac.kalinamall.ru with sac.example.com in public docs/deploy.
Remove Push-Mirror and Rewrite-GitHostUrls scripts from repo.
Simplify workspace-three-repos.md for GitHub-only workflow.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-16 11:57:02 +10:00
PapaTramp
6bff073108
chore(docs): sync repository URLs for kalinamall mirror
2026-06-16 11:41:07 +10:00
PapaTramp
06c6748274
fix(scripts): force-with-lease on mirror push
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-16 11:40:59 +10:00
PapaTramp
eac1e0b59e
fix(scripts): Push-Mirror ignores untracked files
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-16 11:40:15 +10:00
PapaTramp
36ccfc9471
chore(docs): GitHub URLs in README/docs, remove .cursor from repo
...
Replace git.kalinamall.ru links with github.com/PTah in public docs.
Add Rewrite-GitHostUrls.ps1 and Push-Mirror.ps1 for kalinamall mirror pushes.
Add .cursor/ to .gitignore.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-16 11:37:20 +10:00
PapaTramp
5b2aeb0183
fix(frontend): убрать BOM из package.json — ломал vite build на SAC.
2026-06-13 16:36:34 +10:00
PapaTramp
3d36faa49d
fix(mobile): повторный enroll и удаление устройств в UI (0.9.10).
...
При повторной привязке Seaca переиспользуется запись device_uuid вместо INSERT.
Добавлены POST /devices/{id}/revoke и DELETE для полного удаления записи в настройках SAC.
2026-06-13 16:36:07 +10:00
PapaTramp
e022f2f213
docs: sac-api.kalinamall.ru и схема HAProxy для Seaca.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-13 12:01:06 +10:00
PapaTramp
f0bd31c544
fix(nginx): отклонять чужие Host на SAC (default_server 444)
...
Только sac.kalinamall.ru; ext.kalinamall.ru и прочие имена на IP SAC не отдают UI. ssl_reject_handshake на :443.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-13 11:24:21 +10:00
PapaTramp
87549731c8
chore: note frontend version.ts in SAC version bump rule
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 10:35:18 +10:00
PapaTramp
7df718eed3
fix: 12h cooldown before reopening manually closed host_silence (0.9.9)
...
Track resolved_by on problems; suppress scan/ingest recreate after manual
resolve; reopen same problem after cooldown; auto-close via heartbeat unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 10:33:55 +10:00
PapaTramp
befaf86bf4
feat: readable report and host detail layout in web UI (0.9.8)
...
Field grid for event/host cards, human-readable daily report labels,
and normalized plain-text report bodies.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 10:25:53 +10:00
PapaTramp
fed21c536b
fix: exclude resolved problems from new-in-24h metrics (0.9.7)
...
Dashboard and created_within_hours list only show open/acknowledged problems
created in the last 24 hours; closed items appear under resolved only.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 10:24:12 +10:00
PapaTramp
3f671b9899
fix: FCM data-only push so Seaca controls sound (0.9.6)
...
Send title and body in the data payload instead of notification block so
onMessageReceived always runs and the app can honour silent mode in background.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 10:03:28 +10:00
PapaTramp
3f7095ed03
fix: host_silence proactive notify when event is None
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 09:26:03 +10:00
PapaTramp
37bffe0e3f
fix: SAC version from /health in sidebar and dashboard (0.9.4)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 17:38:54 +10:00
PapaTramp
0a414a0904
chore: sync frontend version label to 0.9.3
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 17:37:09 +10:00
PapaTramp
e38bd8a52a
fix: FCM must not break ingest; add requests dependency (0.9.3)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 17:30:32 +10:00
PapaTramp
f9baf96d88
fix: test push errors, skip heartbeat notify, stale 5h (0.9.2)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 17:25:16 +10:00
PapaTramp
5e9f0f8110
fix: show copyable enrollment code after issue in Settings
...
Исправлен v-if, скрывавший весь раздел при success; баннер с полным
кодом, копированием и sessionStorage до Скрыть. Версия 0.9.1.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 17:07:49 +10:00
PapaTramp
e2b5fb7604
docs: Seaca mobile operator guide and FCM setup
...
Документация для админа и runbook: коды регистрации, устройства,
настройка SAC_FCM на сервере.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 15:34:34 +10:00
PapaTramp
563b836acc
feat: Seaca mobile API, enrollment, FCM push and admin UI (0.9.0)
...
Adds mobile device registration by admin codes, refresh tokens, push channel
in notification policy, and Settings section for managing Seaca clients.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 13:19:14 +10:00
PapaTramp
86c602cf07
docs: add v0.6 Mobile (Seaca) to roadmap and README
...
Links the new Android client repo and documents server-side mobile API work.
2026-06-10 12:45:52 +10:00
PapaTramp
77e167b6e3
feat: add actor user column to events and dashboard tables
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 10:11:04 +10:00
PapaTramp
f9d56621f6
feat: drill-down filters on overview and outdated agent version highlight
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 09:21:21 +10:00
PapaTramp
e65daa8c3b
chore: sync frontend version.ts with API 0.8.3
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 09:11:41 +10:00
PapaTramp
aafb80fa31
feat: proactive host_silence scan for stale agent.heartbeat (0.8.3)
...
Background scan every 5 min opens rule:host_silence and notifies without
waiting for the next ingest event. CLI job + optional systemd timer.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 09:07:32 +10:00
PapaTramp
2a0eb6e90c
chore: exclude Cursor workspace file from git (local IDE only)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 14:41:03 +10:00
PapaTramp
459b2babd1
docs: split README (RU) and README_en (EN) for GitHub
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 14:38:53 +10:00
PapaTramp
95c5b9f25a
fix(ui): table actions column layout and resolved label
...
Move flex off td.actions to inner wrapper; show Закрыта for resolved problems. SAC 0.8.2.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 14:10:56 +10:00
PapaTramp
02200f1a80
docs: note Exchange WinRM strict mode in agent integration
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 11:07:46 +10:00
PapaTramp
502971367e
feat(ui): live host row update via SSE without full reload
...
On new ingest, patch visible host from GET /hosts/{id}; SAC 0.8.1.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 10:47:21 +10:00
PapaTramp
d9893497ce
fix(ui): full-row host click, agent version label on host card
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 10:20:32 +10:00
PapaTramp
adfc69c656
fix(ui): host name nav styled like sidebar, plain hostname column
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 10:10:10 +10:00
PapaTramp
7699d8690a
fix: visible host card links in Hosts table; bump SAC to 0.8.0
...
Hostname and display name always link to /hosts/:id with sac-row-link styling.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 10:00:11 +10:00
PapaTramp
54337a5917
feat: host inventory (agent.inventory), host detail page, UI columns
...
Store hardware/software snapshots on hosts; warn on hardware changes. Host card from Hosts list. Add agent version column to Events/Overview; rename Hosts table columns and sort by status.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 09:53:00 +10:00
PapaTramp
5d3cda2ab6
docs: expand README highlights (5140 admin share, agent versions)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 10:17:11 +10:00
PapaTramp
57793d24ba
feat: SAC support smb.admin_share.access events from RDP agent
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 10:14:14 +10:00
PapaTramp
d324e41eba
docs: README highlights list monitored sources (SSH, RDP, WinRM, sudo)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 16:10:49 +10:00
PapaTramp
1580982d88
fix: rename README screenshots to bust stale CDN/browser cache
...
Same user-provided PNGs (no blur); new filenames avoid serving old
Gaussian-blurred assets cached at dashboard.png / events.png paths.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 14:18:07 +10:00
PapaTramp
d8ba864e48
docs: drop redundant note about blurred screenshots in README
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 14:14:33 +10:00
PapaTramp
7ab497b300
docs: restore original README screenshots without extra blur
...
Use user-provided redacted images as-is for dashboard, events, and problems.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 14:13:47 +10:00
PapaTramp
2d39943020
docs: add sanitized UI screenshots to README (0.7.4)
...
Dashboard, events, and problems screenshots with hostnames and IPs blurred.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 14:11:14 +10:00
PapaTramp
79185d9186
fix: show RD Gateway session duration in Telegram when present
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 10:07:51 +10:00
PapaTramp
47d08b54d2
chore: sync Cursor rules from CursorRules
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 09:31:57 +10:00
PapaTramp
b565a259ea
chore: add Cursor rule for mandatory agent script version bumps
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 09:29:23 +10:00
PapaTramp
0d4a50cd35
fix: dedupe daily report Telegram in dual mode and show host in summary fallback
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 09:15:21 +10:00
PapaTramp
3053058cdf
feat: SAC 0.7.4 sidebar system stats block with UI toggle
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-02 09:15:15 +10:00
PapaTramp
cf5a6f995c
docs: update README with current SAC and agent status
...
Reflect SAC 0.7.3 capabilities, security hardening highlights, and current RDP monitor integration state.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 13:25:16 +10:00
PapaTramp
141fc44099
feat: SAC 0.7.3 custom error pages 401/403/404/429
...
Centered logo pages with event explanation and allowed actions; router
and apiFetch redirect to them on auth, permission, not-found, and rate-limit errors.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 11:06:21 +10:00
PapaTramp
d3a337992c
feat: SAC 0.7.2 security hardening (rate limit, JWT DB check, DOMPurify)
...
Path traversal fix in SPA fallback, admin-only host delete, login rate limit
with 3 attempts and Telegram alert, JWT validated against active users in DB,
and DOMPurify for agent report HTML.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 11:04:14 +10:00
PapaTramp
06a8ed8614
feat: events date filter and preserve list page in URL (SAC 0.7.1)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 10:32:24 +10:00
PapaTramp
de29270a25
feat: SAC 0.7.0 display_name columns and event severity overrides
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 10:21:43 +10:00
PapaTramp
8de5d14cfb
feat: SAC 0.6.0 user edit UI, login to dashboard, daily report timer sync
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 09:55:12 +10:00
PapaTramp
56c469ddbd
feat: multi-user UI login with admin and monitor roles
...
Add sac_users table, JWT roles, settings/users API guarded for admin, Users page in UI, and sac_manage_user.py CLI.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 09:27:14 +10:00
PapaTramp
bc77f82307
feat: notify RD Gateway events in Telegram outside min_severity
...
Route rdg.connection.* through notify_rdg_connection and add disconnected type.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 08:14:37 +10:00
PapaTramp
7e13be3c38
fix: hide redundant RDP workstation line when it matches server host
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 18:55:11 +10:00
PapaTramp
fbef1e2f4b
feat: always send RDP/SSH login success to Telegram via SAC
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 18:47:39 +10:00
PapaTramp
4baa2b426f
feat: render full agent lifecycle text from notification_body in Telegram
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 18:11:17 +10:00
PapaTramp
9dacbd7944
fix: Telegram footer shows SAC as sender when SAC delivers the message
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 12:41:23 +10:00
PapaTramp
366a9c83f7
feat: always notify agent.lifecycle via SAC with telegram_via routing
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 12:25:48 +10:00
PapaTramp
3d4d1f3c76
feat: show notification source (agent vs SAC) in alerts and reports
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 11:51:53 +10:00
PapaTramp
a45b641b8c
feat: daily report agent version line and fix active users layout
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 11:28:30 +10:00
PapaTramp
799f8668e6
feat: Telegram templates for RDS shadow and WinRM session events
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-30 10:20:57 +10:00
PapaTramp
2501ecc4fe
fix: normalize daily report layout for Telegram and UI
...
Ensure server line, compact spacing, and one user per row when ingesting
agent reports or sending SAC-generated daily reports.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-30 09:52:09 +10:00
PapaTramp
eba2f0d15c
docs: agent daily report toggles and unified template versions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 17:18:03 +10:00
PapaTramp
7ebbb9a9d1
feat: unify SSH and Windows daily report layout in SAC and UI
...
Agent-style report body for SAC aggregation; shared stats cards; RDP ban note in docs
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 17:03:29 +10:00
PapaTramp
11195ae64f
feat: delete host from UI with events and problems cleanup
...
DELETE /api/v1/hosts/{id} (JWT); host reappears on next agent ingest
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:52:05 +10:00
PapaTramp
2670c8cb46
fix: sanitize daily report HTML for Telegram parse_mode
...
Strip div/br tags unsupported by Telegram API; reports still store UI HTML in details
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:35:04 +10:00
PapaTramp
0baeacf808
docs: mark notification epic complete in work-plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:31:18 +10:00
PapaTramp
42f31b3bb5
fix: dashboard and hosts count SSH and RDP daily reports
...
analytics-a4: daily_reports_24h uses report.daily.*; sac-deploy enables timers
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:31:09 +10:00
PapaTramp
415d863b3b
feat: SAC daily reports from DB aggregation (notif-32)
...
- Aggregate report.daily.ssh/rdp from 24h ingest; job and systemd timer
- notify_daily_report bypasses NOTIFY_MIN_SEVERITY; ingest routes agent reports
- HTML templates, env SAC_DAILY_REPORT_*, docs and tests (56 cases)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:30:07 +10:00
PapaTramp
4167687dec
feat: notification cooldown dedup for events and problems (notif-31)
...
Store last notify time by dedup_key/fingerprint, gate dispatch before
channels; config SAC_NOTIFY_*_COOLDOWN_SEC, migration 008.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:24:01 +10:00
PapaTramp
1a70980920
feat: HTML Telegram templates for RDP/SSH events (notif-30)
...
Agent-style messages from event details, parse_mode HTML, templates for
login/sudo/RDG and problems; unit tests.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:21:40 +10:00
PapaTramp
ebb450be92
feat: global notification policy severity to channels (notif-22)
...
Singleton notification_policy table, NOTIFY_MIN_SEVERITY/CHANNELS env,
central dispatch gate, Settings policy UI, migration 007.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:19:26 +10:00
PapaTramp
9b177c145b
feat: SMTP email notification channel with UI and ingest
...
Migration 006, email config DB/env, smtplib sender, settings API,
Settings UI section, and dispatch on event/problem ingest.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:12:55 +10:00
PapaTramp
20fa7e2c27
feat: webhook notification channel with UI and ingest dispatch
...
Add webhook config (DB/env), JSON POST on events/problems, settings API,
Settings UI section, and notify_dispatch for multi-channel ingest.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:09:40 +10:00
PapaTramp
f7b5fff04e
docs: E2E checklist for SAC Telegram severity (notif-02)
...
Add synthetic ingest curl steps, update prod next steps for migration 004.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:06:58 +10:00
PapaTramp
79a78dc7c9
feat: Telegram settings in DB with UI edit and test send
...
Store notification_channels (migration 004), effective config DB over env,
PUT/test API endpoints, Settings form, and pass db session into ingest notify.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 16:05:32 +10:00
PapaTramp
e0ba384705
feat: SAC Telegram settings view, notify_problem severity gate, exclusive docs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-29 15:58:08 +10:00
PapaTramp
117390cbca
docs: add 2026-05-29 todo for SAC notifications and Settings UI
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 15:39:21 +10:00
PapaTramp
a42a63b8fa
docs: add analytics backlog for deferred SAC development
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 15:17:08 +10:00
PapaTramp
daec333dbe
feat: add SAC app icon to favicon, sidebar, and login page
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 14:39:57 +10:00
PapaTramp
ac3c20b7db
feat: persistent Zabbix-style sidebar on all pages, rename Dashboard to Обзор
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 13:54:41 +10:00
PapaTramp
dce5b88b2f
feat: move navigation to dashboard sidebar and bump SAC to 0.5.0
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 13:45:25 +10:00
PapaTramp
81cf9c46b3
feat: improve SAC UI layout, reports state, and hosts sorting
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 13:17:37 +10:00
PapaTramp
d4bf6e536c
feat: host display_name в ingest, поиск хостов, UI и docs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 11:49:10 +10:00
PapaTramp
108e1756c4
feat: live последние события на Dashboard; retention, health, runbook
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 11:29:31 +10:00
PapaTramp
9ed0670863
docs: RDP SAC 1.2.12 null+JSON fix
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 10:44:23 +10:00
PapaTramp
fcf3da223c
test/docs: RDP agent.lifecycle ingest and 422 notes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 10:34:23 +10:00
PapaTramp
f322a46f98
docs: RDP SAC 409 spool loop fix 1.2.10-SAC
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 10:27:25 +10:00
PapaTramp
a218ff2581
docs: RDP SAC spool 422 and 1.2.9-SAC notes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 10:20:31 +10:00
PapaTramp
98055dfdf8
docs: RDP SAC UTF-8 fix note for report.daily.rdp mojibake
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 10:05:49 +10:00
PapaTramp
c8f357007f
feat: dashboard top hosts/types, problems 24h, drill-down (d2-2)
...
- Extend /dashboards/summary; Events filters from query (hostname, severity)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 10:01:07 +10:00
PapaTramp
249894d8e1
feat: UI Problems list filters, detail card and event timeline (d2-1)
...
- Filters status/severity/hostname; /problems/:id with Ack/Resolve and timeline
- Dashboard drill-down to open problems
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 09:55:28 +10:00
PapaTramp
64b5ef297a
feat: problem rules v1 brute-force, privilege spike, host silence (d1-3)
...
- Threshold rules on ingest; heartbeat auto-resolves host silence
- Config thresholds in sac-api.env; unit tests
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 09:51:05 +10:00
PapaTramp
83f48dce97
fix: alembic 003 avoid :r bind param in fingerprint backfill SQL
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 09:47:35 +10:00
PapaTramp
a4a224b284
feat: Problems correlation fingerprint, count, last_seen (d1-2)
...
- Migration 003; windowed host+type+rule correlation on ingest
- GET /problems filters; GET /problems/{id} with event timeline; ack/resolve 409 guard
- Tests and SAC_PROBLEM_CORRELATION_WINDOW_MINUTES config
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 09:46:12 +10:00
PapaTramp
8eb40cf75d
docs: agent version bumps and deploy triggers (1.4)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 09:34:22 +10:00
PapaTramp
4d603637e5
fix(deploy): sync systemd unit, preflight DB check, health retry
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 09:28:01 +10:00
PapaTramp
e0b066f5e5
fix(deploy): recover from diverging git after force-push on kalinamall
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 09:26:06 +10:00
PapaTramp
25a485fabb
docs: git policy — kalinamall only, push after each feature
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 09:23:10 +10:00
PapaTramp
2b76ae8497
feat: ingest HTTP 201/409 for event_id idempotency
...
- Validate UUID format; log created/duplicate/rejected
- Tests for 201, 409, 422; update agent-integration and work-plan
- Docs: neutral IDE wording (no product-specific editor names)
2026-05-28 09:13:12 +10:00
PapaTramp
5cf76f492c
docs: add display_name tasks for RDP, ssh, and SAC hosts
...
Document ServerDisplayName parity with ssh SERVER_DISPLAY_NAME and
agent-display-* checklist items for SAC Hosts UI.
2026-05-27 17:02:23 +10:00
PapaTramp
d1b89c75dd
docs: add 2-day delivery and hourly checklist
...
Add execution checklist for next two development days and a follow-up week of testing in work-plan.md.
2026-05-27 16:12:56 +10:00
PapaTramp
721de21d5c
docs: update agent integration readiness checklist
...
Mark completed SAC config, check-sac, and spool items for ssh and RDP agents.
2026-05-27 15:33:42 +10:00
PapaTramp
8995a34037
fix: faster sac-api restart (TimeoutStopSec, SSE cancel on shutdown)
2026-05-27 14:53:54 +10:00
PapaTramp
61c9f9b673
feat: reports page with formatted daily report cards
2026-05-27 14:15:15 +10:00
PapaTramp
04301ab359
feat: host heartbeat status and dashboard metrics (2.2)
...
Track agent.heartbeat and report.daily.ssh per host; show online/stale
on Hosts UI; dashboard counters and SAC_HEARTBEAT_STALE_MINUTES config.
2026-05-27 13:36:17 +10:00
PapaTramp
9ba3c4b63b
docs: pilot 2.1 exclusive (Linux) runbook
2026-05-27 13:25:47 +10:00
PapaTramp
b404747f8d
test: version constants without DB import
2026-05-27 13:21:02 +10:00
PapaTramp
c657a65970
feat: v0.2.0 branding, healthz version, SSE dashboard live
...
Centralize APP_VERSION 0.2.0; /health and /healthz return version;
startup log line; UI title Security Alert Center v.0.2.0;
SSE /api/v1/stream/events for live dashboard counters.
2026-05-27 13:20:39 +10:00
PapaTramp
ea221db3c7
feat: Dashboard MVP with summary API and UI
...
Add GET /api/v1/dashboards/summary (24h events, open problems,
hosts, severity breakdown, recent events) and Vue /dashboard page.
2026-05-27 12:37:06 +10:00
PapaTramp
eeba3a704d
feat: Telegram notifications from SAC on ingest
...
Send Telegram alerts for high/critical events and new Problems.
Configurable via TELEGRAM_* env vars; ingest never fails on send errors.
2026-05-27 12:21:03 +10:00
PapaTramp
5fce00faae
feat: Problems API, ingest hook, and UI
2026-05-27 11:24:19 +10:00
PapaTramp
b19cdf2b47
fix: SPA fallback для /events при F5 (index.html)
2026-05-27 11:01:47 +10:00
PapaTramp
947fc4ab98
docs: тестовый агент ubabuba; gitignore deploy helpers
2026-05-27 10:47:54 +10:00
PapaTramp
4265d58c4b
chore: gitignore local SSH deploy helper scripts
2026-05-26 22:46:15 +10:00
PapaTramp
a4bbc14448
docs: prod status, sac-deploy.sh; update install and deployment guides
2026-05-26 22:03:10 +10:00
PapaTramp
bdfc7016e6
feat: phase 1C JWT UI, events/hosts API, Vue frontend
2026-05-26 21:46:34 +10:00
PapaTramp
d8a8329397
docs: права /etc/ssl/sac — root:ssl-cert, www-data в группе
2026-05-26 21:37:56 +10:00
PapaTramp
a9bea3d276
docs: PFX -legacy на Ubuntu 24.04, scp с другого Linux
2026-05-26 21:27:52 +10:00
PapaTramp
0c5d2537db
docs: подробное руководство по копированию wildcard TLS на сервер
2026-05-26 21:15:38 +10:00
PapaTramp
21578b27c9
docs: nginx TLS с корпоративным wildcard VeriSign
2026-05-26 21:14:22 +10:00
PapaTramp
2c12f161a1
fix(nginx): только HTTP до certbot, без ssl без сертификата
2026-05-26 21:12:48 +10:00
PapaTramp
934a5a0c9c
fix: загрузка sac-api.env через pydantic, не EnvironmentFile systemd
2026-05-26 21:07:51 +10:00
PapaTramp
539126b75e
fix(deploy): конфиг в /opt/security-alert-center/config (sac:sac)
...
Убирает ошибку Permission denied при каталоге /etc root:root.
2026-05-26 20:59:44 +10:00
PapaTramp
38c137cbd3
fix(docs): chmod 750 на каталог /etc/security-alert-center для группы sac
2026-05-26 20:56:38 +10:00
PapaTramp
6d33669ac2
fix(docs): sac-api.env chmod 640 root:sac для пользователя sac
2026-05-26 20:53:10 +10:00
PapaTramp
69547d83bc
docs: URL sac.kalinamall.ru во всех руководствах и примерах конфигов
2026-05-26 20:30:10 +10:00
PapaTramp
9203af90d5
docs: native Ubuntu install as primary; systemd and nginx
...
- install-ubuntu-24.04-native.md (production) and -docker.md (alternative)
- deploy/systemd/sac-api.service, nginx/sac.conf.example, env.native.example
- deployment, README, INDEX, work-plan, TZ updated
2026-05-26 20:28:05 +10:00
PapaTramp
69a232d08a
feat: backend ingest API, Docker Compose, Ubuntu install guide
...
- FastAPI: POST /api/v1/events, GET /health, JSON Schema validation
- PostgreSQL models, Alembic migration, bootstrap API key
- deploy/docker-compose.yml, .env.example
- docs/install-ubuntu-24.04.md, updated work-plan (agents first)
2026-05-26 20:21:31 +10:00
PapaTramp
bf1c1c9fe9
docs: обновить пример путей в workspace
2026-05-26 19:59:51 +10:00
PapaTramp
2f82c7c658
chore: пути репозиториев D:\Soft\Git
2026-05-26 19:58:59 +10:00
PapaTramp
4f3adc9429
docs: ТЗ v1.0, планы и схема SAC (фаза 0)
...
Security Alert Center — документация без кода приложения.
- TZ, архитектура, интеграция агентов (UseSAC)
- JSON Schema событий v1, deployment Ubuntu 24.04
- План работ, roadmap, multi-root workspace
2026-05-26 19:54:47 +10:00