Skip to main content
OpenTaco is a multi-service platform. The UI is the public entrypoint, and backend services handle PR automation, drift detection, state management, token issuance, and remote-run orchestration. This page provides a high-level architecture view and a quick reference for first-party services, persistence components, and third-party dependencies.

Architecture diagram

OpenTaco self-hosted architecture diagram

First-party services

ServiceResponsibility
UIPublic entrypoint, serves the dashboard, and proxies backend APIs.
Orchestrator (formerly Digger/backend)Processes GitHub webhooks and creates Terraform/OpenTofu workflow runs.
DriftInitiates drift runs, processes results, and sends drift notifications.
Process-drift-triggerSchedules drift/notification processing (for example via pg_cron or k8s cronjob).
StatesmanManages Terraform backends and provides a drop-in Terraform Cloud/Enterprise-compatible backend.
Token-serviceGenerates API tokens used for Statesman Terraform/OpenTofu authentication.
SidecarCreates and manages remote run environments (sandbox VMs).

Persistence

ComponentPurpose
orchestrator-dbStores orchestrator metadata and state for PR automation and related workflows.
token-dbStores token service data used for token issuance and validation flows.
statesman-dbStores Statesman metadata for state backend operations.
statesman-bucketStores Terraform/OpenTofu state objects in S3-compatible object storage.
You can run these persistence components yourself or use external managed services (for example, database-as-a-service and managed object storage).

Third-party services

ServicePurpose
WorkOSIdentity provider used for authentication and user/session management.
GitHubSource of webhook events and workflow execution target for PR automation and drift workflows.
E2BProvides ephemeral sandbox VMs for remote runs (used via Sidecar).