Commit Graph

  • da3e675f86 fix(tests): fixed locust fixtures and rampups, since >100 generally isn't very well managed anti 2026-04-20 01:26:56 -04:00
  • 2febd921bc fix(models): added lenght validation to the common name, which per RFC 5280 must be max =< 64 anti 2026-04-20 01:26:07 -04:00
  • 12b5c25cd7 fix(agent-routes): added undocumented responses anti 2026-04-20 01:24:05 -04:00
  • 5b70a34c94 fix(routes): added undocumented responses anti 2026-04-20 01:23:07 -04:00
  • 4abfac1a98 fix: monkeypatch test db URL anti 2026-04-20 00:03:12 -04:00
  • 9eca33938d chore: deleted swp file anti 2026-04-19 23:51:59 -04:00
  • 195580c74d test: fix templates paths, CLI gating, and stress-suite harness anti 2026-04-19 23:50:53 -04:00
  • 262a84ca53 refactor(cli): split decnet/cli.py monolith into decnet/cli/ package anti 2026-04-19 22:42:52 -04:00
  • d1b7e94325 fix(swarm): inject peer cert into ASGI scope for uvicorn <= 0.44 anti 2026-04-19 22:09:11 -04:00
  • 33d954a61c feat(web-ui): unify SwarmDeckies into DeckyFleet with swarm card mode anti 2026-04-19 21:53:26 -04:00
  • bf01804736 feat(agent): periodic heartbeat loop posting status to swarmctl anti 2026-04-19 21:49:34 -04:00
  • 62f7c88b90 feat(swarmctl): --tls with auto-issued or BYOC server cert anti 2026-04-19 21:46:32 -04:00
  • e411063075 feat(swarm): ship host_uuid + swarmctl-port in agent enroll bundle anti 2026-04-19 21:44:23 -04:00
  • 148e51011c feat(swarm): agent→master heartbeat with per-host cert pinning anti 2026-04-19 21:37:15 -04:00
  • 3ebd206bca feat(swarm): persist DeckyConfig snapshot per shard + enrich list API anti 2026-04-19 21:29:45 -04:00
  • 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