Dodil Git
Dodil Git is Dodil’s managed git forge. You get org-scoped repositories you clone and push with plain git, plus the collaboration layer around them — pull requests with sha-pinned reviews, CI checks with live logs, branch protection, and write-only CI secrets — all driven from the console, the dodil git CLI, or a REST API.
It’s HTTP-first, with two planes on the same host:
git clone / push ──► the git WIRE ─── smart-HTTP https://git.dodil.io/<repo_id>.git
└── SSH [email protected]:<repo_id>.git
console / CLI / API ──► the REST CONTROL PLANE ── /api/v1/… (repos, PRs, checks,
protection, secrets, SSH keys)Unlike DataK³ , which speaks many wire adapters (S3, Postgres, Bolt, …), Git speaks exactly one wire protocol pair: git smart-HTTP for everyone, and SSH for uploaded public keys. Everything else — creating repos, opening PRs, reading check logs — is the REST control plane.
Why Dodil Git
- Plain git, no client changes. Any git client clones and pushes over smart-HTTP; an org API key (
dk_…) is the Basic password on the wire. SSH works with a public key you upload once. - PRs with honest review state. Approvals are pinned to the head sha they were cast on — push new commits and stale approvals are visible (and can be dismissed by policy).
- CI checks built in. Push a workflow (
.github/workflows) or.dodil/checks.yamland every commit reports jobs with a worst-of rollup, aneedsdependency graph, durable logs, and a live SSE tail. - Branch protection that gates merges. Required approvals, green checks, force-push and deletion blocks, self-approval bans, stale-approval dismissal — per branch pattern.
- One identity model. Roles (
git.admin/git.editor/git.viewer) are IAM grants, org-wide or scoped to a single repo.
How it fits with Dodil
- Credentials come from IAM. Org API keys are minted, rotated, and revoked by Dodil IAM (each backed by a managed service account); per-repo access is an IAM grant conditioned on the repo’s DRN.
- You sign in with Dodil SSO. The console and
dodil auth loginuse the platform’s Keycloak identity; the same bearer works on the control plane. - Check logs persist in K3 . Finished CI logs are flushed to K3 object storage and stay fetchable after the run.
In this section
- Quickstart — create a repo, add a credential, clone, push, open a PR
- Core Concepts — repos, addresses, visibility, PRs, checks, protection, the two planes
- Auth and Access — SSH keys,
dk_API keys, and the three git roles - CLI Guide — the
dodil gitcommands - API Reference — the REST control plane (
/api/v1) - Recipes — CI gating a PR, mirroring an existing repo in
CLI: dodil git — see Install the CLI .