소스 검색

Yandex Lockbox Connection Leaks (#835)

* fix Yandex Lockbox provider connection leaks (https://github.com/external-secrets/external-secrets/issues/833)

* fix Yandex Lockbox provider connection leaks (https://github.com/external-secrets/external-secrets/issues/833)
AndreyZamyslov 4 년 전
부모
커밋
45449dccc9
1개의 변경된 파일6개의 추가작업 그리고 10개의 파일을 삭제
  1. 6 10
      pkg/provider/yandex/lockbox/client/grpc/grpc.go

+ 6 - 10
pkg/provider/yandex/lockbox/client/grpc/grpc.go

@@ -40,6 +40,9 @@ func (lb *YandexCloudCreator) CreateLockboxClient(ctx context.Context, apiEndpoi
 	if err != nil {
 		return nil, err
 	}
+	defer func() {
+		_ = closeSDK(ctx, sdk)
+	}()
 
 	payloadAPIEndpoint, err := sdk.ApiEndpoint().ApiEndpoint().Get(ctx, &endpoint.GetApiEndpointRequest{
 		ApiEndpointId: "lockbox-payload", // the ID from https://api.cloud.yandex.net/endpoints
@@ -48,11 +51,6 @@ func (lb *YandexCloudCreator) CreateLockboxClient(ctx context.Context, apiEndpoi
 		return nil, err
 	}
 
-	err = closeSDK(ctx, sdk)
-	if err != nil {
-		return nil, err
-	}
-
 	tlsConfig := tls.Config{MinVersion: tls.VersionTLS12}
 
 	if caCertificate != nil {
@@ -85,17 +83,15 @@ func (lb *YandexCloudCreator) CreateIamToken(ctx context.Context, apiEndpoint st
 	if err != nil {
 		return nil, err
 	}
+	defer func() {
+		_ = closeSDK(ctx, sdk)
+	}()
 
 	iamToken, err := sdk.CreateIAMToken(ctx)
 	if err != nil {
 		return nil, err
 	}
 
-	err = closeSDK(ctx, sdk)
-	if err != nil {
-		return nil, err
-	}
-
 	return &client.IamToken{Token: iamToken.IamToken, ExpiresAt: iamToken.ExpiresAt.AsTime()}, nil
 }