1616package cmd
1717
1818import (
19- "crypto/x509"
2019 "errors"
2120 "fmt"
2221 "os"
2322 "path/filepath"
2423
2524 "github.com/adrg/xdg"
2625 "github.com/chainloop-dev/chainloop/app/cli/internal/action"
27- "github.com/chainloop-dev/chainloop/app/cli/internal/bearertoken"
28- grpc_retry "github.com/grpc-ecosystem/go-grpc-middleware/retry"
26+ "github.com/chainloop-dev/chainloop/internal/grpcconn"
2927 "github.com/rs/zerolog"
3028 "github.com/spf13/cobra"
3129 "github.com/spf13/viper"
3230 "google.golang.org/grpc"
33- "google.golang.org/grpc/credentials"
34- grpc_insecure "google.golang.org/grpc/credentials/insecure"
3531)
3632
3733var (
@@ -75,7 +71,11 @@ func NewRootCmd(l zerolog.Logger) *cobra.Command {
7571 }
7672 }
7773
78- conn , err := newGRPCConnection (viper .GetString (confOptions .controlplaneAPI .viperKey ), storedToken , flagInsecure , logger )
74+ if flagInsecure {
75+ logger .Warn ().Msg ("API contacted in insecure mode" )
76+ }
77+
78+ conn , err := grpcconn .New (viper .GetString (confOptions .controlplaneAPI .viperKey ), storedToken , flagInsecure )
7979 if err != nil {
8080 return err
8181 }
@@ -85,7 +85,7 @@ func NewRootCmd(l zerolog.Logger) *cobra.Command {
8585 return nil
8686 },
8787 PersistentPostRunE : func (cmd * cobra.Command , args []string ) error {
88- return cleanup (logger , actionOpts .CPConnecction )
88+ return cleanup (logger , actionOpts .CPConnection )
8989 },
9090 }
9191
@@ -163,42 +163,8 @@ func initConfigFile() {
163163 cobra .CheckErr (viper .ReadInConfig ())
164164}
165165
166- func newGRPCConnection (uri , authToken string , insecure bool , logger zerolog.Logger ) (* grpc.ClientConn , error ) {
167- var opts []grpc.DialOption
168- if authToken != "" {
169- grpcCreds := bearertoken .NewTokenAuth (authToken , flagInsecure )
170-
171- opts = []grpc.DialOption {
172- grpc .WithPerRPCCredentials (grpcCreds ),
173- // Retry using default configuration
174- grpc .WithUnaryInterceptor (grpc_retry .UnaryClientInterceptor ()),
175- }
176- }
177-
178- var tlsDialOption grpc.DialOption
179- if insecure {
180- logger .Warn ().Msg ("API contacted in insecure mode" )
181- tlsDialOption = grpc .WithTransportCredentials (grpc_insecure .NewCredentials ())
182- } else {
183- certsPool , err := x509 .SystemCertPool ()
184- if err != nil {
185- return nil , err
186- }
187- tlsDialOption = grpc .WithTransportCredentials (credentials .NewClientTLSFromCert (certsPool , "" ))
188- }
189-
190- opts = append (opts , tlsDialOption )
191-
192- conn , err := grpc .Dial (uri , opts ... )
193- if err != nil {
194- return nil , err
195- }
196-
197- return conn , nil
198- }
199-
200166func newActionOpts (logger zerolog.Logger , conn * grpc.ClientConn ) * action.ActionsOpts {
201- return & action.ActionsOpts {CPConnecction : conn , Logger : logger }
167+ return & action.ActionsOpts {CPConnection : conn , Logger : logger }
202168}
203169
204170func cleanup (logger zerolog.Logger , conn * grpc.ClientConn ) error {
0 commit comments