@@ -184,93 +184,81 @@ description: "Learn how to use Helm chart to install Digger on your Kubernetes c
184
184
- The link will look like: ` https://github.com/apps/your-digger-app-name/installations/new `
185
185
- Install the app in your GitHub organization
186
186
- Select which repositories the app can access
187
+ </Step >
188
+
189
+ <Step title = " Verify installation" >
190
+ Test that your Digger installation is working correctly:
191
+
192
+ 1. ** Create a test pull request** in one of your repositories with Terraform/OpenTofu files
193
+ 2. ** Digger will automatically start planning** - You should immediately see:
194
+
195
+ ** GitHub status checks appearing as pending:**
196
+
197
+ ![ GitHub Checks Pending] ( /images/digger-plan-checks.png )
198
+
199
+ ** Digger bot comment with affected projects table:**
187
200
188
- After installation, you can verify everything is working by creating a pull request with Terraform/OpenTofu files and commenting ` digger plan ` .
201
+ ![ Digger Plan Jobs Table] ( /images/digger-plan-jobs.png )
202
+
203
+ <Note >
204
+ ** What you should see:**
205
+ - GitHub checks appear as "pending" while jobs are running
206
+ - Digger bot comments with a table showing each affected project
207
+ - Project status updates from "pending..." to completion status
208
+
209
+ You can re-run planning anytime by commenting ` digger plan ` on the pull request.
210
+
211
+ If you don't see these responses, check the [ troubleshooting section] ( #troubleshooting ) below.
212
+ </Note >
189
213
</Step >
190
214
191
215
</Steps >
192
216
193
- ## Advanced Configuration
217
+ ## Troubleshooting
194
218
195
- <Accordion title = " Using existing secrets " >
196
- If you prefer to manage secrets separately, you can reference an existing Kubernetes secret :
219
+ <Accordion title = " Failed to validate installation_id error " >
220
+ If you see "Failed to validate installation_id" after GitHub App installation :
197
221
198
- ``` yaml values.yaml
199
- digger :
200
- secret :
201
- useExistingSecret : true
202
- existingSecretName : " digger-secrets"
203
- ` ` `
222
+ 1 . ** Check GitHub App credentials in your values.yaml:**
223
+ ``` yaml
224
+ digger :
225
+ secret :
226
+ githubAppClientID : " Iv1.abc123def456" # Should not be empty
227
+ githubAppClientSecret : " github_secret" # Should not be empty
228
+ ` ` `
229
+
230
+ 2. **Verify environment variables are set in the pod:**
231
+ ` ` ` bash
232
+ # Get pod name
233
+ kubectl get pods -n digger
234
+
235
+ # Check environment variables in the pod
236
+ kubectl exec -n digger deployment/digger-backend -- printenv | grep GITHUB_APP_CLIENT
237
+ ```
238
+
239
+ 3 . ** Restart the deployment to pick up new environment variables:**
240
+ ``` bash
241
+ kubectl rollout restart deployment/digger-backend -n digger
242
+ ```
204
243
</Accordion >
205
244
206
- <Accordion title="Resource configuration">
207
- Configure resource limits and requests:
245
+ <Accordion title = " No response after creating pull request" >
246
+ If Digger doesn't respond when you create a pull request:
247
+
248
+ 1 . ** Check backend logs for errors:**
249
+ ``` bash
250
+ kubectl logs -n digger deployment/digger-backend --tail=100 -f
251
+ ```
208
252
209
- ` ` ` yaml values.yaml
210
- digger :
211
- resources :
212
- requests :
213
- cpu : 100m
214
- memory : 128Mi
215
- limits :
216
- cpu : 500m
217
- memory : 512Mi
218
- ` ` `
253
+ 2 . ** Verify webhook deliveries in GitHub: **
254
+ - Go to your GitHub App settings: ` https://github.com/settings/apps/your-app-name `
255
+ - Click on "Advanced" tab
256
+ - Check "Recent Deliveries" for failed webhook attempts
257
+ - Look for 4xx/5xx HTTP status codes or connection timeouts
258
+
259
+ 3 . ** Common webhook issues: **
260
+ - Ensure your hostname is accessible from GitHub
261
+ - Check that your ingress is properly configured
262
+ - Verify SSL certificates are valid
219
263
</Accordion >
220
264
221
- <Accordion title="Full values.yaml example">
222
- ` ` ` yaml values.yaml
223
- digger :
224
- image :
225
- repository : registry.digger.dev/diggerhq/digger_backend
226
- tag : " v0.6.106"
227
- pullPolicy : IfNotPresent
228
-
229
- service :
230
- type : ClusterIP
231
- port : 3000
232
-
233
- ingress :
234
- enabled : true
235
- host : " digger.example.com"
236
- annotations :
237
- kubernetes.io/ingress.class : " nginx"
238
- cert-manager.io/cluster-issuer : " letsencrypt-prod"
239
-
240
- secret :
241
- httpBasicAuthUsername : " admin"
242
- httpBasicAuthPassword : " secure-password-123"
243
- bearerAuthToken : " secure-bearer-token-456"
244
- hostname : " https://digger.example.com" # Include https:// prefix
245
-
246
- githubOrg : " your-github-org"
247
- githubAppID : " 123456"
248
- githubAppClientID : " Iv1.abc123def456"
249
- githubAppClientSecret : " github_app_client_secret"
250
- githubAppKeyFile : " LS0tLS1CRUdJTi..."
251
- githubWebhookSecret : " webhook_secret"
252
-
253
- postgres :
254
- user : " digger"
255
- database : " digger"
256
- host : " postgresql.example.com"
257
- password : " postgres-password"
258
- sslmode : " require"
259
-
260
- resources :
261
- requests :
262
- cpu : 100m
263
- memory : 128Mi
264
- limits :
265
- cpu : 500m
266
- memory : 512Mi
267
-
268
- # For testing only - use external database in production
269
- postgres :
270
- enabled : false
271
- # If you enable the built-in postgres:
272
- # secret:
273
- # useExistingSecret: false
274
- # password: "test-password"
275
- ```
276
- </Accordion >
0 commit comments