gddo-server: fetch Google Analytics account ID from metadata or env
Fixes #388
Change-Id: Ib57829af5b56636b29d7ac91293660d385401aa5
Reviewed-on: https://go-review.googlesource.com/20587
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/gddo-server/main.go b/gddo-server/main.go
index ead09cf..1e411c4 100644
--- a/gddo-server/main.go
+++ b/gddo-server/main.go
@@ -30,6 +30,8 @@
"strings"
"time"
+ "google.golang.org/cloud/compute/metadata"
+
"github.com/golang/gddo/database"
"github.com/golang/gddo/doc"
"github.com/golang/gddo/gosrc"
@@ -834,6 +836,17 @@
doc.SetDefaultGOOS(*defaultGOOS)
httpClient = newHTTPClient()
+ if metadata.OnGCE() {
+ acct, err := metadata.ProjectAttributeValue("ga-account")
+ if err != nil {
+ log.Printf("querying metadata for ga-account: %v", err)
+ } else {
+ gaAccount = acct
+ }
+ } else {
+ gaAccount = os.Getenv("GA_ACCOUNT")
+ }
+
if err := parseHTMLTemplates([][]string{
{"about.html", "common.html", "layout.html"},
{"bot.html", "common.html", "layout.html"},