Skip to main content
provisioning · cross-provider

GitHub Repository Provisioning

category
Developer Workflow

What does zop.dev create for GitHub Repository Provisioning?

zop.dev provisions a github_repository with branches, branch protection, 3 GitHub teams (admin, editor, viewer) and GitHub Actions secrets pre-populated for deployment. The PAT powering it is read from the connected cloud's own secret store: AWS Secrets Manager, GCP Secret Manager, or Azure Key Vault.

Module backing GitHub Repository Provisioning.
Field Value
Cloudcross-provider

Every service needs a repository with the right protections and CI credentials. zop.dev provisions GitHub repos with branch protection, team access tiers, and deployment secrets pre-configured for each cloud.

Repository, branch protection, teams, and CI secrets

github_repository, branches, branch protection, three GitHub teams (admin/editor/viewer), and GitHub Actions secrets.

Repository config with tiers mapped to teams

Terminal window
Repository and branch configuration; access tiers mapped to teams.

Where the GitHub token is read from

The GitHub PAT is read from the cloud’s own secret store: AWS Secrets Manager, GCP Secret Manager, or Azure Key Vault, depending on provider.

The PAT never lives in config

Provisioning GitHub resources requires a personal access token, and where that token lives is the design decision here. It is read from the secret store of whichever cloud is connected, not from platform configuration: Secrets Manager on AWS, Secret Manager on GCP, Key Vault on Azure. The token that can create repositories and write CI secrets is a high-value credential; keeping it in the cloud’s audited store means access to it is loggable and revocable in one place, and rotating it is a secret-store update rather than a config hunt.

Teams mirror the platform tiers

The 3 GitHub teams (admin, editor, viewer) carry the same tier model the platform applies to clusters and namespaces into source control. Access reviews get simpler when the question “who can merge to this service” has the same shape as “who can deploy it,” and onboarding becomes two group memberships instead of a scatter of per-repo collaborator grants.

CI is born knowing how to deploy

GitHub Actions secrets are written at provisioning, cloud-appropriate for wherever the service will run. The first pipeline on the first push can authenticate and deploy. Nobody pastes credentials into repository settings, which is both a convenience and the removal of the most common way deploy credentials leak or drift out of rotation. Those secrets are still credentials with lifetimes; the platform writing them does not exempt them from rotation.

Branch protection is the persistent part

Branches and protection rules arrive configured, so the review and status-check gates exist before the first commit rather than after the first incident. Worth remembering at teardown: the repository is an entry point to cloud resources, not their owner. Deleting a repo removes code and CI wiring, while everything it deployed keeps running and billing until torn down through the platform.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

417 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

417 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·