Skip to content

[M3] Deployer: GitHub repo + DO App Platform deployment #10

@ComBba

Description

@ComBba

Overview

Implement the deployer node: create GitHub repo, push generated code, deploy to DO App Platform, poll for deployment completion, return live URL.

Acceptance Criteria

  • GitHub repo created automatically (public, MIT license)
  • All generated files pushed (frontend, backend, .do/app.yaml, README, LICENSE)
  • DO App Platform app created via pydo SDK
  • Managed PostgreSQL provisioned if needed
  • Deployment status polled until complete or timeout (5 min)
  • Live URL returned in state["deploy_result"]
  • Error recovery: log analysis → config fix → retry (max 2)
  • Fallback: ZIP download if deployment fails
  • SSE events: deploy.status, deploy.complete

Technical Notes

  • GitHub: PyGithub library for repo creation + file push
  • DO: pydo SDK for apps.create(), apps.list_deployments(), apps.get_logs()
  • App Spec YAML generated by doc_generator
  • GitHub token needs repo scope, DO token needs write access

Dependencies

Reference

  • docs/reference/09-agent-architecture.md — Node 7: deployer
  • docs/reference/10-technical-plan.md — Deploy Commands section

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions