Skip to content

Commit 3c86c3c

Browse files
authored
Merge pull request #2055 from diggerhq/docs/add-helm-verification-step
Docs/add helm verification step
2 parents 2678e75 + a0e8ba1 commit 3c86c3c

File tree

3 files changed

+66
-78
lines changed

3 files changed

+66
-78
lines changed

docs/ce/self-host/deploy-helm.mdx

Lines changed: 66 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -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>

docs/images/digger-plan-checks.png

184 KB
Loading

docs/images/digger-plan-jobs.png

140 KB
Loading

0 commit comments

Comments
 (0)