Skip to content

Commit 17d5c0d

Browse files
authored
chore(docs): update Helm Chart readme with Azure KeyVault info (#394)
Signed-off-by: Miguel Martinez Trivino <[email protected]>
1 parent 88e6d9b commit 17d5c0d

File tree

5 files changed

+42
-13
lines changed

5 files changed

+42
-13
lines changed

app/artifact-cas/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Its structure contains the following top to down layers.
2020

2121
## System Dependencies
2222

23-
The CAS proxy **has only one running dependency**. A secret storage backend to retrieve the OCI repository credentials. Currently, we support [Hashicorp Vault](https://www.vaultproject.io/), [AWS Secret Manager](https://aws.amazon.com/secrets-manager/) AND [GCP Secret Manager](https://cloud.google.com/secret-manager).
23+
The CAS proxy **has only one running dependency**. A secret storage backend to retrieve the OCI repository credentials. Currently, we support [Hashicorp Vault](https://www.vaultproject.io/), [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/) AND [GCP Secret Manager](https://cloud.google.com/secret-manager).
2424

2525
This secret backend is used to download OCI repository credentials (repository path + key pair) during upload/downloads. This makes the Artifact CAS multi-tenant by default since the destination OCI backend gets selected at runtime.
2626

app/controlplane/configs/samples/config.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ cas_server:
2727

2828
# Where to store credentials such as OCI registries or third party integrations secrets
2929
credentials_service:
30-
# You can use either vault or aws secret manager
3130
vault:
3231
address: ${VAULT_ADDRESS:http://0.0.0.0:8200}
3332
token: ${VAULT_TOKEN:notasecret}

deployment/chainloop/README.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ The Helm Chart in this mode includes
5050
During installation, you'll need to provide
5151

5252
- Open ID Connect Identity Provider (IDp) settings i.e [Auth0 settings](https://auth0.com/docs/get-started/applications/application-settings#basic-information)
53-
- Connection settings for a secrets storage backend, either [Hashicorp Vault](https://www.vaultproject.io/) or [AWS Secret Manager](https://aws.amazon.com/secrets-manager)
53+
- Connection settings for a secrets storage backend, either [Hashicorp Vault](https://www.vaultproject.io/) or [AWS Secrets Manager](https://aws.amazon.com/secrets-manager)
5454
- ECDSA (ES512) key-pair used for Controlplane <-> CAS Authentication
5555

5656
Instructions on how to create the ECDSA keypair can be found [here](#generate-a-ecdsa-key-pair).
@@ -75,7 +75,7 @@ helm install [RELEASE_NAME] oci://ghcr.io/chainloop-dev/charts/chainloop \
7575
--set casJWTPublicKey="$(cat public.pem)"
7676
```
7777

78-
Deploy using AWS secret manager instead of Vault
78+
Deploy using AWS Secrets Manager instead of Vault
7979

8080
```console
8181
helm install [RELEASE_NAME] oci://ghcr.io/chainloop-dev/charts/chainloop \
@@ -90,7 +90,7 @@ helm install [RELEASE_NAME] oci://ghcr.io/chainloop-dev/charts/chainloop \
9090
# ...
9191
```
9292

93-
Deploy using GCP secret manager instead of Vault
93+
or using GCP Secret Manager
9494

9595
```console
9696
helm install [RELEASE_NAME] oci://ghcr.io/chainloop-dev/charts/chainloop \
@@ -104,6 +104,22 @@ helm install [RELEASE_NAME] oci://ghcr.io/chainloop-dev/charts/chainloop \
104104
# ...
105105
```
106106

107+
or Azure KeyVault
108+
109+
```console
110+
helm install [RELEASE_NAME] oci://ghcr.io/chainloop-dev/charts/chainloop \
111+
# Open ID Connect (OIDC)
112+
# ...
113+
# Secrets backend
114+
--set secretsBackend.backend=azureKeyVault \
115+
--set secretsBackend.azureKeyVault.tenantID=[AD tenant ID] \
116+
--set secretsBackend.azureKeyVault.clientID=[Service Principal ID] \
117+
--set secretsBackend.azureKeyVault.clientSecret=[Service Principal secret] \
118+
--set secretsBackend.azureKeyVault.vaultURI=[Azure KeyVault URI]
119+
# Server Auth KeyPair
120+
# ...
121+
```
122+
107123
Connect to an external PostgreSQL database instead
108124

109125
```console
@@ -142,7 +158,7 @@ The Helm Chart in this mode includes
142158
During installation, you'll need to provide
143159

144160
- Open ID Connect Identity Provider (IDp) settings i.e [Auth0 settings](https://auth0.com/docs/get-started/applications/application-settings#basic-information)
145-
- ~~Connection settings for a secrets storage backend, either [Hashicorp Vault](https://www.vaultproject.io/) or [AWS Secret Manager](https://aws.amazon.com/secrets-manager)~~
161+
- ~~Connection settings for a secrets storage backend, either [Hashicorp Vault](https://www.vaultproject.io/) or [AWS Secrets Manager](https://aws.amazon.com/secrets-manager)~~
146162
- ~~ECDSA (ES512) key-pair used for Controlplane <-> CAS Authentication~~
147163

148164
#### Installation Examples
@@ -309,9 +325,9 @@ controlplane:
309325
database: chainloop-controlplane-prod
310326
```
311327

312-
### Use AWS secret manager
328+
### Use AWS secrets manager
313329

314-
You can swap the secret manager backend with the following settings
330+
Instead of using [Hashicorp Vault](https://www.vaultproject.io/) (default), you can use [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/) by adding these settings in your `values.yaml` file
315331

316332
```yaml
317333
secretsBackend:
@@ -324,7 +340,7 @@ secretsBackend:
324340

325341
### Use GCP secret manager
326342

327-
You can swap the secret manager backend with the following settings
343+
Or [Google Cloud Secret Manager](https://cloud.google.com/secret-manager) with the following settings
328344

329345
```yaml
330346
secretsBackend:
@@ -334,6 +350,21 @@ secretsBackend:
334350
serviceAccountKey: [KEY]
335351
```
336352

353+
### Use Azure KeyVault
354+
355+
[Azure KeyVault](https://azure.microsoft.com/en-us/products/key-vault/) is also supported
356+
357+
```yaml
358+
secretsBackend:
359+
backend: azureKeyVault
360+
azureKeyVault:
361+
tenantID: [TENANT_ID] # Active Directory Tenant ID
362+
clientID: [CLIENT_ID] # Registered application / service principal client ID
363+
clientSecret: [CLIENT_SECRET] # Service principal client secret
364+
vaultURI: [VAULT URI] # Azure Key Vault URL
365+
366+
```
367+
337368
### Send exceptions to Sentry
338369

339370
You can configure different sentry projects for both the controlplane and the artifact CAS
@@ -391,7 +422,7 @@ chainloop config save \
391422
| `secretsBackend.vault.token` | Vault authentication token | |
392423
| `secretsBackend.awsSecretManager.accessKey` | AWS Access KEY ID | |
393424
| `secretsBackend.awsSecretManager.secretKey` | AWS Secret Key | |
394-
| `secretsBackend.awsSecretManager.region` | AWS Secret Manager Region | |
425+
| `secretsBackend.awsSecretManager.region` | AWS Secrets Manager Region | |
395426
| `secretsBackend.gcpSecretManager.projectId` | GCP Project ID | |
396427
| `secretsBackend.gcpSecretManager.serviceAccountKey` | GCP Auth Key | |
397428
| `secretsBackend.azureKeyVault.tenantID` | Active Directory Tenant ID | |

deployment/chainloop/values.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ secretsBackend:
2929
##
3030
secretPrefix: "chainloop"
3131

32-
# Either vault, AWS secret manager or GCP secret manager enabled at the same time
3332
## @extra secretsBackend.vault.address Vault address
3433
## @extra secretsBackend.vault.token Vault authentication token
3534
##
@@ -39,7 +38,7 @@ secretsBackend:
3938

4039
## @extra secretsBackend.awsSecretManager.accessKey AWS Access KEY ID
4140
## @extra secretsBackend.awsSecretManager.secretKey AWS Secret Key
42-
## @extra secretsBackend.awsSecretManager.region AWS Secret Manager Region
41+
## @extra secretsBackend.awsSecretManager.region AWS Secrets Manager Region
4342
##
4443
# awsSecretManager:
4544
# accessKey: ""

devel/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ To get up and running you'll need
1919
Chainloop requires some configuration to be in place such as
2020

2121
- PostgreSQL 14 connection from the Control plane
22-
- Access to a secrets manager. Currently Hashicorp Vault and AWS secret manager are supported.
22+
- Access to a secrets manager. Currently Hashicorp Vault, AWS Secrets Manager, GCP Secret Manager and Azure KeyVault are supported.
2323
- Open ID connect (OIDC) single sign-on credentials.
2424

2525
Luckily, you can leverage the provided docker compose file that can be found in the `devel` directory to do all the setup for you.

0 commit comments

Comments
 (0)