GitHub Actions + Cerbos | Automated Policy Deployment | Cerbos

Automate Cerbos policy deployments with GitHub Actions

Push validated Cerbos policies to Cerbos Hub on every merge using a GitHub Actions workflow.

Read the guide Cerbos Hub docs

Workflow-driven

A single workflow file triggers policy uploads on every push to your main branch

Secret management

Store Cerbos Hub credentials as GitHub secrets, injected securely at runtime

Zero-downtime updates

Cerbos Hub distributes updated bundles to connected PDPs with no restarts or redeployments

How Cerbos works with GitHub Actions

Authorization policies should go through the same review and deployment rigour as application code. GitHub Actions lets you automate that workflow so every policy change is tested and deployed without manual steps.

Cerbos Hub stores your compiled policy bundles and distributes them to connected PDP instances. A CI/CD pipeline pushes validated policies to Cerbos Hub on every merge, and your PDPs pick up the changes automatically.

With GitHub Actions handling the pipeline and Cerbos Hub handling distribution, policy updates flow from pull request to production with a full audit trail and zero downtime.

Policy-as-code Human-readable YAML policies managed like source code Scalable PDP Stateless policy decision point with sub-millisecond latency Centralized management Manage, test, and deploy policies from a single control plane

How to deploy Cerbos policies with GitHub Actions

  1. Create a workflow file: Add .github/workflows/upload-policies.yml to your repository with a step that runs the cerbosctl Docker image.
  2. Store credentials as secrets: Add CERBOS_HUB_CLIENT_ID and CERBOS_HUB_CLIENT_SECRET to your repository secrets in GitHub.
  3. Push to main: Every push to main triggers the workflow, which uploads your policies to Cerbos Hub using hub store replace-files.
  4. PDPs update automatically: Connected PDP instances pull the latest policy bundle from Cerbos Hub with zero downtime.

FAQ

How does the GitHub Actions workflow deploy policies?

A workflow step runs the cerbosctl Docker image and executes hub store replace-files to upload your policy directory to Cerbos Hub. Connected PDP instances pull the updated bundle automatically.

What credentials do I need?

You need a Cerbos Hub client ID and client secret with Read & Write permissions, stored as GitHub repository secrets.

Can I run policy tests before deploying?

Yes. Add a prior workflow step that runs cerbos compile against your policy directory to validate and test policies before the upload step.

Cerbos + GitHub Actions