Skip to content

Commit

Permalink
Shorten grafana url only on CI
Browse files Browse the repository at this point in the history
  • Loading branch information
lukaszcl committed Sep 18, 2024
1 parent d88aa4d commit d3e317b
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 17 deletions.
2 changes: 1 addition & 1 deletion lib/config/logging.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ func (l *LokiConfig) Validate() error {

type GrafanaConfig struct {
BaseUrl *string `toml:"base_url"`
BaseUrlGap *string `toml:"base_url_gap"` // Base URL for the dashboard via GAP proxy used on CI
BaseUrlCI *string `toml:"base_url_github_ci"` // Base URL for the dashboard via GAP proxy used on CI
DashboardUrl *string `toml:"dashboard_url"`
DashboardUID *string `toml:"dashboard_uid"` // UID of the dashboard to put annotations on
BearerToken *string `toml:"-"`
Expand Down
38 changes: 22 additions & 16 deletions lib/logstream/logstream_handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,14 +164,6 @@ func (h *LokiLogHandler) GetLogLocation(consumers map[string]*ContainerLogConsum
return "", errors.New("no Loki consumers found")
}

// if no Grafana URL has been set lets at least print query parameters that can be manually added to the dashboard url
baseUrl := ""
if h.loggingConfig.Grafana != nil && h.loggingConfig.Grafana.BaseUrlGap != nil {
baseUrl = *h.loggingConfig.Grafana.BaseUrlGap
baseUrl = strings.TrimSuffix(baseUrl, "/")
baseUrl = baseUrl + "/"
}

dabshoardUrl := ""
if h.loggingConfig.Grafana != nil && h.loggingConfig.Grafana.DashboardUrl != nil {
dabshoardUrl = *h.loggingConfig.Grafana.DashboardUrl
Expand Down Expand Up @@ -207,17 +199,31 @@ func (h *LokiLogHandler) GetLogLocation(consumers map[string]*ContainerLogConsum
sb.WriteString(fmt.Sprintf("&var-test=%s", testName))
}

var shorteningErr error
// try to shorten the URL only if we have all the required configuration parameters
if baseUrl != "" && dabshoardUrl != "" && h.loggingConfig.Grafana.BearerToken != nil {
var shortened string
shortened, shorteningErr = ShortenUrl(baseUrl, sb.String(), *h.loggingConfig.Grafana.BearerToken)
if shorteningErr == nil {
h.grafanaUrl = shortened
// Use short Grafana URL only in CI
if os.Getenv("CI") == "true" {
if h.loggingConfig.Grafana == nil || h.loggingConfig.Grafana.BaseUrlCI == nil {
return "", errors.New("grafana base URL for CI is not set in logging config")
}
baseUrl := *h.loggingConfig.Grafana.BaseUrlCI
baseUrl = strings.TrimSuffix(baseUrl, "/")
baseUrl = baseUrl + "/"

// try to shorten the URL only if we have all the required configuration parameters
shortUrl, err := ShortenUrl(baseUrl, sb.String(), *h.loggingConfig.Grafana.BearerToken)
if err != nil {
return "", err
}
h.grafanaUrl = shortUrl
} else {
if h.loggingConfig.Grafana == nil || h.loggingConfig.Grafana.BaseUrl == nil {
return "", errors.New("grafana base URL is not set in logging config")
}
url := *h.loggingConfig.Grafana.BaseUrl
url = strings.TrimSuffix(url, "/")
h.grafanaUrl = url + "/" + sb.String()
}

return h.grafanaUrl, shorteningErr
return h.grafanaUrl, nil
}

func (h LokiLogHandler) GetTarget() LogTarget {
Expand Down

0 comments on commit d3e317b

Please sign in to comment.