An orchestrator for dark-vm workload
  • Rust 80.9%
  • HTML 13.3%
  • Jinja 3%
  • TypeScript 1.9%
  • Dockerfile 0.9%
Find a file
Valery Antopol c31b2437dc
All checks were successful
ci / test (push) Successful in 43s
fix(dark-agent): BundleForge base_url/key_id are Option (match agent DTO)
Provisioning failed at POST /credentials/export with 'decoding response:
error decoding response body'. dark-agent v0.19.0 emits a forge's base_url
and key_id as present-but-null (Option in its DTO), but the orchestrator's
BundleForge declared them as non-optional String with no serde default, so
resp.json::<CredentialBundle>() rejected the explicit JSON null.

Relax both to Option<String> (Option, not #[serde(default)] — only Option
accepts a present null). Round-trip safe: the agent's request-side DTO already
accepts Option for both. The sibling Init/Claude/Import outcome structs were
already liberal; only the export bundle type was missed.

Found by live provision through the jump-host tunnel + schema triangulation
against the agent's /openapi.json and source.
2026-07-03 14:47:05 +04:00
.claude chore: add agent config and Rust quality gate 2026-06-30 18:01:38 +04:00
.forgejo/workflows ci: run Forgejo Actions on the factory runner with dark-agent-style lints 2026-07-01 11:57:19 +04:00
deploy Merge remote-tracking branch 'origin/main' into worktree-feat+private-vms-jump-host 2026-07-03 14:43:02 +04:00
docs fix(deploy): correct proxy unit filename + jump-host var precedence guidance 2026-07-03 13:09:17 +04:00
migrations feat: Postgres durable adapters (fleet registry + vault) + migrations 2026-07-01 14:30:21 +04:00
src fix(dark-agent): BundleForge base_url/key_id are Option (match agent DTO) 2026-07-03 14:47:05 +04:00
tests feat: tenant onboarding (#740) — Vault secret source+sink + PUT /tenants/:tenant/secrets 2026-07-01 17:13:40 +04:00
ui feat: per-VM detail page in the UI (hub with entry points + live guest) 2026-07-02 13:56:18 +04:00
.dockerignore feat: TypeScript fleet UI (backend-for-frontend) + compose service 2026-07-01 15:43:21 +04:00
.env.example feat: tenant onboarding (#740) — Vault secret source+sink + PUT /tenants/:tenant/secrets 2026-07-01 17:13:40 +04:00
.gitignore fix: unique generated VM names (dark-vm-{uuid}), not dark-vm-{tenant} 2026-07-02 15:29:53 +04:00
AGENTS.md ci: run Forgejo Actions on the factory runner with dark-agent-style lints 2026-07-01 11:57:19 +04:00
Cargo.lock feat: Postgres durable adapters (fleet registry + vault) + migrations 2026-07-01 14:30:21 +04:00
Cargo.toml feat(deploy): automate SSH jump-host tunnel for private VMs 2026-07-03 11:30:20 +04:00
CLAUDE.md chore: add agent config and Rust quality gate 2026-06-30 18:01:38 +04:00
docker-compose.yml feat: tenant onboarding (#740) — Vault secret source+sink + PUT /tenants/:tenant/secrets 2026-07-01 17:13:40 +04:00
Dockerfile feat: containerize + configurable bind address (DARK_BIND) 2026-07-01 14:06:06 +04:00
README.md Initial commit 2026-06-30 07:36:19 +00:00
rust-toolchain.toml ci: run Forgejo Actions on the factory runner with dark-agent-style lints 2026-07-01 11:57:19 +04:00

dark-orchestrator

An orchestrator for dark-vm workload