Skip to content

Commit 0293a89

Browse files
authored
fix(secretmanager): add role and fix secretPrefix (#316)
Signed-off-by: Miguel Martinez Trivino <[email protected]>
1 parent 3fd5619 commit 0293a89

File tree

17 files changed

+156
-79
lines changed

17 files changed

+156
-79
lines changed

app/artifact-cas/cmd/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ import (
2020
"os"
2121
"time"
2222

23-
credsConfig "github.com/chainloop-dev/chainloop/internal/credentials/api/credentials/v1"
2423
"github.com/getsentry/sentry-go"
2524

2625
"github.com/chainloop-dev/chainloop/app/artifact-cas/internal/conf"
2726
"github.com/chainloop-dev/chainloop/app/artifact-cas/internal/server"
27+
"github.com/chainloop-dev/chainloop/internal/credentials"
28+
"github.com/chainloop-dev/chainloop/internal/credentials/manager"
2829
"github.com/chainloop-dev/chainloop/internal/servicelogger"
2930

3031
"github.com/go-kratos/kratos/v2"
@@ -103,7 +104,7 @@ func main() {
103104
panic(err)
104105
}
105106

106-
credentialsReader, err := credsConfig.NewFromConfig(bc.GetCredentialsService(), logger)
107+
credentialsReader, err := manager.NewFromConfig(bc.GetCredentialsService(), credentials.RoleReader, logger)
107108
if err != nil {
108109
panic(err)
109110
}

app/artifact-cas/configs/config.devel.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ server:
1313
addr: 0.0.0.0:5001
1414

1515
credentials_service:
16+
# we will check that we can read there
17+
secret_prefix: chainloop-devel
1618
# Remember to run vault via docker compose up
1719
vault:
1820
address: ${VAULT_ADDRESS:http://0.0.0.0:8200}

app/artifact-cas/configs/samples/config.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ server:
1313
addr: 0.0.0.0:5001
1414

1515
credentials_service:
16+
# We use the prefix to check that we can read from it on initialization
17+
secret_prefix: chainloop-devel
1618
# Remember to run vault via docker compose up
1719
vault:
1820
address: ${VAULT_ADDRESS:http://0.0.0.0:8200}

app/controlplane/cmd/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import (
3131
backends "github.com/chainloop-dev/chainloop/internal/blobmanager"
3232
"github.com/chainloop-dev/chainloop/internal/blobmanager/oci"
3333
"github.com/chainloop-dev/chainloop/internal/credentials"
34-
credsConfig "github.com/chainloop-dev/chainloop/internal/credentials/api/credentials/v1"
34+
"github.com/chainloop-dev/chainloop/internal/credentials/manager"
3535
"github.com/chainloop-dev/chainloop/internal/servicelogger"
3636

3737
"github.com/go-kratos/kratos/v2"
@@ -105,7 +105,7 @@ func main() {
105105
panic(err)
106106
}
107107

108-
credsWriter, err := credsConfig.NewFromConfig(bc.GetCredentialsService(), logger)
108+
credsWriter, err := manager.NewFromConfig(bc.GetCredentialsService(), credentials.RoleWriter, logger)
109109
if err != nil {
110110
panic(err)
111111
}

app/controlplane/configs/config.devel.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ credentials_service:
2727
vault:
2828
address: ${VAULT_ADDRESS:http://0.0.0.0:8200}
2929
token: ${VAULT_TOKEN:notasecret}
30-
secret_prefix: chainloop-devel
30+
secret_prefix: chainloop-devel
3131

3232
data:
3333
database:

app/controlplane/configs/samples/config.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,13 @@ credentials_service:
2525
vault:
2626
address: ${VAULT_ADDRESS:http://0.0.0.0:8200}
2727
token: ${VAULT_TOKEN:notasecret}
28-
secret_prefix: chainloop-devel
28+
secret_prefix: chainloop-devel
2929
# aws_secret_manager:
3030
# creds:
3131
# access_key: not-a-key
3232
# secret_key: not-a-secret
3333
# region: us-east-1
34-
# secret_prefix: i-e chainloop-devel
3534

3635
# gcp_secret_manager:
3736
# project_id: 522312304548
38-
# auth_key: "./configs/gcp_auth_key.json"
39-
# secret_prefix: "pre-"
37+
# auth_key: "./configs/gcp_auth_key.json"

deployment/chainloop/templates/_helpers.tpl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ WBiBSPaJtz6JYk/fye4=
5959

6060
{{- define "chainloop.credentials_service_settings" -}}
6161
{{- with .Values.secretsBackend }}
62+
secretPrefix: {{ required "secret prefix required" .secretPrefix | quote }}
6263
{{- if eq .backend "vault" }}
6364
vault:
64-
secretPrefix: {{ required "secret prefix required" .secretPrefix | quote }}
6565
{{- if and $.Values.development (or (not .vault) not .vault.address) }}
6666
address: {{ printf "http://%s:8200" (include "chainloop.vault.fullname" $) | quote }}
6767
token: {{ $.Values.vault.server.dev.devRootToken | quote }}
@@ -72,15 +72,13 @@ vault:
7272

7373
{{- else if eq .backend "awsSecretManager" }}
7474
awsSecretManager:
75-
secretPrefix: {{ required "secret prefix required" .secretPrefix | quote }}
7675
region: {{ required "region required" .awsSecretManager.region | quote }}
7776
creds:
7877
accessKey: {{ required "access key required" .awsSecretManager.accessKey | quote }}
7978
secretKey: {{ required "secret key required" .awsSecretManager.secretKey | quote }}
8079

8180
{{- else if eq .backend "gcpSecretManager" }}
8281
gcpSecretManager:
83-
secretPrefix: {{ required "secret prefix required" .secretPrefix | quote }}
8482
projectId: {{ required "project id required" .gcpSecretManager.projectId | quote }}
8583
serviceAccountKey: "/gcp-secrets/serviceAccountKey.json"
8684
{{- if eq .gcpSecretManager.serviceAccountKey "" }}

internal/credentials/api/credentials/v1/config.pb.go

Lines changed: 49 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/credentials/api/credentials/v1/config.pb.validate.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/credentials/api/credentials/v1/config.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ message Credentials {
2929
GCPSecretManager gcp_secret_manager = 3;
3030
}
3131

32+
// prefix used while writing a new secret
33+
string secret_prefix = 4;
34+
3235
// Top level is deprecated now
3336
message AWSSecretManager {
3437
Creds creds = 1 [(validate.rules).message.required = true];

0 commit comments

Comments
 (0)