Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions deployment/chainloop/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Chainloop is an open source software supply chain control plane, a

type: application
# Bump the patch (not minor, not major) version on each change in the Chart Source code
version: 1.8.1
version: 1.8.2
# Do not update appVersion, this is handled automatically by the release process
appVersion: v0.13.0

Expand All @@ -21,4 +21,4 @@ dependencies:
- condition: development
name: vault
repository: https://helm.releases.hashicorp.com
version: 0.24.x
version: 0.24.x
49 changes: 39 additions & 10 deletions deployment/chainloop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,20 @@ helm install [RELEASE_NAME] oci://ghcr.io/chainloop-dev/charts/chainloop \
# ...
```

Deploy using GCP secret manager instead of Vault

```console
helm install [RELEASE_NAME] oci://ghcr.io/chainloop-dev/charts/chainloop \
# Open ID Connect (OIDC)
# ...
# Secrets backend
--set secretsBackend.backend=gcpSecretManager \
--set secretsBackend.gcpSecretManager.projectId=[GCP Project ID] \
--set secretsBackend.gcpSecretManager.authKey=[GCP Auth KEY] \
# Server Auth KeyPair
# ...
```

Connect to an external PostgreSQL database instead

```console
Expand Down Expand Up @@ -292,6 +306,19 @@ secretsBackend:
secretKey: [SECRET]
region: [REGION]
```

### Use GCP secret manager

You can swap the secret manager backend with the following settings

```yaml
secretsBackend:
backend: gcpSecretManager
gcpSecretManager:
projectId: [PROJECT_ID]
authKey: [KEY]
```

### Send exceptions to Sentry

```yaml
Expand Down Expand Up @@ -332,15 +359,17 @@ chainloop config save \

### Secrets Backend

| Name | Description | Value |
| ------------------------------------------- | -------------------------------------------------------------------- | ----------- |
| `secretsBackend.backend` | Secrets backend type ("vault" or "awsSecretManager") | `vault` |
| `secretsBackend.secretPrefix` | Prefix that will be pre-pended to all secrets in the storage backend | `chainloop` |
| `secretsBackend.vault.address` | Vault address | |
| `secretsBackend.vault.token` | Vault authentication token | |
| `secretsBackend.awsSecretManager.accessKey` | AWS Access KEY ID | |
| `secretsBackend.awsSecretManager.secretKey` | AWS Secret Key | |
| `secretsBackend.awsSecretManager.region` | AWS Secret Manager Region | |
| Name | Description | Value |
| ------------------------------------------- | --------------------------------------------------------------------- | ----------- |
| `secretsBackend.backend` | Secrets backend type ("vault", "awsSecretManager", "gcpSecretManager")| `vault` |
| `secretsBackend.secretPrefix` | Prefix that will be pre-pended to all secrets in the storage backend | `chainloop` |
| `secretsBackend.vault.address` | Vault address | |
| `secretsBackend.vault.token` | Vault authentication token | |
| `secretsBackend.awsSecretManager.accessKey` | AWS Access KEY ID | |
| `secretsBackend.awsSecretManager.secretKey` | AWS Secret Key | |
| `secretsBackend.awsSecretManager.region` | AWS Secret Manager Region | |
| `secretsBackend.gcpSecretManager.projectId` | GCP Project ID | |
| `secretsBackend.gcpSecretManager.authKey` | GCP Auth Key | |

### Authentication

Expand Down Expand Up @@ -508,4 +537,4 @@ Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
7 changes: 7 additions & 0 deletions deployment/chainloop/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,13 @@ awsSecretManager:
creds:
accessKey: {{ required "access key required" .awsSecretManager.accessKey | quote }}
secretKey: {{ required "secret key required" .awsSecretManager.secretKey | quote }}

{{- else if eq .backend "gcpSecretManager" }}
gcpSecretManager:
secretPrefix: {{ required "secret prefix required" .secretPrefix | quote }}
projectId: {{ required "project id required" .gcpSecretManager.projectId | quote }}
authKey: {{ required "auth key required" .gcpSecretManager.authKey | quote }}

{{- end }}
{{- end }}
{{- end -}}
Expand Down
13 changes: 10 additions & 3 deletions deployment/chainloop/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@ sentry:

## Location where to store sensitive data. If development.true? and no overrides provided, the setup will connect to a development instance of Vault
secretsBackend:
## @param secretsBackend.backend Secrets backend type ("vault" or "awsSecretManager")
## @param secretsBackend.backend Secrets backend type ("vault", "awsSecretManager" or "gcpSecretManager")
##
backend: "vault" # "awsSecretManager"
## @param secretsBackend.secretPrefix Prefix that will be pre-pended to all secrets in the storage backend
##
secretPrefix: "chainloop"

# Either vault or AWS secret manager enabled at the same time
# Either vault, AWS secret manager or GCP secret manager enabled at the same time
## @extra secretsBackend.vault.address Vault address
## @extra secretsBackend.vault.token Vault authentication token
##
Expand All @@ -54,6 +54,13 @@ secretsBackend:
# secretKey: ""
# region: ""

## @extra secretsBackend.gcpSecretManager.projectId GCP Project ID
## @extra secretsBackend.gcpSecretManager.authKey GCP Auth Key
##
# gcpSecretManager:
# projectId: ""
# authKey: ""

## @section Authentication
##

Expand Down Expand Up @@ -632,4 +639,4 @@ vault:
server:
dev:
enabled: true
devRootToken: "notapassword"
devRootToken: "notapassword"