stackdriver: WIP - test retrieving project id from gce metadata

This commit is contained in:
Erik Sundell
2018-10-03 17:08:13 +02:00
parent fbe0ffd10b
commit df215d9d09
2 changed files with 27 additions and 2 deletions

View File

@@ -64,11 +64,33 @@ func ApplyRoute(ctx context.Context, req *http.Request, proxyPath string, route
}
if req.Header.Get("Authorization") == "" && ds.Type == "stackdriver" {
tokenSrc, err := google.DefaultTokenSource(ctx, "https://www.googleapis.com/auth/monitoring.read")
defaultCredentials, err := google.FindDefaultCredentials(ctx)
projectName := ds.JsonData.Get("defaultProject").MustString()
if projectName == "" {
ds.JsonData.Set("defaultProject", defaultCredentials.ProjectID)
}
if err != nil {
logger.Error("Failed to get default credentials", "error", err)
} else {
token, err := defaultCredentials.TokenSource.Token()
if err != nil {
logger.Error("Failed to get default access token", "error", err)
} else {
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token.AccessToken))
}
}
}
if req.Header.Get("Authorization") == "" && ds.Type == "stackdriver" {
credentials, err := google.FindDefaultCredentials(ctx, "https://www.googleapis.com/auth/monitoring.read")
projectName := ds.JsonData.Get("defaultProject").MustString()
if projectName == "" {
ds.JsonData.Set("defaultProject", credentials.ProjectID)
}
if err != nil {
logger.Error("Failed to get access token", "error", err)
} else {
token, err := tokenSrc.Token()
token, err := credentials.TokenSource.Token()
if err != nil {
logger.Error("Failed to get access token", "error", err)
} else {