Skip to Content
We are live but in Staging 🎉
Overview

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.yaml and every commit reports jobs with a worst-of rollup, a needs dependency 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 login use 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 git commands
  • 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 .