Files
zarinpal-analytics-deployment/docs/decisions/0001-repository-topology.md

1019 B

ADR 0001: Three-repository topology

  • Status: Accepted
  • Date: 2026-08-20

Context

The service needs independently testable/deployable frontend and backend code while retaining a single operational entry point patterned after Qlockify. Deployment-specific files must not pollute service repositories.

Decision

Use three Git repositories: deployment, Go backend, and SvelteKit frontend. The deployment workspace clones the two service repositories into ignored backend/ and frontend/ directories and builds pinned revisions through the release workflow.

Consequences

  • Service changes can run focused CI and then trigger the deployment workflow.
  • Deployment remains the authoritative location for Compose, Nginx, backup/restore, and server automation.
  • A release manifest must record the exact commit SHA of each service; local nested checkouts alone are not sufficient provenance.
  • Cross-repository contract changes require coordinated, backward-compatible rollout or an explicit release plan.