Skip to content

Commit

Permalink
fix: refactor usage collection
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaofei-du committed Jun 16, 2022
1 parent 455ef7a commit c6a41f6
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 24 deletions.
8 changes: 2 additions & 6 deletions config/config.go
Expand Up @@ -53,12 +53,8 @@ type DatabaseConfig struct {
}

type UsageBackendConfig struct {
Host string `koanf:"host"`
Port int `koanf:"port"`
HTTPS struct {
Cert string `koanf:"cert"`
Key string `koanf:"key"`
}
Host string `koanf:"host"`
Port int `koanf:"port"`
}

// Init - Assign global config to decoded config struct
Expand Down
7 changes: 2 additions & 5 deletions config/config.yaml
Expand Up @@ -21,8 +21,5 @@ database:
maxconnections: 10
connlifetime: 30m # In minutes, e.g., '60m'
usagebackend:
host: localhost
port: 8084
https:
cert: # /ssl/tls.crt
key: # /ssl/tls.crt
host: usage.instill.tech
port: 443
41 changes: 28 additions & 13 deletions internal/external/external.go
@@ -1,11 +1,14 @@
package external

import (
"crypto/tls"
"crypto/x509"
"fmt"
"time"

"google.golang.org/grpc"
"google.golang.org/grpc/backoff"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"

"github.com/instill-ai/mgmt-backend/config"
"github.com/instill-ai/mgmt-backend/internal/logger"
Expand All @@ -17,20 +20,32 @@ import (
func InitUsageServiceClient() (usagePB.UsageServiceClient, *grpc.ClientConn) {
logger, _ := logger.GetZapLogger()

var clientDialOpts grpc.DialOption
var usageCreds credentials.TransportCredentials
var err error
if config.Config.UsageBackend.HTTPS.Cert != "" && config.Config.UsageBackend.HTTPS.Key != "" {
usageCreds, err = credentials.NewServerTLSFromFile(config.Config.UsageBackend.HTTPS.Cert, config.Config.UsageBackend.HTTPS.Key)
if err != nil {
logger.Fatal(err.Error())
}
clientDialOpts = grpc.WithTransportCredentials(usageCreds)
} else {
clientDialOpts = grpc.WithTransportCredentials(insecure.NewCredentials())
roots, err := x509.SystemCertPool()
if err != nil {
logger.Fatal(err.Error())
}

tlsConfig := tls.Config{
RootCAs: roots,
InsecureSkipVerify: true,
NextProtos: []string{"h2"},
}
clientDialOpts := grpc.WithTransportCredentials(credentials.NewTLS(&tlsConfig))

clientConn, err := grpc.Dial(
fmt.Sprintf("%v:%v", config.Config.UsageBackend.Host, config.Config.UsageBackend.Port),
clientDialOpts,
grpc.WithConnectParams(grpc.ConnectParams{
Backoff: backoff.Config{
BaseDelay: 500 * time.Millisecond,
Multiplier: 1.5,
Jitter: 0.2,
MaxDelay: 19 * time.Second,
},
MinConnectTimeout: 5 * time.Second,
}),
)

clientConn, err := grpc.Dial(fmt.Sprintf("%v:%v", config.Config.UsageBackend.Host, config.Config.UsageBackend.Port), clientDialOpts)
if err != nil {
logger.Fatal(err.Error())
}
Expand Down

0 comments on commit c6a41f6

Please sign in to comment.