Skip to content

Commit 442b1a7

Browse files
committed
internal/secret: add a must constructor for the secret client
Multiple packages have a need for a secret client which exits when the creation of the client failed. This change adds a must constructor which would eliminate the code being duplicated. For golang/go#37171 Change-Id: I7f56ee681e66c42e290fa00861cb00abb56a2f47 Reviewed-on: https://go-review.googlesource.com/c/build/+/255941 Trust: Carlos Amedee <[email protected]> Trust: Alexander Rakoczy <[email protected]> Run-TryBot: Carlos Amedee <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Alexander Rakoczy <[email protected]>
1 parent f1e0897 commit 442b1a7

File tree

9 files changed

+19
-65
lines changed

9 files changed

+19
-65
lines changed

cmd/coordinator/coordinator.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4064,11 +4064,7 @@ func mustCreateSecretClientOnGCE() *secret.Client {
40644064
if !metadata.OnGCE() {
40654065
return nil
40664066
}
4067-
client, err := secret.NewClient()
4068-
if err != nil {
4069-
log.Fatalf("unable to create secret client %v", err)
4070-
}
4071-
return client
4067+
return secret.MustNewClient()
40724068
}
40734069

40744070
func mustCreateEC2BuildletPool(sc *secret.Client) *pool.EC2Buildlet {

cmd/gerritbot/gerritbot.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,8 @@ func main() {
5656

5757
var secretClient *secret.Client
5858
if metadata.OnGCE() {
59-
var err error
60-
secretClient, err = secret.NewClient()
61-
if err != nil {
62-
log.Fatalf("unable to create a secret manager client: %v", err)
63-
}
59+
secretClient = secret.MustNewClient()
6460
}
65-
6661
if err := writeCookiesFile(secretClient); err != nil {
6762
log.Fatalf("writeCookiesFile(): %v", err)
6863
}

cmd/gitmirror/gitmirror.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func main() {
5757

5858
log.Printf("gitmirror running.")
5959

60-
sc := mustCreateSecretClient()
60+
sc := secret.MustNewClient()
6161
defer sc.Close()
6262

6363
go pollGerritAndTickle()
@@ -769,11 +769,3 @@ func handleDebugEnv(w http.ResponseWriter, r *http.Request) {
769769
fmt.Fprintf(w, "%s\n", kv)
770770
}
771771
}
772-
773-
func mustCreateSecretClient() *secret.Client {
774-
client, err := secret.NewClient()
775-
if err != nil {
776-
log.Fatalf("unable to create secret client %v", err)
777-
}
778-
return client
779-
}

cmd/gopherbot/gopherbot.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ func main() {
197197

198198
var sc *secret.Client
199199
if metadata.OnGCE() {
200-
sc = mustCreateSecretClient()
200+
sc = secret.MustNewClient()
201201
}
202202
ctx := context.Background()
203203

@@ -2311,11 +2311,3 @@ func printIssue(task string, repoID maintner.GitHubRepoID, gi *maintner.GitHubIs
23112311
fmt.Printf("\thttps://golang.org/issue/%v %s\n", gi.Number, gi.Title)
23122312
}
23132313
}
2314-
2315-
func mustCreateSecretClient() *secret.Client {
2316-
client, err := secret.NewClient()
2317-
if err != nil {
2318-
log.Fatalf("unable to create secret client %v", err)
2319-
}
2320-
return client
2321-
}

cmd/pubsubhelper/pubsubhelper.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func main() {
5858

5959
// webhooksecret should not be set in production
6060
if *webhookSecret == "" {
61-
sc := mustCreateSecretClient()
61+
sc := secret.MustNewClient()
6262
defer sc.Close()
6363

6464
ctxSc, cancel := context.WithTimeout(ctx, 10*time.Second)
@@ -428,11 +428,3 @@ func onNewConnection(c smtpd.Connection) error {
428428
log.Printf("smtpd: new connection from %v", c.Addr())
429429
return nil
430430
}
431-
432-
func mustCreateSecretClient() *secret.Client {
433-
client, err := secret.NewClient()
434-
if err != nil {
435-
log.Fatalf("unable to create secret client %v", err)
436-
}
437-
return client
438-
}

cmd/scaleway/scaleway.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ const (
5555
func main() {
5656
flag.Parse()
5757

58-
secretClient := mustCreateSecretClient()
58+
secretClient := secret.MustNewClient()
5959
defer secretClient.Close()
6060

6161
if *tags == "" && !*listAll { // Tags aren't needed if -list-all flag is set.
@@ -413,11 +413,3 @@ func getConnectedMachines() map[string]*revtype.ReverseBuilder {
413413
}
414414
return st.Machines
415415
}
416-
417-
func mustCreateSecretClient() *secret.Client {
418-
client, err := secret.NewClient()
419-
if err != nil {
420-
log.Fatalf("unable to create secret client %v", err)
421-
}
422-
return client
423-
}

internal/gitauth/gitauth.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func Init() error {
3232
return nil
3333
}
3434

35-
sc := mustCreateSecretClient()
35+
sc := secret.MustNewClient()
3636
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
3737
defer cancel()
3838

@@ -59,11 +59,3 @@ func homeDir() string {
5959
log.Fatalf("No HOME set in environment.")
6060
panic("unreachable")
6161
}
62-
63-
func mustCreateSecretClient() *secret.Client {
64-
client, err := secret.NewClient()
65-
if err != nil {
66-
log.Fatalf("unable to create secret client %v", err)
67-
}
68-
return client
69-
}

internal/secret/gcp_secret_manager.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package secret
99
import (
1010
"context"
1111
"io"
12+
"log"
1213
"path"
1314

1415
"cloud.google.com/go/compute/metadata"
@@ -105,3 +106,13 @@ func (smc *Client) Close() error {
105106
func buildNamePath(projectID, name, version string) string {
106107
return path.Join("projects", projectID, "secrets", name, "versions", version)
107108
}
109+
110+
// MustNewClient instantiates an instance of the Secret Manager Client. If there is an error
111+
// this fuction will exit.
112+
func MustNewClient() *Client {
113+
c, err := NewClient()
114+
if err != nil {
115+
log.Fatalf("unable to create secret client %v", err)
116+
}
117+
return c
118+
}

maintner/maintnerd/maintnerd.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ func setGodataConfig() {
366366

367367
func getGithubToken(ctx context.Context) (string, error) {
368368
if metadata.OnGCE() {
369-
sc := mustCreateSecretClient()
369+
sc := secret.MustNewClient()
370370

371371
ctxSc, cancel := context.WithTimeout(ctx, 10*time.Second)
372372
defer cancel()
@@ -503,11 +503,3 @@ func syncProdToDevMutationLogs() {
503503
}
504504
}
505505
}
506-
507-
func mustCreateSecretClient() *secret.Client {
508-
client, err := secret.NewClient()
509-
if err != nil {
510-
log.Fatalf("unable to create secret client %v", err)
511-
}
512-
return client
513-
}

0 commit comments

Comments
 (0)