[#139] Add root ca cert for telemetry configuration
All checks were successful
/ DCO (pull_request) Successful in 1m31s
/ Builds (pull_request) Successful in 1m19s
/ Vulncheck (pull_request) Successful in 1m41s
/ Lint (pull_request) Successful in 2m26s
/ Tests (pull_request) Successful in 1m30s

Signed-off-by: Aleksey Savaitan <a.savaitan@yadro.com>
This commit is contained in:
Aleksey Savaitan 2024-09-10 10:09:51 +03:00
parent 843708a558
commit 7e80f0cce6
7 changed files with 102 additions and 102 deletions

View file

@ -3,6 +3,7 @@ package main
import (
"bytes"
"context"
"crypto/x509"
"errors"
"fmt"
"net/http"
@ -737,6 +738,22 @@ func (a *app) initTracing(ctx context.Context) {
InstanceID: instanceID,
Version: Version,
}
if trustedCa := a.cfg.GetString(cfgTracingTrustedCa); trustedCa != "" {
caBytes, err := os.ReadFile(trustedCa)
if err != nil {
a.log.Warn(logs.FailedToInitializeTracing, zap.Error(err))
return
}
certPool := x509.NewCertPool()
ok := certPool.AppendCertsFromPEM(caBytes)
if !ok {
a.log.Warn(logs.FailedToInitializeTracing, zap.String("error", "can't fill cert pool by ca cert"))
return
}
cfg.ServerCaCertPool = certPool
}
updated, err := tracing.Setup(ctx, cfg)
if err != nil {
a.log.Warn(logs.FailedToInitializeTracing, zap.Error(err))