Skip to content

Split Launchplane god modules and deduplicate helpers #1048

@shiny-code-bot

Description

@shiny-code-bot

Current Status

State: Waiting. Audit flagged service.py, dokploy.py, and rendering/CLI helpers as high-blast-radius modules. This is broad cleanup and should proceed in small behavior-preserving slices after higher-risk safety work.

Next action: Pick one low-risk extraction first, likely shared runtime-environment classification or CLI JSON/service POST helpers, and prove no behavior change with tests.

Blocked by: No native issue blocker.
Waiting for: The immediate safety issues to clear.

Acceptance Criteria

  • Runtime environment classification has one tested source of truth.
  • CLI modules share common JSON/service request helpers instead of repeated serialization and error handling.
  • service.py routing/envelopes/driver dispatch are split into cohesive modules without behavior change.
  • dokploy.py is split into HTTP client, target resolution, orchestration, and product-specific rendering pieces as provider adapter work allows.
  • Refactors are covered by focused tests and do not mix behavior changes with mechanical moves.

Target Areas

  • control_plane/service.py
  • control_plane/dokploy.py
  • control_plane/launchplane_rendering.py
  • control_plane/live_target_runtime.py
  • control_plane/product_config.py
  • CLI modules and authz grant helpers

Finish Line

Large mixed-responsibility modules are split into cohesive boundaries, and duplicated classification/HTTP/authz helper logic has one tested source of truth.

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:waitingPlan is waiting on non-issue evidence or decision

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions