-
f576564f02
fix(agent): also wipe /etc/decnet during self-destruct
anti
2026-04-19 21:04:31 -04:00
-
00d5799a79
fix(agent): escape systemd cgroup when spawning self-destruct reaper
anti
2026-04-19 21:00:43 -04:00
-
14250cacad
feat(swarm): self-destruct agent on decommission
anti
2026-04-19 20:47:09 -04:00
-
9d68bb45c7
feat(web): async teardowns — 202 + background task, UI allows parallel queue
anti
2026-04-19 20:30:56 -04:00
-
07ec4bc269
fix(fleet): INI fully replaces prior decky state on redeploy
anti
2026-04-19 20:24:29 -04:00
-
a63301c7a3
fix(web): replace window.confirm with two-click arm/commit on swarm actions
anti
2026-04-19 20:16:51 -04:00
-
df18cb44cc
fix(swarm): don't paint healthy deckies as failed when a shard-sibling fails
anti
2026-04-19 20:11:08 -04:00
-
91549e6936
fix(deploy): prevent 'Address already in use' from stale IPAM and half-torn-down containers
anti
2026-04-19 19:59:06 -04:00
-
e8e11b2896
feat(web-ui): show decky IP on SwarmDeckies, drop compose-hash column
anti
2026-04-19 19:48:27 -04:00
-
585541016f
fix(engine): teardown(decky_id=...) built malformed service names
anti
2026-04-19 19:42:42 -04:00
-
5dad1bb315
feat(swarm): remote teardown API + UI (per-decky and per-host)
anti
2026-04-19 19:39:28 -04:00
-
6708f26e6b
fix(packaging): move templates/ into decnet/ package so they ship with pip install
anti
2026-04-19 19:30:04 -04:00
-
2bef3edb72
feat(swarm): unbundle master-only code from agent tarball + sync systemd units on update
anti
2026-04-19 19:19:17 -04:00
-
d2cf1e8b3a
feat(updater): sync systemd unit files and daemon-reload on update
anti
2026-04-19 19:07:24 -04:00
-
6d7877c679
feat(swarm): per-host microservices as systemd units, mutator off agents
anti
2026-04-19 18:58:48 -04:00
-
ee9ade4cd5
feat(enroll): strip master API and frontend from agent tarball
anti
2026-04-19 18:47:03 -04:00
-
dad29249de
fix(updater): align bootstrap layout with updater; log update phases
anti
2026-04-19 18:39:11 -04:00
-
f91ba9a16e
feat(cli): allow
decnet status in agent mode
anti
2026-04-19 18:29:41 -04:00
-
43b92c7bd6
fix(updater): restart agent+forwarder+self via systemd on push
anti
2026-04-19 18:23:10 -04:00
-
a0a241f65d
feat(enroll): decnet-updater now runs under systemd, not a --daemon fork
anti
2026-04-19 18:19:24 -04:00
-
42b5e4cd06
fix(network): replace decnet_lan when driver differs (macvlan<->ipvlan)
anti
2026-04-19 18:12:28 -04:00
-
6245786289
fix(cli): db-reset now drops swarm_hosts + decky_shards
anti
2026-04-19 18:04:35 -04:00
-
5df995fda1
feat(enroll): opt-in IPvlan per-agent for Wi-Fi-bridged VMs
anti
2026-04-19 17:57:45 -04:00
-
6d7567b6bb
fix(fleet): reset stale host_uuid on carried-over deckies before dispatch
anti
2026-04-19 06:27:34 -04:00
-
dbaccde143
fix(swarm-updates): offload tarball build to worker thread
anti
2026-04-19 06:21:27 -04:00
-
b883f24ba2
fix(engine): pin docker compose project name to avoid empty-basename failure
anti
2026-04-19 06:17:30 -04:00
-
79db999030
feat(fleet): auto-swarm deploy — shard across enrolled workers when master
anti
2026-04-19 06:09:08 -04:00
-
cb1a1d1270
fix(fleet): defer DecnetConfig build until deckies are expanded
anti
2026-04-19 06:02:26 -04:00
-
899ea559d9
feat(enroll): systemd units for agent/forwarder/engine + log-directory INI key
anti
2026-04-19 05:46:08 -04:00
-
e67b6d7f73
refactor(swarm-mgmt): move agent/updater certs to /etc/decnet (root-owned)
anti
2026-04-19 05:32:39 -04:00
-
bc5f43c3f7
feat(swarm-mgmt): probe-on-read for GET /swarm/hosts heartbeat + status
anti
2026-04-19 05:26:35 -04:00
-
ff4c993617
refactor(swarm-mgmt): backfill host address from agent's .tgz source IP
anti
2026-04-19 05:20:23 -04:00
-
e32fdf9cbf
feat(swarm-mgmt): agent_host + updater opt-in; prevent duplicate forwarder spawn
anti
2026-04-19 05:12:55 -04:00
-
95ae175e1b
fix(swarm-mgmt): exclude .env from bundle, chmod +x decnet, mkdir log
anti
2026-04-19 04:58:55 -04:00
-
b4df9ea0a1
fix(swarm-mgmt): bundle URLs target master_host, not dashboard base_url
anti
2026-04-19 04:52:20 -04:00
-
02f07c7962
feat(web-ui): SWARM nav group + Hosts/Deckies/AgentEnrollment pages
anti
2026-04-19 04:29:07 -04:00
-
c6f7de30d2
feat(swarm-mgmt): agent enrollment bundle flow + admin swarm endpoints
anti
2026-04-19 04:25:57 -04:00
-
37b22b76a5
feat(cli): auto-spawn listener as detached sibling from decnet swarmctl
anti
2026-04-19 03:25:40 -04:00
-
43f140a87a
feat(cli): auto-spawn forwarder as detached sibling from decnet agent
anti
2026-04-19 03:23:42 -04:00
-
3223bec615
feat(cli): gate master-only commands when DECNET_MODE=agent
anti
2026-04-19 03:20:48 -04:00
-
2b1b962849
feat(env): run decnet.ini loader at package import; expose DECNET_MODE
anti
2026-04-19 03:17:25 -04:00
-
65fc9ac2b9
fix(tests): clean up two pre-existing failures before config work
anti
2026-04-19 03:17:17 -04:00
-
1e8b73c361
feat(config): add /etc/decnet/decnet.ini loader
anti
2026-04-19 03:10:51 -04:00
-
9b1299458d
fix(env): resolve DECNET_JWT_SECRET lazily so agent/updater subcommands don't need it
anti
2026-04-19 02:43:25 -04:00
-
7894b9e073
feat(web-ui): Remote Updates dashboard page — push code to workers from the UI
anti
2026-04-19 01:03:04 -04:00
-
a266d6b17e
feat(web): Remote Updates API — dashboard endpoints for pushing code to workers
anti
2026-04-19 01:01:09 -04:00
-
f5a5fec607
feat(deploy): systemd units w/ capability-based hardening; updater restarts agent via systemctl
anti
2026-04-19 00:44:06 -04:00
-
40d3e86e55
fix(updater): bootstrap fresh venv with deps; rebuild self-update argv from env
anti
2026-04-18 23:51:41 -04:00
-
ebeaf08a49
fix(updater): fall back to /proc scan when agent.pid is missing
anti
2026-04-18 23:42:03 -04:00
-
7765b36c50
feat(updater): remote self-update daemon with auto-rollback
anti
2026-04-18 21:40:21 -04:00
-
8914c27220
feat(swarm): add
decnet swarm deckies to list deployed shards by host
anti
2026-04-18 21:10:07 -04:00
-
4db9c7464c
fix(swarm): relocalize master-built config on worker before deploy
anti
2026-04-18 20:41:21 -04:00
-
411a797120
feat(cli): add decnet swarm check wrapper for POST /swarm/check
anti
2026-04-18 20:28:34 -04:00
-
3da5a2c4ee
feat(cli): add decnet listener + --agent-dir on agent
anti
2026-04-18 20:15:25 -04:00
-
bfc7af000a
test(swarm): add forwarder/listener resilience scenarios
anti
2026-04-18 19:56:51 -04:00
-
1e8ca4cc05
feat(swarm-cli): add
decnet swarm {enroll,list,decommission} + deploy --mode swarm
anti
2026-04-18 19:52:37 -04:00
-
a6430cac4c
feat(swarm): add
decnet forwarder CLI to run syslog-over-TLS forwarder
anti
2026-04-18 19:41:37 -04:00
-
39d2077a3a
feat(swarm): syslog-over-TLS log pipeline (RFC 5425, TCP 6514)
anti
2026-04-18 19:33:58 -04:00
-
e2d6f857b5
refactor(swarm): move router DTOs into decnet/web/db/models.py
anti
2026-04-18 19:28:15 -04:00
-
811136e600
refactor(swarm): one file per endpoint, matching existing router layout
anti
2026-04-18 19:23:06 -04:00
-
63b0a58527
feat(swarm): master-side SWARM controller (swarmctl) + agent CLI
anti
2026-04-18 19:18:33 -04:00
-
cd0057c129
feat(swarm): DeckyConfig.host_uuid + fix agent log/status field refs
anti
2026-04-18 19:10:25 -04:00
-
0c77cdab32
feat(swarm): master AgentClient — mTLS httpx wrapper around worker API
anti
2026-04-18 19:08:36 -04:00
-
8257bcc031
feat(swarm): worker agent + fix pre-existing base_repo coverage test
anti
2026-04-18 07:15:53 -04:00
-
d3b90679c5
feat(swarm): PKI module — self-managed CA for master/worker mTLS
anti
2026-04-18 07:09:58 -04:00
-
6657d3e097
feat(swarm): add SwarmHost and DeckyShard tables + repo CRUD
anti
2026-04-18 07:09:29 -04:00
-
293da364a6
chores: fix linting
anti
2026-04-18 06:46:10 -04:00
-
d5e6ca1949
chore(gitignore): ignore sqlite WAL files and per-subsystem runtime logs
anti
2026-04-18 05:38:09 -04:00
-
a97696fa23
chore: add env.config.example documenting DECNET env vars
anti
2026-04-18 05:37:50 -04:00
-
7864c72948
test(ssh): add unit coverage for emit_capture RFC 5424 output
anti
2026-04-18 05:37:42 -04:00
-
47a0480994
feat(web-ui): event-body parser and dashboard/live-logs polish
anti
2026-04-18 05:37:31 -04:00
-
2bf886e18e
feat(sniffer): probe ipvlan host iface when macvlan is absent
anti
2026-04-18 05:37:20 -04:00
-
8bdc5b98c9
feat(collector): parse real PROCID and extract IPs from logger kv pairs
anti
2026-04-18 05:37:08 -04:00
-
aa39be909a
feat(templates): ship syslog_bridge.py to every service template
anti
2026-04-18 05:36:56 -04:00
-
41fd496128
feat(web): attacker artifacts endpoint + UI drawer
anti
2026-04-18 05:36:48 -04:00
-
39dafaf384
feat(ssh-stealth): hide capture artifacts via XOR+gzip entrypoint blob
anti
2026-04-18 05:34:50 -04:00
-
b0e00a6cc4
fix(ssh-capture): drop relay FIFO, rsyslog→/proc/1/fd/1 direct
anti
2026-04-18 02:12:32 -04:00
-
2843aafa1a
fix(ssh-capture): hide watcher bash argv and sanitize script header
anti
2026-04-18 02:06:36 -04:00
-
766eeb3d83
feat(ssh): add ping/nmap/ca-certificates to base image
anti
2026-04-18 01:53:33 -04:00
-
f462835373
feat(ssh-capture): LD_PRELOAD shim to zero inotifywait argv
anti
2026-04-18 01:52:30 -04:00
-
e356829234
fix(ssh-capture): drop bash token from journal-relay ps line
anti
2026-04-18 01:45:38 -04:00
-
a5d6860124
fix(ssh-capture): collapse duplicate journal-relay bash in ps
anti
2026-04-17 23:04:33 -04:00
-
8dd4c78b33
refactor: strip DECNET tokens from container-visible surface
anti
2026-04-17 22:57:53 -04:00
-
69510fb880
fix(ssh-capture): cloak syslog relay pipe and cat process
anti
2026-04-17 22:51:34 -04:00
-
09d9f8595e
fix(ssh-capture): disguise watcher as udev helper in ps output
anti
2026-04-17 22:44:47 -04:00
-
bfb3edbd4a
fix(ssh-capture): add ss-only attribution fallback
anti
2026-04-17 22:36:06 -04:00
-
a773dddd5c
feat(ssh): capture attacker-dropped files with session attribution
anti
2026-04-17 22:20:05 -04:00
-
edc5c59f93
docs(profiles): archive locust run artifacts under development/profiles
anti
2026-04-17 22:05:35 -04:00
-
1f758a3669
chore(profile): tolerate null/empty frames in walk_self_time
anti
2026-04-17 22:04:29 -04:00
-
6c22f9ba59
fix(deps): add cryptography for asyncmy MySQL auth
anti
2026-04-17 22:04:24 -04:00
-
20fa1f9a63
docs: record single-worker / multi-worker perf baseline
anti
2026-04-17 22:03:50 -04:00
-
fb69a06ab3
fix(db): detach session cleanup onto fresh task on cancellation
anti
2026-04-17 21:13:43 -04:00
-
1446f6da94
fix(db): invalidate pool connection when cancelled close fails
anti
2026-04-17 21:04:04 -04:00
-
e967aaabfb
perf: cache get_user_by_username on the login hot path
anti
2026-04-17 20:36:39 -04:00
-
255c2e5eb7
perf: cache auth user-lookup and admin list_users
anti
2026-04-17 19:56:39 -04:00
-
2dd86fb3bb
perf: cache /bounty, /logs/histogram, /deckies; bump /config TTL to 5s
anti
2026-04-17 19:30:11 -04:00
-
3106d03135
perf(db): default pool_pre_ping=false for SQLite
anti
2026-04-17 19:11:07 -04:00
-
3cc5ba36e8
fix(cli): keep FileNotFoundError handling on decnet api
anti
2026-04-17 19:09:15 -04:00
-
6301504c0e
perf(api): TTL-cache /stats + unfiltered pagination counts
anti
2026-04-17 19:09:15 -04:00
-
de4b64d857
perf(auth): avoid duplicate user lookup in require_role
anti
2026-04-17 17:48:42 -04:00