@@ -184,93 +184,81 @@ description: "Learn how to use Helm chart to install Digger on your Kubernetes c
184184 - The link will look like: ` https://github.com/apps/your-digger-app-name/installations/new `
185185 - Install the app in your GitHub organization
186186 - 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:**
187200
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 >
189213 </Step >
190214
191215</Steps >
192216
193- ## Advanced Configuration
217+ ## Troubleshooting
194218
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 :
197221
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+ ```
204243</Accordion >
205244
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+ ```
208252
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
219263</Accordion >
220264
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