Digger home page
Search...
⌘K
Ask AI
diggerhq/digger
diggerhq/digger
Search...
Navigation
Features
PR-level locks
Documentation
Slack
Blog
Introduction
About Digger
How it works
Pricing
FAQ
Feedback
Getting Started
Github Actions + AWS
Github Actions + GCP
Features
Plan preview
CommentOps
Dashboard
OPA policies
Concurrency
PR-level locks
Plan Persistence
RBAC
How To
Apply on Merge
Auto-merge
Backendless mode
Commenting strategies
Custom commands
Destroy via manual workflow
Disable auto-checkout
Drift Detection
Generate projects
Include / exclude patterns
Multiple AWS accounts
Policy overrides
Project Level Roles for AWS
Segregate cloud accounts
Trigger workflow directly
Using Checkov
Using Infracost
Using OPA (Conftest)
Using Terragrunt
Specifying version
Self-host Digger
Auth methods
Deploy as docker image
Deploy using docker-compose
Deploy as a binary
Reference
digger.yml
Action inputs
Digger Enterprise
Setting up Digger EE
Digger API
RBAC via OPA guide
AWS-specific
Setting up DynamoDB Access for locks
Setting up separate mgmt account
Authenticating with OIDC on AWS
GCP-specific
Setting up GCP + GH Actions
Federated OIDC access
Store plans in a Bucket
Azure-specific
Setting up Azure + GH Actions
Azure devops locking connection methods
Troubleshooting Errors
Importing existing resources
Features
PR-level locks
For every pull request we perform a lock when the pull request is opened and unlocked when the pull request is merged, this is to avoid making a plan preview stale
For GCP locking is performed using buckets that are strongly consistent:
https://github.com/diggerhq/digger/blob/80289922227f225d887feb74749b4daef8b441f8/pkg/gcp/gcp_lock.go#L13
These options are configured and the locking can be disabled entirely if it is not needed
The locking interface is very simple and is based on
Lock()
and
Unlock()
Operations
https://github.com/s1ntaxe770r/digger/blob/5815775095d7380281c71c7c3aa63ca1b374365f/pkg/locking/locking.go#L40
A pull request aquires a lock for every project impacted by this PR and all dependant projects
Concurrency
Plan Persistence
Assistant
Responses are generated using AI and may contain mistakes.