You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: helm-charts/CLAUDE.md
+47-12Lines changed: 47 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
6
6
7
7
This subdirectory contains the official Helm charts for Digger, an open-source CI/CD tool for Terraform. Currently maintains one chart: `digger-backend`.
8
8
9
+
**Important**: This is part of the main digger monorepo. Helm charts are developed here but published to OCI registry for distribution.
-`backend-ingress.yaml` - Ingress configuration (enabled by default)
45
47
46
48
### CI/CD Workflows
47
-
-**Pull Request Testing**: Automatically runs `helm unittest` on PR changes
48
-
-**Release Process**: On merge to main, runs linting, testing, and publishes to GitHub Pages
49
+
-**Pull Request Testing** (`.github/workflows/helm-test.yml`): Runs `helm unittest` and linting on PR changes to helm-charts/
50
+
-**Release Process** (`.github/workflows/helm-release.yml`): On merge to main, publishes to GitHub Container Registry at `oci://ghcr.io/diggerhq/helm-charts/digger-backend`
51
+
-**Installation**: Users install directly from OCI registry, not GitHub Pages
49
52
50
53
### Important Configuration Patterns
51
54
52
55
1.**Secret Management**: The chart supports both direct values and references to existing secrets:
53
56
```yaml
54
57
# Direct values
55
-
secrets:
56
-
githubAppID: "12345"
58
+
digger:
59
+
secret:
60
+
githubAppID: "12345"# Note: uppercase ID
61
+
githubAppKeyFile: "<base64-encoded>"# Not githubAppPrivateKey
57
62
58
63
# Or reference existing secret
59
-
existingSecret: "my-existing-secret"
64
+
digger:
65
+
secret:
66
+
useExistingSecret: true
67
+
existingSecretName: "my-existing-secret"
60
68
```
69
+
70
+
**Critical**: Configuration uses `secret` (singular), not `secrets`. Field names are case-sensitive (e.g., `githubAppID` not `githubAppId`)
61
71
62
-
2. **Database Configuration**: Can use external PostgreSQL or deploy test instance:
72
+
2. **Database Configuration**: PostgreSQL configuration is under `digger.postgres`:
- Unit tests in `digger-backend/tests/` verify template rendering
79
94
- Tests use helm-unittest framework with snapshot testing
80
-
- CI automatically runs tests on PRs and before releases
95
+
- CI automatically runs tests on PRs and before releases
96
+
97
+
## Monorepo Integration Notes
98
+
99
+
1. **Directory Structure**: Helm charts live in `/helm-charts/` subdirectory of main digger repo, with charts directly under it (not nested in `/charts/`)
100
+
101
+
2. **Publishing Strategy**:
102
+
- Charts are developed in the main repo but published to GitHub Container Registry (OCI)
103
+
- Users install from `oci://ghcr.io/diggerhq/helm-charts/digger-backend`
104
+
- No longer using separate helm-charts repository or GitHub Pages
105
+
106
+
3. **Version Management**:
107
+
- Chart version is in `Chart.yaml` (e.g., `version: 0.1.12`)
108
+
- App version should match the digger backend version (e.g., `appVersion: "v0.6.106"`)
109
+
- Default image tag in `values.yaml` should typically match appVersion
110
+
111
+
4. **Common Issues to Watch For**:
112
+
- Configuration key names are case-sensitive (`githubAppID` not `githubAppId`)
113
+
- Use `secret` (singular) not `secrets` in configuration
114
+
- GitHub App private key field is `githubAppKeyFile` (base64 encoded), not `githubAppPrivateKey`
115
+
- PostgreSQL config is under `digger.postgres`, not in a `databaseURL` field
0 commit comments