Date: 2026-02-23 Status: Completed Origin: MDF Webseiten session 0046
/opt/infrastructure/toolkit/:cli.py — main CLI entry point with all commands (status, start, stop, build, rebuild, destroy, backup, restore, sync, promote, logs, health, disk, backups, offsite, gen-timers, init)output.py — formatted output (Rich tables, JSON mode, plain text fallback)restore.py — restore operations with CLI delegation supportsync.py — data sync between environments with CLI delegationpromote.py — code promotion (git, rsync, script) with adjacency enforcement__init__.py, descriptor.py, docker.py, backup.py, database.py, health.py, discovery.pypython3 -m toolkit.cliops.bak.20260223start, stop, build, destroy, logs, restart, initproject.yaml descriptors — no registry.yaml dependency{env} placeholder expansion in container_prefixregistry.py — imports toolkit.discovery.all_projects() instead of parsing registry.yamlservices.py — uses toolkit.descriptor.find() for container name resolutionrebuild.py — massive rewrite: 707 → 348 lines, removed ALL Coolify API code, uses direct docker composeschedule.py — reads from descriptors for GET, still writes to registry.yaml for PUT (gen-timers compatibility)/api/registry/ — returns all 5 projects from descriptors/api/status/ — shows 25 containers/api/schedule/ — shows backup schedules for all 5 projects/api/services/logs/mdf/prod/wordpress — correctly resolves container namerebuild.py now uses _compose_cmd() helper that finds compose file (.yaml/.yml), env-file (.env.{env}/.env), and adds --profile {env} — removes all Coolify API dependency/opt/infrastructure mounted → can import toolkit directly via Pythonschedule.py still writes to registry.yaml for PUT/gen-timers — full descriptor migration is a future taskcontainer_prefix_for(env) expands {env} in prefix, then matches {prefix}-* containers/opt/infrastructure/toolkit/cli.py — new (all CLI commands)/opt/infrastructure/toolkit/output.py — new (Rich/JSON/plain output)/opt/infrastructure/toolkit/restore.py — new/opt/infrastructure/toolkit/sync.py — new/opt/infrastructure/toolkit/promote.py — new/usr/local/bin/ops — rewritten as 7-line bash shimapp/routers/registry.py — uses toolkit.discoveryapp/routers/services.py — uses toolkit.descriptorapp/routers/rebuild.py — 707→348 lines, Coolify removedapp/routers/schedule.py — descriptor-backed GETTags: #Session #OpsToolkit #OpsCLI #OpsDashboard