Skip to content

Move Odoo preview planning into Launchplane driver #907

@shiny-code-bot

Description

@shiny-code-bot

Intent

Move Odoo isolated preview apply/destroy planning out of tenant workflows and into Launchplane-owned Odoo driver routes.

Finish Line

Odoo tenant repos stop constructing provider preview plans

Current Status

State: Merged and deployed through PR #927. Launchplane now exposes POST /v1/drivers/odoo/preview-apply-inputs as the first LP-owned Odoo preview planning endpoint. It derives preview slug/URL, runtime binding evidence, template compose id, Dokploy environment id, Odoo runtime plan, and redacted provider dry-run plan from Launchplane records; tenant callers supply only product, PR, image, and source facts.
Next action: Move to tenant workflow adoption: update Odoo CM/OPW preview workflows to call preview-apply-inputs before preview-apply, then remove tenant-side runtime/Dokploy plan assembly. After that, add inventory-backed Odoo preview target discovery so destroy/existing-target update planning can also leave tenant repos.
Blocked by: No native issue blocker.
Waiting for: Tenant workflow adoption workstream.
Last verified: 2026-05-26 PR #927 merged as 00915ef; post-merge CI, Security, and CodeQL passed; Deploy Launchplane run 26428850190 passed; live GET /v1/health returned status=ok, storage_backend=postgres, trace launchplane_req_7ed76847a4784697866f0c27403e38d2.

Acceptance Criteria

  • Launchplane returns a ready or blocked Odoo preview apply/destroy plan without tenant-authored provider operation JSON.
  • Preview URL, target IDs, environment IDs, compose/domain names, and secret-bearing env overlays are derived by Launchplane records and driver policy.
  • Tenant repos supply only product key, PR/source facts, preview slug or PR number, artifact manifest/image reference, and optional product-smoke facts.
  • Existing preview-apply remains fail-closed and only accepts Launchplane-generated ready plans or an explicitly compatible transition shape.

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:activeCurrent active plan

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions