Skip to content

Commit 09d796d

Browse files
committed
address review: enumerate all KMS providers in switch, error on unknown
Per review on #4243 (comment) — define KmsProviderAWS/KmsProviderGCP constants, list all cases (aws + empty for back-compat, gcp), default branch returns an error matching the Rust side in nexus/catalog/src/lib.rs:43-47.
1 parent 018b7e6 commit 09d796d

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

flow/internal/env.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ import (
2121
const (
2222
KmsKeyIDEnvVar = "PEERDB_KMS_KEY_ID"
2323
KmsProviderEnvVar = "PEERDB_KMS_PROVIDER"
24+
25+
KmsProviderAWS = "aws"
26+
KmsProviderGCP = "gcp"
2427
)
2528

2629
// getEnvUint returns the value of the environment variable with the given name
@@ -74,12 +77,14 @@ func decryptWithKms(ctx context.Context, data []byte) ([]byte, error) {
7477
return data, nil
7578
}
7679

77-
provider := GetEnvString(KmsProviderEnvVar, "aws")
80+
provider := GetEnvString(KmsProviderEnvVar, KmsProviderAWS)
7881
switch provider {
79-
case "gcp":
82+
case KmsProviderAWS, "":
83+
return decryptWithAwsKms(ctx, data, keyID)
84+
case KmsProviderGCP:
8085
return decryptWithGcpKms(ctx, data, keyID)
8186
default:
82-
return decryptWithAwsKms(ctx, data, keyID)
87+
return nil, fmt.Errorf("unsupported KMS provider %q (expected %q or %q)", provider, KmsProviderAWS, KmsProviderGCP)
8388
}
8489
}
8590

0 commit comments

Comments
 (0)