16
16
package main
17
17
18
18
import (
19
- "errors"
20
19
"flag"
21
- "fmt"
22
20
"os"
23
21
"time"
24
22
25
- "github.com/chainloop-dev/chainloop/internal/credentials"
26
- awssecrets "github.com/chainloop-dev/chainloop/internal/credentials/aws"
27
- "github.com/chainloop-dev/chainloop/internal/credentials/gcp"
28
- "github.com/chainloop-dev/chainloop/internal/credentials/vault"
23
+ credsConfig "github.com/chainloop-dev/chainloop/internal/credentials/api/credentials/v1"
29
24
"github.com/getsentry/sentry-go"
30
25
31
26
"github.com/chainloop-dev/chainloop/app/artifact-cas/internal/conf"
@@ -108,7 +103,7 @@ func main() {
108
103
panic (err )
109
104
}
110
105
111
- credentialsReader , err := newCredentialsReader (bc .GetCredentialsService (), logger )
106
+ credentialsReader , err := credsConfig . NewFromConfig (bc .GetCredentialsService (), logger )
112
107
if err != nil {
113
108
panic (err )
114
109
}
@@ -125,83 +120,6 @@ func main() {
125
120
}
126
121
}
127
122
128
- func newCredentialsReader (conf * conf.Credentials , l log.Logger ) (credentials.Reader , error ) {
129
- awsc , vaultc , gcpc := conf .GetAwsSecretManager (), conf .GetVault (), conf .GetGcpSecretManager ()
130
- if awsc == nil && vaultc == nil && gcpc == nil {
131
- return nil , errors .New ("no credentials manager configuration found" )
132
- }
133
-
134
- if awsc != nil {
135
- return newAWSCredentialsManager (awsc , l )
136
- }
137
-
138
- if gcpc != nil {
139
- return newGCPCredentialsManager (gcpc , l )
140
- }
141
-
142
- return newVaultCredentialsManager (vaultc , l )
143
- }
144
-
145
- func newAWSCredentialsManager (conf * conf.Credentials_AWSSecretManager , l log.Logger ) (* awssecrets.Manager , error ) {
146
- if conf == nil {
147
- return nil , errors .New ("incompleted configuration for AWS secret manager" )
148
- }
149
-
150
- opts := & awssecrets.NewManagerOpts {
151
- Region : conf .Region ,
152
- AccessKey : conf .GetCreds ().GetAccessKey (), SecretKey : conf .GetCreds ().GetSecretKey (),
153
- Logger : l ,
154
- }
155
-
156
- m , err := awssecrets .NewManager (opts )
157
- if err != nil {
158
- return nil , fmt .Errorf ("configuring the secrets manager: %w" , err )
159
- }
160
-
161
- _ = l .Log (log .LevelInfo , "msg" , "secrets manager configured" , "backend" , "AWS secret manager" )
162
-
163
- return m , nil
164
- }
165
-
166
- func newVaultCredentialsManager (conf * conf.Credentials_Vault , l log.Logger ) (* vault.Manager , error ) {
167
- if conf == nil {
168
- return nil , errors .New ("incompleted configuration for vault credentials manager" )
169
- }
170
-
171
- opts := & vault.NewManagerOpts {
172
- AuthToken : conf .Token , Address : conf .Address ,
173
- MountPath : conf .MountPath , Logger : l ,
174
- }
175
-
176
- m , err := vault .NewManager (opts )
177
- if err != nil {
178
- return nil , fmt .Errorf ("configuring vault: %w" , err )
179
- }
180
-
181
- _ = l .Log (log .LevelInfo , "msg" , "secrets manager configured" , "backend" , "Vault" )
182
-
183
- return m , nil
184
- }
185
-
186
- func newGCPCredentialsManager (conf * conf.Credentials_GCPSecretManager , l log.Logger ) (* gcp.Manager , error ) {
187
- if conf == nil {
188
- return nil , errors .New ("uncompleted configuration for GCP secret manager" )
189
- }
190
-
191
- opts := & gcp.NewManagerOpts {
192
- ProjectID : conf .ProjectId ,
193
- ServiceAccountKey : conf .ServiceAccountKey ,
194
- Logger : l ,
195
- }
196
-
197
- m , err := gcp .NewManager (opts )
198
- if err != nil {
199
- return nil , fmt .Errorf ("configuring the GCP secret manager: %w" , err )
200
- }
201
-
202
- return m , nil
203
- }
204
-
205
123
func initSentry (c * conf.Bootstrap , logger log.Logger ) (cleanupFunc func (), err error ) {
206
124
cleanupFunc = func () {
207
125
sentry .Flush (2 * time .Second )
0 commit comments