This guide shows you how to set up a GitLab CI/CD pipeline to automatically upload your Cerbos policies to a Cerbos Hub store whenever you push changes to the main branch of your repository.
CERBOS_HUB_CLIENT_ID and CERBOS_HUB_CLIENT_SECRET values generated in the Client credentials section of the Cerbos Hub store. Make sure to select the Read & Write option when creating the credentials to allow uploading policies..gitlab-ci.yml.[STORE_ID] with the ID of your Cerbos Hub store. You can find this in the Cerbos Hub UI under the store settings.# .gitlab-ci.yml
upload-policies:
image: docker:24.0.5
services:
- docker:24.0.5-dind
script:
- >
docker run --rm \
-e CERBOS_HUB_STORE_ID="[STORE_ID]" \
-e CERBOS_HUB_CLIENT_ID=$CERBOS_HUB_CLIENT_ID \
-e CERBOS_HUB_CLIENT_SECRET=$CERBOS_HUB_CLIENT_SECRET \
-v "$CI_PROJECT_DIR":/app \
ghcr.io/cerbos/cerbosctl:latest \
hub store replace-files /app --message="Policy upload from GitLab"
rules:
- if: '$CI_COMMIT_BRANCH == "main"'
CERBOS_HUB_CLIENT_ID. For Value, paste your client ID. Check the Protect variable and Mask variable boxes. Click Add variable.CERBOS_HUB_CLIENT_SECRET..gitlab-ci.yml file.main branch.Book a free Policy Workshop to discuss your requirements and get your first policy written by the Cerbos team



Join thousands of developers | Features and updates | 1x per month | No spam, just goodies.