| 1 | // The repos service as `wrangler dev` runs it on its own, for git over |
| 2 | // HTTPS against a local git store: local D1 and R2 (the clone pack cache, |
| 3 | // GIT_PACKS), the Artifacts binding played by the self-hosted shim |
| 4 | // (deploy/self-host/workers/artifacts) in front of the self-hosted git store |
| 5 | // (deploy/self-host/gitstore/server.mjs), and its other services stubbed |
| 6 | // (stubs.js). `node dev/clone-check.mjs` does all of it and clones twice; |
| 7 | // by hand, from services/repos: |
| 8 | // |
| 9 | // node ../../scripts/build-rust-worker.mjs |
| 10 | // npx wrangler d1 migrations apply g1t-repos --local -c dev/repos.jsonc |
| 11 | // GITSTORE_ROOT=/tmp/g1t-git GITSTORE_SECRET=dev-gitstore-secret-0123 \ |
| 12 | // GITSTORE_PORT=8799 GITSTORE_URL=http://localhost:8799 \ |
| 13 | // node ../../deploy/self-host/gitstore/server.mjs & |
| 14 | // npx wrangler dev -c dev/repos.jsonc -c dev/artifacts.jsonc -c dev/stubs.jsonc --local --port 8791 |
| 15 | // |
| 16 | // Then make a repository row and its store (clone-check.mjs shows how) and |
| 17 | // `git clone http://localhost:8791/acme/rocket.git`. |
| 18 | { |
| 19 | "name": "g1t-repos", |
| 20 | "main": "../build/index.js", |
| 21 | "compatibility_date": "2026-09-26", |
| 22 | "d1_databases": [ |
| 23 | { "binding": "DB", "database_name": "g1t-repos", "database_id": "local", "migrations_dir": "../migrations" } |
| 24 | ], |
| 25 | "r2_buckets": [{ "binding": "GIT_PACKS", "bucket_name": "g1t-git-packs" }], |
| 26 | "services": [ |
| 27 | { "binding": "ARTIFACTS", "service": "g1t-artifacts" }, |
| 28 | { "binding": "IDENTITY", "service": "g1t-repos-stubs" }, |
| 29 | { "binding": "EVENTS", "service": "g1t-repos-stubs" }, |
| 30 | { "binding": "SECURITY", "service": "g1t-repos-stubs" }, |
| 31 | { "binding": "BILLING", "service": "g1t-repos-stubs" } |
| 32 | ], |
| 33 | "vars": { |
| 34 | "GIT_OPERATIONS_FREE_CAP": "50000", |
| 35 | "GIT_OPERATIONS_FREE_HOURLY": "100000", |
| 36 | "FREE_PRIVATE_STORAGE_BYTES": "1000000000", |
| 37 | "REPO_STORAGE_LIMIT_BYTES": "950000000", |
| 38 | "LARGE_PUSHES": "unscanned", |
| 39 | "FORK_RETENTION_DAYS": "1", |
| 40 | "ARTIFACTS_NAMESPACES": "{\"ARTIFACTS\":\"g1t\"}", |
| 41 | "ARTIFACTS_NEW_REPOS": "" |
| 42 | } |
| 43 | } |