Skip to content

Add Odoo website bootstrap support for Launchplane #34

@cbusillo

Description

@cbusillo

Objective

Add Odoo/devkit support for Launchplane-driven website bootstrap data so an empty CM testing database can be rebuilt with the expected public website identity, page route, and logo state.

Finish Line

After Launchplane runs Odoo Stable Bootstrap for odoo-tenant-cm cm/testing, public verification passes for health, canonical URL, /cell-mechanic, and /web/image/website/1/logo without manual Odoo UI repair or Dokploy edits.

Current Status

State: Blocked by Launchplane follow-up cbusillo/launchplane#593. Devkit website bootstrap support is merged, and the Launchplane route/inventory/env-handoff blockers found on 2026-05-12 were fixed in Launchplane #590 and #591. Current live stable-bootstrap run now uses the newer CM artifact and passes health/canonical, but still fails logo because Launchplane does not yet persist/render devkit website_bootstrap intent into the Odoo override payload.

Latest evidence:

  • Launchplane stable bootstrap run: https://github.com/cbusillo/launchplane/actions/runs/25754751163
  • artifact/source: artifact-cm-d86025a089905522 / ff348ec8df2de651e4d1a36a62e6c134374b4531
  • bootstrap run: pass
  • post-deploy: pass
  • health: pass
  • canonical: pass
  • logo: fail
  • trace: launchplane_req_931b3ae288b349c8ab64b2e0f17224d0

Next action: Complete cbusillo/launchplane#593, rerun Odoo Stable Bootstrap for odoo-tenant-cm cm/testing with health/canonical/logo verification enabled, then close this issue if logo and public website identity pass.

Blocked by: cbusillo/launchplane#593.
Last verified: 2026-05-12; Launchplane #590/#591 merged and deployed; health/canonical pass, logo still fails.

Scope

  • Inspect run_odoo_data_workflows.py --bootstrap and the launchplane.settings addon apply path.
  • Add typed website bootstrap/apply support for canonical/base URL and website domain state.
  • Add or wire CM-owned website content for /cell-mechanic.
  • Add or wire a CM-owned logo asset so /web/image/website/1/logo is not 404.
  • Keep the implementation tenant-safe: do not hard-code CM content into generic devkit paths unless it is behind an explicit tenant input or fixture boundary.
  • Document how Launchplane should pass or reference website bootstrap intent.

Acceptance Criteria

  • A clean CM testing bootstrap creates a valid /cell-mechanic route.
  • Health verification passes for https://cm-testing.shinycomputers.com/web/health.
  • Canonical verification passes for https://cm-testing.shinycomputers.com/cell-mechanic.
  • Logo verification passes for https://cm-testing.shinycomputers.com/web/image/website/1/logo.
  • Website identity reflects the CM bootstrap intent instead of generic My Website chrome.
  • The bootstrap path remains tenant-safe and driven by tenant/Launchplane input.

Relationships

  • Blocked by: cbusillo/launchplane#593
  • Follow-up fixes already merged/deployed: cbusillo/launchplane#590, cbusillo/launchplane#591

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:blockedPlan is blocked

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions