diff --git a/.bingo/.gitignore b/.bingo/.gitignore new file mode 100755 index 0000000000..08963fd98d --- /dev/null +++ b/.bingo/.gitignore @@ -0,0 +1,11 @@ + +# Ignore everything +* + +# But not these files: +!.gitignore +!*.mod +!*.md +!*.mk + +*tmp.mod diff --git a/.bingo/README.md b/.bingo/README.md new file mode 100755 index 0000000000..285d7f5a30 --- /dev/null +++ b/.bingo/README.md @@ -0,0 +1,12 @@ +# Project Development Dependencies. + +This is directory which stores Go modules with pinned buildable package that is used within this repository, managed by https://github.com/bwplotka/bingo. + +* Run `bingo get` to install all tools having each own module file in this directory. +* Run `bingo get ` to install that have own module file in this directory. +* If `Variables.mk` is present, use $() variable where is the /.bingo/.mod. +* See https://github.com/bwplotka/bingo or -h on how to add, remove or change binaries dependencies. + +## Requirements + +* Go 1.14+ diff --git a/.bingo/Variables.mk b/.bingo/Variables.mk new file mode 100644 index 0000000000..431cbb2d6b --- /dev/null +++ b/.bingo/Variables.mk @@ -0,0 +1,139 @@ +# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.1.0.rc.4. DO NOT EDIT. +# All tools are designed to be build inside $GOBIN. +GOBIN ?= $(firstword $(subst :, ,${GOPATH}))/bin +GO ?= $(shell which go) + +# Bellow generated variables ensure that every time a tool under each variable is invoked, the correct version +# will be used; reinstalling only if needed. +# For example for alertmanager variable: +# +# In your main Makefile (for non array binaries): +# +#include .bingo/Variables.mk # (If not generated automatically by bingo). +# +#command: $(ALERTMANAGER) +# @echo "Running alertmanager" +# @$(ALERTMANAGER) +# +ALERTMANAGER ?= $(GOBIN)/alertmanager-v0.20.0 +$(ALERTMANAGER): .bingo/alertmanager.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/alertmanager-v0.20.0" + @$(GO) build -modfile=.bingo/alertmanager.mod -o=$(GOBIN)/alertmanager-v0.20.0 "github.com/prometheus/alertmanager/cmd/alertmanager" +.bingo/alertmanager.mod: ; + +EMBEDMD ?= $(GOBIN)/embedmd-v0.0.0-20181127031020-97c13d6e4160 +$(EMBEDMD): .bingo/embedmd.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/embedmd-v0.0.0-20181127031020-97c13d6e4160" + @$(GO) build -modfile=.bingo/embedmd.mod -o=$(GOBIN)/embedmd-v0.0.0-20181127031020-97c13d6e4160 "github.com/campoy/embedmd" +.bingo/embedmd.mod: ; + +FAILLINT ?= $(GOBIN)/faillint-v1.5.0 +$(FAILLINT): .bingo/faillint.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/faillint-v1.5.0" + @$(GO) build -modfile=.bingo/faillint.mod -o=$(GOBIN)/faillint-v1.5.0 "github.com/fatih/faillint" +.bingo/faillint.mod: ; + +GO_BINDATA ?= $(GOBIN)/go-bindata-v3.1.1+incompatible +$(GO_BINDATA): .bingo/go-bindata.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/go-bindata-v3.1.1+incompatible" + @$(GO) build -modfile=.bingo/go-bindata.mod -o=$(GOBIN)/go-bindata-v3.1.1+incompatible "github.com/go-bindata/go-bindata/go-bindata" +.bingo/go-bindata.mod: ; + +GOIMPORTS ?= $(GOBIN)/goimports-v0.0.0-20200526224456-8b020aee10d2 +$(GOIMPORTS): .bingo/goimports.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/goimports-v0.0.0-20200526224456-8b020aee10d2" + @$(GO) build -modfile=.bingo/goimports.mod -o=$(GOBIN)/goimports-v0.0.0-20200526224456-8b020aee10d2 "golang.org/x/tools/cmd/goimports" +.bingo/goimports.mod: ; + +GOJSONTOYAML ?= $(GOBIN)/gojsontoyaml-v0.0.0-20191212081931-bf2969bbd742 +$(GOJSONTOYAML): .bingo/gojsontoyaml.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/gojsontoyaml-v0.0.0-20191212081931-bf2969bbd742" + @$(GO) build -modfile=.bingo/gojsontoyaml.mod -o=$(GOBIN)/gojsontoyaml-v0.0.0-20191212081931-bf2969bbd742 "github.com/brancz/gojsontoyaml" +.bingo/gojsontoyaml.mod: ; + +GOLANGCI_LINT ?= $(GOBIN)/golangci-lint-v1.27.0 +$(GOLANGCI_LINT): .bingo/golangci-lint.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/golangci-lint-v1.27.0" + @$(GO) build -modfile=.bingo/golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.27.0 "github.com/golangci/golangci-lint/cmd/golangci-lint" +.bingo/golangci-lint.mod: ; + +HUGO ?= $(GOBIN)/hugo-v0.55.3 +$(HUGO): .bingo/hugo.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/hugo-v0.55.3" + @$(GO) build -modfile=.bingo/hugo.mod -o=$(GOBIN)/hugo-v0.55.3 "github.com/gohugoio/hugo" +.bingo/hugo.mod: ; + +JB ?= $(GOBIN)/jb-v0.2.1-0.20200211220001-efe0c9e86443 +$(JB): .bingo/jb.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/jb-v0.2.1-0.20200211220001-efe0c9e86443" + @$(GO) build -modfile=.bingo/jb.mod -o=$(GOBIN)/jb-v0.2.1-0.20200211220001-efe0c9e86443 "github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb" +.bingo/jb.mod: ; + +JSONNET ?= $(GOBIN)/jsonnet-v0.16.0 +$(JSONNET): .bingo/jsonnet.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/jsonnet-v0.16.0" + @$(GO) build -modfile=.bingo/jsonnet.mod -o=$(GOBIN)/jsonnet-v0.16.0 "github.com/google/go-jsonnet/cmd/jsonnet" +.bingo/jsonnet.mod: ; + +JSONNETFMT ?= $(GOBIN)/jsonnetfmt-v0.16.0 +$(JSONNETFMT): .bingo/jsonnetfmt.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/jsonnetfmt-v0.16.0" + @$(GO) build -modfile=.bingo/jsonnetfmt.mod -o=$(GOBIN)/jsonnetfmt-v0.16.0 "github.com/google/go-jsonnet/cmd/jsonnetfmt" +.bingo/jsonnetfmt.mod: ; + +LICHE ?= $(GOBIN)/liche-v0.0.0-20181124191719-2a2e6e56f6c6 +$(LICHE): .bingo/liche.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/liche-v0.0.0-20181124191719-2a2e6e56f6c6" + @$(GO) build -modfile=.bingo/liche.mod -o=$(GOBIN)/liche-v0.0.0-20181124191719-2a2e6e56f6c6 "github.com/raviqqe/liche" +.bingo/liche.mod: ; + +MINIO ?= $(GOBIN)/minio-v0.0.0-20200527010300-cccf2de129da +$(MINIO): .bingo/minio.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/minio-v0.0.0-20200527010300-cccf2de129da" + @$(GO) build -modfile=.bingo/minio.mod -o=$(GOBIN)/minio-v0.0.0-20200527010300-cccf2de129da "github.com/minio/minio" +.bingo/minio.mod: ; + +MISSPELL ?= $(GOBIN)/misspell-v0.3.4 +$(MISSPELL): .bingo/misspell.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/misspell-v0.3.4" + @$(GO) build -modfile=.bingo/misspell.mod -o=$(GOBIN)/misspell-v0.3.4 "github.com/client9/misspell/cmd/misspell" +.bingo/misspell.mod: ; + +PROMETHEUS_ARRAY ?= $(GOBIN)/prometheus-v1.8.2-0.20200507164740-ecee9c8abfd1 $(GOBIN)/prometheus-v2.4.3+incompatible +$(PROMETHEUS_ARRAY): .bingo/prometheus.1.mod .bingo/prometheus.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/prometheus-v1.8.2-0.20200507164740-ecee9c8abfd1" + @$(GO) build -modfile=.bingo/prometheus.1.mod -o=$(GOBIN)/prometheus-v1.8.2-0.20200507164740-ecee9c8abfd1 "github.com/prometheus/prometheus/cmd/prometheus" + @echo "(re)installing $(GOBIN)/prometheus-v2.4.3+incompatible" + @$(GO) build -modfile=.bingo/prometheus.mod -o=$(GOBIN)/prometheus-v2.4.3+incompatible "github.com/prometheus/prometheus/cmd/prometheus" +.bingo/prometheus.1.mod: ; +.bingo/prometheus.mod: ; + +PROMTOOL ?= $(GOBIN)/promtool-v1.8.2-0.20200522113006-f4dd45609a05 +$(PROMTOOL): .bingo/promtool.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/promtool-v1.8.2-0.20200522113006-f4dd45609a05" + @$(GO) build -modfile=.bingo/promtool.mod -o=$(GOBIN)/promtool-v1.8.2-0.20200522113006-f4dd45609a05 "github.com/prometheus/prometheus/cmd/promtool" +.bingo/promtool.mod: ; + +PROMU ?= $(GOBIN)/promu-v0.5.0 +$(PROMU): .bingo/promu.mod + @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. + @echo "(re)installing $(GOBIN)/promu-v0.5.0" + @$(GO) build -modfile=.bingo/promu.mod -o=$(GOBIN)/promu-v0.5.0 "github.com/prometheus/promu" +.bingo/promu.mod: ; + diff --git a/.bingo/alertmanager.mod b/.bingo/alertmanager.mod new file mode 100644 index 0000000000..8186565292 --- /dev/null +++ b/.bingo/alertmanager.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/prometheus/alertmanager v0.20.0 // cmd/alertmanager diff --git a/.bingo/embedmd.mod b/.bingo/embedmd.mod new file mode 100644 index 0000000000..98cae742d8 --- /dev/null +++ b/.bingo/embedmd.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/campoy/embedmd v0.0.0-20181127031020-97c13d6e4160 diff --git a/.bingo/faillint.mod b/.bingo/faillint.mod new file mode 100644 index 0000000000..304af0e48f --- /dev/null +++ b/.bingo/faillint.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/fatih/faillint v1.5.0 diff --git a/.bingo/go-bindata.mod b/.bingo/go-bindata.mod new file mode 100644 index 0000000000..4ed198396b --- /dev/null +++ b/.bingo/go-bindata.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/go-bindata/go-bindata v3.1.1+incompatible // go-bindata diff --git a/.bingo/goimports.mod b/.bingo/goimports.mod new file mode 100644 index 0000000000..c5bc62222f --- /dev/null +++ b/.bingo/goimports.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require golang.org/x/tools v0.0.0-20200526224456-8b020aee10d2 // cmd/goimports diff --git a/.bingo/gojsontoyaml.mod b/.bingo/gojsontoyaml.mod new file mode 100644 index 0000000000..8c9a29e414 --- /dev/null +++ b/.bingo/gojsontoyaml.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/brancz/gojsontoyaml v0.0.0-20191212081931-bf2969bbd742 diff --git a/.bingo/golangci-lint.mod b/.bingo/golangci-lint.mod new file mode 100644 index 0000000000..da08355319 --- /dev/null +++ b/.bingo/golangci-lint.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/golangci/golangci-lint v1.27.0 // cmd/golangci-lint diff --git a/.bingo/hugo.mod b/.bingo/hugo.mod new file mode 100644 index 0000000000..76b78e20ef --- /dev/null +++ b/.bingo/hugo.mod @@ -0,0 +1,9 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require ( + github.com/gobuffalo/envy v1.9.0 // indirect + // v0.55.3 This needs to match with version in netlify.toml + github.com/gohugoio/hugo v0.55.3 +) diff --git a/.bingo/jb.mod b/.bingo/jb.mod new file mode 100644 index 0000000000..5b2d5a3614 --- /dev/null +++ b/.bingo/jb.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/jsonnet-bundler/jsonnet-bundler v0.2.1-0.20200211220001-efe0c9e86443 // cmd/jb diff --git a/.bingo/jsonnet.mod b/.bingo/jsonnet.mod new file mode 100644 index 0000000000..4d6c662e67 --- /dev/null +++ b/.bingo/jsonnet.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/google/go-jsonnet v0.16.0 // cmd/jsonnet diff --git a/.bingo/jsonnetfmt.mod b/.bingo/jsonnetfmt.mod new file mode 100644 index 0000000000..7ea08b7c83 --- /dev/null +++ b/.bingo/jsonnetfmt.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/google/go-jsonnet v0.16.0 // cmd/jsonnetfmt diff --git a/.bingo/liche.mod b/.bingo/liche.mod new file mode 100644 index 0000000000..0ab650ec81 --- /dev/null +++ b/.bingo/liche.mod @@ -0,0 +1,16 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require ( + github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 // indirect + github.com/fatih/color v1.9.0 // indirect + github.com/kr/text v0.2.0 // indirect + github.com/raviqqe/liche v0.0.0-20181124191719-2a2e6e56f6c6 + github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect + github.com/valyala/fasthttp v1.13.1 // indirect + golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 // indirect + gopkg.in/russross/blackfriday.v2 v2.0.1 +) + +replace gopkg.in/russross/blackfriday.v2 => github.com/russross/blackfriday/v2 v2.0.1 diff --git a/.bingo/minio.mod b/.bingo/minio.mod new file mode 100644 index 0000000000..e70fbf724f --- /dev/null +++ b/.bingo/minio.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/minio/minio v0.0.0-20200527010300-cccf2de129da diff --git a/.bingo/misspell.mod b/.bingo/misspell.mod new file mode 100644 index 0000000000..60c1adc759 --- /dev/null +++ b/.bingo/misspell.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/client9/misspell v0.3.4 // cmd/misspell diff --git a/.bingo/prometheus.1.mod b/.bingo/prometheus.1.mod new file mode 100644 index 0000000000..0eb3782b84 --- /dev/null +++ b/.bingo/prometheus.1.mod @@ -0,0 +1,15 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +replace ( + // Mitigation for: https://github.com/Azure/go-autorest/issues/414 + github.com/Azure/go-autorest => github.com/Azure/go-autorest v12.3.0+incompatible + k8s.io/api => k8s.io/api v0.17.5 + k8s.io/apimachinery => k8s.io/apimachinery v0.17.5 + k8s.io/client-go => k8s.io/client-go v0.17.5 + k8s.io/klog => github.com/simonpasquier/klog-gokit v0.1.0 + k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30 +) + +require github.com/prometheus/prometheus v1.8.2-0.20200507164740-ecee9c8abfd1 // cmd/prometheus diff --git a/.bingo/prometheus.mod b/.bingo/prometheus.mod new file mode 100644 index 0000000000..66a95eaccd --- /dev/null +++ b/.bingo/prometheus.mod @@ -0,0 +1,70 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +replace ( + // Ridiculous but Prometheus v2.4.3 did not have Go modules + github.com/Azure/azure-sdk-for-go => github.com/Azure/azure-sdk-for-go v5.0.0-beta.0.20161028183111-bd73d950fa44+incompatible + github.com/Azure/go-autorest => github.com/Azure/go-autorest v9.9.0+incompatible + github.com/cockroachdb/cmux => github.com/cockroachdb/cmux v0.0.0-20170110192607-30d10be49292 + github.com/cockroachdb/cockroach => github.com/cockroachdb/cockroach v0.0.0-20170608034007-84bc9597164f + github.com/googleapis/gnostic => github.com/googleapis/gnostic v0.2.3-0.20180520015035-48a0ecefe2e4 + github.com/miekg/dns => github.com/miekg/dns v1.0.4 + github.com/prometheus/client_golang => github.com/prometheus/client_golang v0.9.0-pre1.0.20180607123607-faf4ec335fe0 + github.com/prometheus/common => github.com/prometheus/common v0.0.0-20180518154759-7600349dcfe1 + github.com/prometheus/tsdb => github.com/prometheus/tsdb v0.0.0-20180921053122-9c8ca47399a7 + k8s.io/api => k8s.io/api v0.0.0-20180628040859-072894a440bd + k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20180621070125-103fd098999d + k8s.io/client-go => k8s.io/client-go v8.0.0+incompatible + k8s.io/klog => github.com/simonpasquier/klog-gokit v0.1.0 +) + +require ( + github.com/Azure/azure-sdk-for-go v0.0.0-00010101000000-000000000000 // indirect + github.com/Azure/go-autorest v0.0.0-00010101000000-000000000000 // indirect + github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect + github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d // indirect + github.com/aws/aws-sdk-go v1.31.5 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/certifi/gocertifi v0.0.0-20200211180108-c7c1fbc02894 // indirect + github.com/cespare/xxhash v1.1.0 // indirect + github.com/cockroachdb/cmux v0.0.0-20170110192607-30d10be49292 // indirect + github.com/cockroachdb/cockroach v20.1.1+incompatible // indirect + github.com/cockroachdb/errors v1.2.4 // indirect + github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f // indirect + github.com/cockroachdb/ttycolor v0.0.0-20180709150743-a1d5aaeb377d // indirect + github.com/getsentry/raven-go v0.2.0 // indirect + github.com/go-kit/kit v0.10.0 // indirect + github.com/googleapis/gnostic v0.0.0-00010101000000-000000000000 // indirect + github.com/gophercloud/gophercloud v0.11.0 // indirect + github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.14.6 // indirect + github.com/hashicorp/consul/api v1.4.0 // indirect + github.com/jaegertracing/jaeger v1.18.0 // indirect + github.com/jpillora/backoff v1.0.0 // indirect + github.com/julienschmidt/httprouter v1.3.0 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/miekg/dns v1.1.29 // indirect + github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect + github.com/oklog/ulid v1.3.1 // indirect + github.com/peterbourgon/diskv v2.0.1+incompatible // indirect + github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/prometheus/client_golang v1.6.0 // indirect + github.com/prometheus/common v0.10.0 // indirect + github.com/prometheus/prometheus v2.4.3+incompatible // cmd/prometheus + github.com/prometheus/tsdb v0.10.0 // indirect + github.com/sasha-s/go-deadlock v0.2.0 // indirect + github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect + github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd // indirect + golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 // indirect + golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 // indirect + google.golang.org/api v0.25.0 // indirect + google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece // indirect + gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect + gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect + gopkg.in/yaml.v2 v2.3.0 // indirect + k8s.io/api v0.18.3 // indirect + k8s.io/apimachinery v0.18.3 // indirect + k8s.io/client-go v11.0.0+incompatible // indirect + k8s.io/utils v0.0.0-20200520001619-278ece378a50 // indirect +) diff --git a/.bingo/promtool.mod b/.bingo/promtool.mod new file mode 100644 index 0000000000..6529b2b502 --- /dev/null +++ b/.bingo/promtool.mod @@ -0,0 +1,40 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require ( + contrib.go.opencensus.io/exporter/ocagent v0.6.0 // indirect + github.com/Azure/go-autorest v11.2.8+incompatible // indirect + github.com/Azure/go-autorest/autorest v0.10.2 // indirect + github.com/Azure/go-autorest/autorest/adal v0.8.3 // indirect + github.com/Azure/go-autorest/autorest/to v0.3.0 // indirect + github.com/Azure/go-autorest/autorest/validation v0.2.0 // indirect + github.com/aws/aws-sdk-go v1.31.5 // indirect + github.com/go-kit/kit v0.10.0 // indirect + github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c // indirect + github.com/gophercloud/gophercloud v0.11.0 // indirect + github.com/hashicorp/consul/api v1.4.0 // indirect + github.com/jpillora/backoff v1.0.0 // indirect + github.com/miekg/dns v1.1.29 // indirect + github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect + github.com/prometheus/client_golang v1.6.0 // indirect + github.com/prometheus/common v0.10.0 // indirect + github.com/prometheus/prometheus v1.8.2-0.20200522113006-f4dd45609a05 // cmd/promtool + github.com/prometheus/tsdb v0.10.0 // indirect + google.golang.org/api v0.25.0 // indirect + gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect + gopkg.in/yaml.v2 v2.3.0 // indirect + k8s.io/api v0.18.3 // indirect + k8s.io/client-go v11.0.0+incompatible // indirect + k8s.io/utils v0.0.0-20200520001619-278ece378a50 // indirect +) + +replace ( + // Mitigation for: https://github.com/Azure/go-autorest/issues/414 + github.com/Azure/go-autorest => github.com/Azure/go-autorest v12.3.0+incompatible + k8s.io/api => k8s.io/api v0.17.5 + k8s.io/apimachinery => k8s.io/apimachinery v0.17.5 + k8s.io/client-go => k8s.io/client-go v0.17.5 + k8s.io/klog => k8s.io/klog v0.3.1 + k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30 +) diff --git a/.bingo/promu.mod b/.bingo/promu.mod new file mode 100644 index 0000000000..5a9b3b6248 --- /dev/null +++ b/.bingo/promu.mod @@ -0,0 +1,5 @@ +module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT + +go 1.14 + +require github.com/prometheus/promu v0.5.0 diff --git a/.circleci/config.yml b/.circleci/config.yml index dbf1b47f6f..68eed3adcf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,20 +4,13 @@ version: 2 defaults: &defaults docker: # Built by Thanos make docker-ci - - image: quay.io/thanos/thanos-ci:v1.1-go1.14.2-node + - image: quay.io/thanos/thanos-ci:v1.2-go1.14.2-node jobs: test: <<: *defaults working_directory: /go/src/github.com/thanos-io/thanos environment: GO111MODULE: 'on' - # Run garbage collection more aggressively to avoid getting OOMed during the lint phase (4GB limit). - GOGC: "20" - # By default Go uses GOMAXPROCS but a Circle CI executor has many - # cores (> 30) while the CPU and RAM resources are throttled. If we - # don't limit this to the number of allocated cores, the job is - # likely to get OOMed and killed. - GOOPTS: "-p 1" steps: - checkout - setup_remote_docker: @@ -31,11 +24,6 @@ jobs: echo $GOOGLE_APPLICATION_CREDENTIALS_CONTENT > $GOOGLE_APPLICATION_CREDENTIALS echo "Awesome! GCS and S3 AWS integration tests are enabled." fi - - run: make deps - - run: make lint - - run: make check-docs - - run: make check-examples - - run: make format - run: name: "Run unit tests." # taskset sets CPU affinity to 2 (current CPU limit). diff --git a/.github/workflows/cross-build.yaml b/.github/workflows/cross-build.yaml deleted file mode 100644 index 853f8ddd26..0000000000 --- a/.github/workflows/cross-build.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: cross-build - -on: - push: - branches: - - master - pull_request: - -jobs: - cross-build-check: - runs-on: ubuntu-latest - steps: - - name: Install Go. - uses: actions/setup-go@v1 - with: - go-version: 1.14.2 - - - name: Check out code into the Go module directory - uses: actions/checkout@v1 - - - uses: actions/cache@v1 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - - - name: Get dependencies - run: make deps - - - name: Cross build check - run: make crossbuild diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 0000000000..9c127df9eb --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,33 @@ +name: docs + +on: + push: + branches: + - master + tags: + pull_request: + +jobs: + check: + runs-on: ubuntu-latest + name: Documentation check + env: + GOBIN: /tmp/.bin + steps: + - name: Checkout code into the Go module directory. + uses: actions/checkout@v2 + + - name: Install Go + uses: actions/setup-go@v2 + with: + go-version: 1.14.x + + - uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + + - name: Check docs + run: make check-docs + - name: Check examples + run: make check-examples \ No newline at end of file diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml deleted file mode 100644 index 17934a5e9b..0000000000 --- a/.github/workflows/e2e.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: e2e - -on: - push: - branches: - - master - tags: - pull_request: - -jobs: - e2e: - runs-on: ubuntu-latest - steps: - - name: Install Go. - uses: actions/setup-go@v1 - with: - go-version: 1.14.2 - - - name: Check out code into the Go module directory. - uses: actions/checkout@v2 - - - uses: actions/cache@v1 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - - - name: Run e2e docker-based tests. - run: make test-e2e diff --git a/.github/workflows/go.yaml b/.github/workflows/go.yaml new file mode 100644 index 0000000000..a579a1f06b --- /dev/null +++ b/.github/workflows/go.yaml @@ -0,0 +1,77 @@ +name: go + +on: + push: + branches: + - master + tags: + pull_request: + +# TODO(bwplotka): Add tests here. +jobs: + cross-build-check: + runs-on: ubuntu-latest + name: Go build for different platform" + env: + GOBIN: /tmp/.bin + steps: + - name: Install Go. + uses: actions/setup-go@v1 + with: + go-version: 1.14.2 + + - name: Check out code into the Go module directory + uses: actions/checkout@v1 + + - uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + + - name: Cross build check. + run: make crossbuild + lint: + runs-on: ubuntu-latest + name: Linters (Static Analysis) for Go + env: + GOBIN: /tmp/.bin + steps: + - name: Checkout code into the Go module directory. + uses: actions/checkout@v2 + + - name: Install Go + uses: actions/setup-go@v2 + with: + go-version: 1.14.x + + - uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + + - name: Format. + run: make format + + - name: Linting & vetting. + run: make go-lint + e2e: + runs-on: ubuntu-latest + name: Thanos end-to-end tests + env: + GOBIN: /tmp/.bin + steps: + - name: Install Go. + uses: actions/setup-go@v1 + with: + go-version: 1.14.2 + + - name: Check out code into the Go module directory. + uses: actions/checkout@v2 + + - uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + + - name: Run e2e docker-based tests. + run: make test-e2e diff --git a/.github/workflows/react-test.yml b/.github/workflows/react.yml similarity index 97% rename from .github/workflows/react-test.yml rename to .github/workflows/react.yml index fc3c4fa0b4..43d22bdc45 100644 --- a/.github/workflows/react-test.yml +++ b/.github/workflows/react.yml @@ -1,4 +1,4 @@ -name: react-test +name: react on: push: diff --git a/.go-version b/.go-version new file mode 100644 index 0000000000..a32d5a6adb --- /dev/null +++ b/.go-version @@ -0,0 +1 @@ +1.14.2 \ No newline at end of file diff --git a/.golangci.yml b/.golangci.yml index 3afa8e8707..668064fa1f 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -60,3 +60,9 @@ issues: - linters: - unused text: "Source.producesBlocks" + - linters: + - unused + text: "newMockAlertmanager" + - linters: + - unused + text: "ruleAndAssert" diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b463f90c4..a278eb566d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -503,7 +503,7 @@ This version moved tarballs to Golang 1.12.5 from 1.11 as well, so same warning This release also disables gossip mode by default for all components. See [this](docs/proposals/201809_gossip-removal.md) for more details. -:warning: This release moves Thanos docker images (NOT artifacts by accident) to Golang 1.12. This release includes change in GC's memory release which gives following effect (source: https://golang.org/doc/go1.12): +:warning: This release moves Thanos docker images (NOT artifacts by accident) to Golang 1.12. This release includes change in GC's memory release which gives following effect: > On Linux, the runtime now uses MADV_FREE to release unused memory. This is more efficient but may result in higher reported RSS. The kernel will reclaim the unused data when it is needed. To revert to the Go 1.11 behavior (MADV_DONTNEED), set the environment variable GODEBUG=madvdontneed=1. diff --git a/Makefile b/Makefile index ca36cc3f0f..1b1ea526d6 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +include .bingo/Variables.mk FILES_TO_FMT ?= $(shell find . -path ./vendor -prune -o -name '*.go' -print) DOCKER_IMAGE_REPO ?= quay.io/thanos/thanos @@ -18,42 +19,10 @@ export GOPROXY GOTEST_OPTS ?= -failfast -timeout 10m -v # Tools. -EMBEDMD ?= $(GOBIN)/embedmd-$(EMBEDMD_VERSION) -# v2.0.0 -EMBEDMD_VERSION ?= 97c13d6e41602fc6e397eb51c45f38069371a969 -LICHE ?= $(GOBIN)/liche-$(LICHE_VERSION) -LICHE_VERSION ?= 2a2e6e56f6c615c17b2e116669c4cdb31b5453f3 -GOIMPORTS ?= $(GOBIN)/goimports-$(GOIMPORTS_VERSION) -GOIMPORTS_VERSION ?= 9d4d845e86f14303813298ede731a971dd65b593 -PROMU ?= $(GOBIN)/promu-$(PROMU_VERSION) -PROMU_VERSION ?= 9583e5a6448f97c6294dca72dd1d173e28f8d4a4 PROTOC ?= $(GOBIN)/protoc-$(PROTOC_VERSION) PROTOC_VERSION ?= 3.4.0 -# v0.55.3 This needs to match with version in netlify.toml -HUGO_VERSION ?= 993b84333cd75faa224d02618f312a0e96b53372 -HUGO ?= $(GOBIN)/hugo-$(HUGO_VERSION) -# v3.1.1 -GOBINDATA_VERSION ?= a9c83481b38ebb1c4eb8f0168fd4b10ca1d3c523 -GOBINDATA ?= $(GOBIN)/go-bindata-$(GOBINDATA_VERSION) GIT ?= $(shell which git) -GOLANGCILINT_VERSION ?= d2b1eea2c6171a1a1141a448a745335ce2e928a1 -GOLANGCILINT ?= $(GOBIN)/golangci-lint-$(GOLANGCILINT_VERSION) -MISSPELL_VERSION ?= c0b55c8239520f6b5aa15a0207ca8b28027ba49e -MISSPELL ?= $(GOBIN)/misspell-$(MISSPELL_VERSION) - -GOJSONTOYAML_VERSION ?= e8bd32d46b3d764bef60f12b3bada1c132c4be55 -GOJSONTOYAML ?= $(GOBIN)/gojsontoyaml-$(GOJSONTOYAML_VERSION) -# v0.14.0 -JSONNET_VERSION ?= 724650d358b67909a7bea00ea443e23afc3d2a17 -JSONNET ?= $(GOBIN)/jsonnet-$(JSONNET_VERSION) -JSONNETFMT ?= $(GOBIN)/jsonnetfmt-$(JSONNET_VERSION) -JSONNET_BUNDLER_VERSION ?= efe0c9e864431e93d5c3376bd5931d0fb9b2a296 -JSONNET_BUNDLER ?= $(GOBIN)/jb-$(JSONNET_BUNDLER_VERSION) -# Prometheus v2.14.0 -PROMTOOL_VERSION ?= edeb7a44cbf745f1d8be4ea6f215e79e651bfe19 -PROMTOOL ?= $(GOBIN)/promtool-$(PROMTOOL_VERSION) - # Support gsed on OSX (installed via brew), falling back to sed. On Linux # systems gsed won't be installed, so will use sed as expected. SED ?= $(shell which gsed 2>/dev/null || which sed) @@ -66,50 +35,11 @@ WEBSITE_BASE_URL ?= https://thanos.io PUBLIC_DIR ?= $(WEB_DIR)/public ME ?= $(shell whoami) -# E2e test deps. -# Referenced by github.com/thanos-io/thanos/blob/master/docs/getting_started.md#prometheus - -# Limited prom version, because testing was not possible. This should fix it: https://github.com/thanos-io/thanos/issues/758 -PROM_VERSIONS ?= v2.4.3 v2.5.0 v2.8.1 v2.9.2 v2.13.0 v2.18.1 -PROMS ?= $(GOBIN)/prometheus-v2.4.3 $(GOBIN)/prometheus-v2.5.0 $(GOBIN)/prometheus-v2.8.1 $(GOBIN)/prometheus-v2.9.2 $(GOBIN)/prometheus-v2.13.0 $(GOBIN)/prometheus-v2.18.1 - -ALERTMANAGER_VERSION ?= v0.20.0 -ALERTMANAGER ?= $(GOBIN)/alertmanager-$(ALERTMANAGER_VERSION) - -MINIO_SERVER_VERSION ?= RELEASE.2018-10-06T00-15-16Z -MINIO_SERVER ?=$(GOBIN)/minio-$(MINIO_SERVER_VERSION) - -FAILLINT_VERSION ?= v1.2.0 -FAILLINT ?=$(GOBIN)/faillint-$(FAILLINT_VERSION) - REACT_APP_PATH = pkg/ui/react-app REACT_APP_SOURCE_FILES = $(wildcard $(REACT_APP_PATH)/public/* $(REACT_APP_PATH)/src/* $(REACT_APP_PATH)/tsconfig.json) REACT_APP_OUTPUT_DIR = pkg/ui/static/react REACT_APP_NODE_MODULES_PATH = $(REACT_APP_PATH)/node_modules -# fetch_go_bin_version downloads (go gets) the binary from specific version and installs it in $(GOBIN)/- -# arguments: -# $(1): Install path. (e.g github.com/campoy/embedmd) -# $(2): Tag or revision for checkout. -# TODO(bwplotka): Move to just using modules, however make sure to not use or edit Thanos go.mod file! -define fetch_go_bin_version - @mkdir -p $(GOBIN) - @mkdir -p $(TMP_GOPATH) - - @echo ">> fetching $(1)@$(2) revision/version" - @if [ ! -d '$(TMP_GOPATH)/src/$(1)' ]; then \ - GOPATH='$(TMP_GOPATH)' GO111MODULE='off' go get -d -u '$(1)/...'; \ - else \ - CDPATH='' cd -- '$(TMP_GOPATH)/src/$(1)' && git fetch; \ - fi - @CDPATH='' cd -- '$(TMP_GOPATH)/src/$(1)' && git checkout -f -q '$(2)' - @echo ">> installing $(1)@$(2)" - @GOBIN='$(TMP_GOPATH)/bin' GOPATH='$(TMP_GOPATH)' GO111MODULE='off' go install '$(1)' - @mv -- '$(TMP_GOPATH)/bin/$(shell basename $(1))' '$(GOBIN)/$(shell basename $(1))-$(2)' - @echo ">> produced $(GOBIN)/$(shell basename $(1))-$(2)" - -endef - define require_clean_work_tree @git update-index -q --ignore-submodules --refresh @@ -179,7 +109,7 @@ build: check-git deps $(PROMU) .PHONY: crossbuild crossbuild: ## Builds all binaries for all platforms. -crossbuild: $(PROMU) +crossbuild: deps $(PROMU) @echo ">> crossbuilding all binaries" $(PROMU) crossbuild -v @@ -221,7 +151,7 @@ check-docs: ## checks docs against discrepancy with flags, links, white noise. check-docs: $(EMBEDMD) $(LICHE) build @EMBEDMD_BIN="$(EMBEDMD)" SED_BIN="$(SED)" THANOS_BIN="$(GOBIN)/thanos" scripts/genflagdocs.sh check @$(LICHE) --recursive docs --exclude "(couchdb.apache.org/bylaws.html|cloud.tencent.com|alibabacloud.com|zoom.us)" --document-root . - @$(LICHE) --exclude "goreportcard.com" --document-root . *.md + @$(LICHE) --exclude "goreportcard.com|github.com" --document-root . *.md # We have to block checkin GitHub as we are often rate limited from GitHub Actions. @find . -type f -name "*.md" | SED_BIN="$(SED)" xargs scripts/cleanup-white-noise.sh $(call require_clean_work_tree,"check documentation") @@ -243,9 +173,6 @@ proto: ## Generates Go files from Thanos proto files. proto: check-git $(GOIMPORTS) $(PROTOC) @GOIMPORTS_BIN="$(GOIMPORTS)" PROTOC_BIN="$(PROTOC)" scripts/genproto.sh -.PHONY: promu -promu: $(PROMU) - .PHONY: tarballs-release tarballs-release: ## Build tarballs. tarballs-release: $(PROMU) @@ -258,7 +185,7 @@ tarballs-release: $(PROMU) test: ## Runs all Thanos Go unit tests against each supported version of Prometheus. This excludes tests in ./test/e2e. test: export GOCACHE= $(TMP_GOPATH)/gocache test: export THANOS_TEST_MINIO_PATH= $(MINIO_SERVER) -test: export THANOS_TEST_PROMETHEUS_VERSIONS= $(PROM_VERSIONS) +test: export THANOS_TEST_PROMETHEUS_PATHS= $(PROMETHEUS_ARRAY) test: export THANOS_TEST_ALERTMANAGER_PATH= $(ALERTMANAGER) test: check-git install-deps @echo ">> install thanos GOOPTS=${GOOPTS}" @@ -337,7 +264,7 @@ lint: go-lint react-app-lint # --mem-profile-path string Path to memory profile output file # to debug big allocations during linting. .PHONY: go-lint -go-lint: check-git deps $(GOLANGCILINT) $(MISSPELL) $(FAILLINT) +go-lint: check-git deps $(GOLANGCI_LINT) $(MISSPELL) $(FAILLINT) $(call require_clean_work_tree,"detected not clean master before running lint") @echo ">> verifying modules being imported" @# TODO(bwplotka): Add, Printf, DefaultRegisterer, NewGaugeFunc and MustRegister once exception are accepted. Add fmt.{Errorf}=github.com/pkg/errors.{Errorf} once https://github.com/fatih/faillint/issues/10 is addressed. @@ -352,7 +279,7 @@ NewCounterVec,NewCounterVec,NewGauge,NewGaugeVec,NewGaugeFunc,NewHistorgram,NewH @echo ">> examining all of the Go files" @go vet -stdmethods=false ./pkg/... ./cmd/... && go vet doc.go @echo ">> linting all of the Go files GOGC=${GOGC}" - @$(GOLANGCILINT) run + @$(GOLANGCI_LINT) run @echo ">> detecting misspells" @find . -type f | grep -v vendor/ | grep -v pkg/ui/react-app/node_modules | grep -v pkg/ui/static | grep -vE '\./\..*' | xargs $(MISSPELL) -error @echo ">> detecting white noise" @@ -381,11 +308,11 @@ JSONNET_CONTAINER_CMD:=docker run --rm \ .PHONY: examples-in-container examples-in-container: @echo ">> Compiling and generating thanos-mixin" - $(JSONNET_CONTAINER_CMD) make $(MFLAGS) JSONNET_BUNDLER='/go/bin/jb' jsonnet-vendor + $(JSONNET_CONTAINER_CMD) make $(MFLAGS) JB='/go/bin/jb' jsonnet-vendor $(JSONNET_CONTAINER_CMD) make $(MFLAGS) \ EMBEDMD='/go/bin/embedmd' \ JSONNET='/go/bin/jsonnet' \ - JSONNET_BUNDLER='/go/bin/jb' \ + JB='/go/bin/jb' \ PROMTOOL='/go/bin/promtool' \ GOJSONTOYAML='/go/bin/gojsontoyaml' \ GOLANGCILINT='/go/bin/golangci-lint' \ @@ -414,9 +341,9 @@ examples/alerts/rules.yaml: $(JSONNET) $(GOJSONTOYAML) ${THANOS_MIXIN}/mixin.lib $(JSONNET) ${THANOS_MIXIN}/rules.jsonnet | $(GOJSONTOYAML) > $@ .PHONY: jsonnet-vendor -jsonnet-vendor: $(JSONNET_BUNDLER) $(THANOS_MIXIN)/jsonnetfile.json $(THANOS_MIXIN)/jsonnetfile.lock.json +jsonnet-vendor: $(JB) $(THANOS_MIXIN)/jsonnetfile.json $(THANOS_MIXIN)/jsonnetfile.lock.json rm -rf ${JSONNET_VENDOR_DIR} - cd ${THANOS_MIXIN} && $(JSONNET_BUNDLER) install + cd ${THANOS_MIXIN} && $(JB) install JSONNETFMT_CMD := $(JSONNETFMT) -n 2 --max-blank-lines 2 --string-style s --comment-style s @@ -446,45 +373,6 @@ examples-clean: rm -f examples/dashboards/*.json rm -f examples/tmp/*.yaml -# non-phony targets -$(EMBEDMD): - $(call fetch_go_bin_version,github.com/campoy/embedmd,$(EMBEDMD_VERSION)) - -$(GOIMPORTS): - $(call fetch_go_bin_version,golang.org/x/tools/cmd/goimports,$(GOIMPORTS_VERSION)) - -$(LICHE): - $(call fetch_go_bin_version,github.com/raviqqe/liche,$(LICHE_VERSION)) - -$(PROMU): - $(call fetch_go_bin_version,github.com/prometheus/promu,$(PROMU_VERSION)) - -$(HUGO): - @go get github.com/gohugoio/hugo@$(HUGO_VERSION) - @mv $(GOBIN)/hugo $(HUGO) - @go mod tidy - -$(GOBINDATA): - $(call fetch_go_bin_version,github.com/go-bindata/go-bindata/go-bindata,$(GOBINDATA_VERSION)) - -$(GOLANGCILINT): - $(call fetch_go_bin_version,github.com/golangci/golangci-lint/cmd/golangci-lint,$(GOLANGCILINT_VERSION)) - -$(MISSPELL): - $(call fetch_go_bin_version,github.com/client9/misspell/cmd/misspell,$(MISSPELL_VERSION)) - -$(ALERTMANAGER): - $(call fetch_go_bin_version,github.com/prometheus/alertmanager/cmd/alertmanager,$(ALERTMANAGER_VERSION)) - -$(MINIO_SERVER): - $(call fetch_go_bin_version,github.com/minio/minio,$(MINIO_SERVER_VERSION)) - -$(FAILLINT): - $(call fetch_go_bin_version,github.com/fatih/faillint,$(FAILLINT_VERSION)) - -$(PROMS): - $(foreach ver,$(PROM_VERSIONS),$(call fetch_go_bin_version,github.com/prometheus/prometheus/cmd/prometheus,$(ver))) - $(PROTOC): @mkdir -p $(TMP_GOPATH) @echo ">> fetching protoc@${PROTOC_VERSION}" @@ -492,18 +380,3 @@ $(PROTOC): @echo ">> installing protoc@${PROTOC_VERSION}" @mv -- "$(TMP_GOPATH)/bin/protoc" "$(GOBIN)/protoc-$(PROTOC_VERSION)" @echo ">> produced $(GOBIN)/protoc-$(PROTOC_VERSION)" - -$(JSONNET): - $(call fetch_go_bin_version,github.com/google/go-jsonnet/cmd/jsonnet,$(JSONNET_VERSION)) - -$(JSONNETFMT): - $(call fetch_go_bin_version,github.com/google/go-jsonnet/cmd/jsonnetfmt,$(JSONNET_VERSION)) - -$(GOJSONTOYAML): - $(call fetch_go_bin_version,github.com/brancz/gojsontoyaml,$(GOJSONTOYAML_VERSION)) - -$(JSONNET_BUNDLER): - $(call fetch_go_bin_version,github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb,$(JSONNET_BUNDLER_VERSION)) - -$(PROMTOOL): - $(call fetch_go_bin_version,github.com/prometheus/prometheus/cmd/promtool,$(PROMTOOL_VERSION)) diff --git a/docs/contributing/how-to-change-go-version.md b/docs/contributing/how-to-change-go-version.md index d3418742d4..a601b98b04 100644 --- a/docs/contributing/how-to-change-go-version.md +++ b/docs/contributing/how-to-change-go-version.md @@ -15,4 +15,4 @@ To update Thanos build system to newer Golang: 1. Edit [.circleci/config.yaml](/.circleci/config.yml) and update ` - image: circleci/golang:` to desired Golang version. This will ensure that all docker images and go tests are using desired Golang version. How to verify? Invoke `docker pull quay.io/thanos/thanos: --version` 1. Edit [.Dockerfile.thanos-ci](/Dockerfile.thanos-ci) and update Go version. Run `make docker-ci DOCKER_CI_TAG=`. Update [.circleci/config.yaml](/.circleci/config.yml) thanos-ci image to ``. -1. Edit [.github/workflows/e2e.yaml](/.github/workflows/e2e.yaml), [.github/workflows/cross-build.yaml](/.github/workflows/cross-build.yaml) and update Go version. +1. Edit [.github/workflows/docs.yaml](/.github/workflows/docs.yaml) [.github/workflows/go.yaml](/.github/workflows/go.yaml) and update Go version. diff --git a/docs/getting-started.md b/docs/getting-started.md index f291822849..8f71b538ca 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -91,7 +91,7 @@ If you want to add yourself to this list, let us know! ## Operating -See up to date [jsonnet mixins](https://github.com/thanos-io/thanos/tree/master/mixin/thanos/README.md) +See up to date [jsonnet mixins](https://github.com/thanos-io/thanos/tree/master/mixin/README.md) We also have example Grafana dashboards [here](/examples/dashboards/dashboards.md) and some [alerts](/examples/alerts/alerts.md) to get you started. ## Talks diff --git a/pkg/objstore/objtesting/foreach.go b/pkg/objstore/objtesting/foreach.go index e0c28cb4f6..a4eb15d521 100644 --- a/pkg/objstore/objtesting/foreach.go +++ b/pkg/objstore/objtesting/foreach.go @@ -138,16 +138,14 @@ func ForeachStore(t *testing.T, testFn func(t *testing.T, bkt objstore.Bucket)) // Optional OSS. if !IsObjStoreSkipped(t, client.ALIYUNOSS) { - bkt, closeFn, err := oss.NewTestBucket(t) - testutil.Ok(t, err) + t.Run("AliYun oss", func(t *testing.T) { + bkt, closeFn, err := oss.NewTestBucket(t) + testutil.Ok(t, err) + + t.Parallel() + defer closeFn() - ok := t.Run("AliYun oss", func(t *testing.T) { testFn(t, bkt) }) - - closeFn() - if !ok { - return - } } } diff --git a/pkg/store/bucket_e2e_test.go b/pkg/store/bucket_e2e_test.go index 12c3b45680..94e7ef5b26 100644 --- a/pkg/store/bucket_e2e_test.go +++ b/pkg/store/bucket_e2e_test.go @@ -446,7 +446,7 @@ func TestBucketStore_e2e(t *testing.T) { return } - if ok := t.Run("with small index cache", func(t *testing.T) { + t.Run("with small index cache", func(t *testing.T) { indexCache2, err := storecache.NewInMemoryIndexCacheWithConfig(s.logger, nil, storecache.InMemoryIndexCacheConfig{ MaxItemSize: 50, MaxSize: 100, @@ -454,9 +454,7 @@ func TestBucketStore_e2e(t *testing.T) { testutil.Ok(t, err) s.cache.SwapWith(indexCache2) testBucketStore_e2e(t, ctx, s) - }); !ok { - return - } + }) }) } diff --git a/pkg/store/bucket_test.go b/pkg/store/bucket_test.go index 80493ea510..c3abb926fd 100644 --- a/pkg/store/bucket_test.go +++ b/pkg/store/bucket_test.go @@ -559,12 +559,9 @@ func TestBucketStore_Sharding(t *testing.T) { testutil.Ok(t, err) defer func() { testutil.Ok(t, os.RemoveAll(dir2)) }() - if ok := t.Run("reuse_disk", func(t *testing.T) { + t.Run("reuse_disk", func(t *testing.T) { testSharding(t, dir2, bkt, id1, id2, id3, id4) - }); !ok { - return - } - + }) } func testSharding(t *testing.T, reuseDisk string, bkt objstore.Bucket, all ...ulid.ULID) { diff --git a/pkg/testutil/e2eutil/prometheus.go b/pkg/testutil/e2eutil/prometheus.go index 2372a70327..1f87a83787 100644 --- a/pkg/testutil/e2eutil/prometheus.go +++ b/pkg/testutil/e2eutil/prometheus.go @@ -37,22 +37,18 @@ import ( ) const ( - defaultPrometheusVersion = "v2.18.1" + defaultPrometheusVersion = "v1.8.2-0.20200507164740-ecee9c8abfd1" // v2.18.1 defaultAlertmanagerVersion = "v0.20.0" defaultMinioVersion = "RELEASE.2018-10-06T00-15-16Z" // Space delimited list of versions. - promVersionsEnvVar = "THANOS_TEST_PROMETHEUS_VERSIONS" + promPathsEnvVar = "THANOS_TEST_PROMETHEUS_PATHS" alertmanagerBinEnvVar = "THANOS_TEST_ALERTMANAGER_PATH" minioBinEnvVar = "THANOS_TEST_MINIO_PATH" ) func PrometheusBinary() string { - return prometheusBin(defaultPrometheusVersion) -} - -func prometheusBin(version string) string { - return fmt.Sprintf("prometheus-%s", version) + return "prometheus-" + defaultPrometheusVersion } func AlertmanagerBinary() string { @@ -77,7 +73,7 @@ type Prometheus struct { dir string db *tsdb.DB prefix string - version string + binPath string running bool cmd *exec.Cmd @@ -96,14 +92,14 @@ func NewTSDB() (*tsdb.DB, error) { } func ForeachPrometheus(t *testing.T, testFn func(t testing.TB, p *Prometheus)) { - vers := os.Getenv(promVersionsEnvVar) - if vers == "" { - vers = defaultPrometheusVersion + paths := os.Getenv(promPathsEnvVar) + if paths == "" { + paths = PrometheusBinary() } - for _, ver := range strings.Split(vers, " ") { - if ok := t.Run(ver, func(t *testing.T) { - p, err := newPrometheus(ver, "") + for _, path := range strings.Split(paths, " ") { + if ok := t.Run(path, func(t *testing.T) { + p, err := newPrometheus(path, "") testutil.Ok(t, err) testFn(t, p) @@ -126,9 +122,9 @@ func NewPrometheusOnPath(prefix string) (*Prometheus, error) { return newPrometheus("", prefix) } -func newPrometheus(version string, prefix string) (*Prometheus, error) { - if version == "" { - version = defaultPrometheusVersion +func newPrometheus(binPath string, prefix string) (*Prometheus, error) { + if binPath == "" { + binPath = PrometheusBinary() } db, err := NewTSDB() @@ -146,7 +142,7 @@ func newPrometheus(version string, prefix string) (*Prometheus, error) { dir: db.Dir(), db: db, prefix: prefix, - version: version, + binPath: binPath, addr: "", }, nil } @@ -188,7 +184,7 @@ func (p *Prometheus) start() error { "--config.file=" + filepath.Join(p.db.Dir(), "prometheus.yml"), }, extra...) - p.cmd = exec.Command(prometheusBin(p.version), args...) + p.cmd = exec.Command(p.binPath, args...) p.cmd.SysProcAttr = SysProcAttr() go func() { diff --git a/pkg/ui/bindata.go b/pkg/ui/bindata.go index 2c75df0560..82ba631bd4 100644 --- a/pkg/ui/bindata.go +++ b/pkg/ui/bindata.go @@ -1931,141 +1931,141 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "pkg": &bintree{nil, map[string]*bintree{ - "ui": &bintree{nil, map[string]*bintree{ - "static": &bintree{nil, map[string]*bintree{ - "css": &bintree{nil, map[string]*bintree{ - "alerts.css": &bintree{pkgUiStaticCssAlertsCss, map[string]*bintree{}}, - "graph.css": &bintree{pkgUiStaticCssGraphCss, map[string]*bintree{}}, - "prometheus.css": &bintree{pkgUiStaticCssPrometheusCss, map[string]*bintree{}}, - "rules.css": &bintree{pkgUiStaticCssRulesCss, map[string]*bintree{}}, + "pkg": {nil, map[string]*bintree{ + "ui": {nil, map[string]*bintree{ + "static": {nil, map[string]*bintree{ + "css": {nil, map[string]*bintree{ + "alerts.css": {pkgUiStaticCssAlertsCss, map[string]*bintree{}}, + "graph.css": {pkgUiStaticCssGraphCss, map[string]*bintree{}}, + "prometheus.css": {pkgUiStaticCssPrometheusCss, map[string]*bintree{}}, + "rules.css": {pkgUiStaticCssRulesCss, map[string]*bintree{}}, }}, - "img": &bintree{nil, map[string]*bintree{ - "ajax-loader.gif": &bintree{pkgUiStaticImgAjaxLoaderGif, map[string]*bintree{}}, - "favicon.ico": &bintree{pkgUiStaticImgFaviconIco, map[string]*bintree{}}, + "img": {nil, map[string]*bintree{ + "ajax-loader.gif": {pkgUiStaticImgAjaxLoaderGif, map[string]*bintree{}}, + "favicon.ico": {pkgUiStaticImgFaviconIco, map[string]*bintree{}}, }}, - "js": &bintree{nil, map[string]*bintree{ - "alerts.js": &bintree{pkgUiStaticJsAlertsJs, map[string]*bintree{}}, - "bucket.js": &bintree{pkgUiStaticJsBucketJs, map[string]*bintree{}}, - "graph.js": &bintree{pkgUiStaticJsGraphJs, map[string]*bintree{}}, - "graph_template.handlebar": &bintree{pkgUiStaticJsGraph_templateHandlebar, map[string]*bintree{}}, + "js": {nil, map[string]*bintree{ + "alerts.js": {pkgUiStaticJsAlertsJs, map[string]*bintree{}}, + "bucket.js": {pkgUiStaticJsBucketJs, map[string]*bintree{}}, + "graph.js": {pkgUiStaticJsGraphJs, map[string]*bintree{}}, + "graph_template.handlebar": {pkgUiStaticJsGraph_templateHandlebar, map[string]*bintree{}}, }}, - "react": &bintree{nil, map[string]*bintree{ - "asset-manifest.json": &bintree{pkgUiStaticReactAssetManifestJson, map[string]*bintree{}}, - "favicon.ico": &bintree{pkgUiStaticReactFaviconIco, map[string]*bintree{}}, - "index.html": &bintree{pkgUiStaticReactIndexHtml, map[string]*bintree{}}, - "manifest.json": &bintree{pkgUiStaticReactManifestJson, map[string]*bintree{}}, - "precache-manifest.5b38a4fc0bde14c6f31f0e40057889e9.js": &bintree{pkgUiStaticReactPrecacheManifest5b38a4fc0bde14c6f31f0e40057889e9Js, map[string]*bintree{}}, - "service-worker.js": &bintree{pkgUiStaticReactServiceWorkerJs, map[string]*bintree{}}, - "static": &bintree{nil, map[string]*bintree{ - "css": &bintree{nil, map[string]*bintree{ - "2.df42c974.chunk.css": &bintree{pkgUiStaticReactStaticCss2Df42c974ChunkCss, map[string]*bintree{}}, - "main.02392ede.chunk.css": &bintree{pkgUiStaticReactStaticCssMain02392edeChunkCss, map[string]*bintree{}}, + "react": {nil, map[string]*bintree{ + "asset-manifest.json": {pkgUiStaticReactAssetManifestJson, map[string]*bintree{}}, + "favicon.ico": {pkgUiStaticReactFaviconIco, map[string]*bintree{}}, + "index.html": {pkgUiStaticReactIndexHtml, map[string]*bintree{}}, + "manifest.json": {pkgUiStaticReactManifestJson, map[string]*bintree{}}, + "precache-manifest.5b38a4fc0bde14c6f31f0e40057889e9.js": {pkgUiStaticReactPrecacheManifest5b38a4fc0bde14c6f31f0e40057889e9Js, map[string]*bintree{}}, + "service-worker.js": {pkgUiStaticReactServiceWorkerJs, map[string]*bintree{}}, + "static": {nil, map[string]*bintree{ + "css": {nil, map[string]*bintree{ + "2.df42c974.chunk.css": {pkgUiStaticReactStaticCss2Df42c974ChunkCss, map[string]*bintree{}}, + "main.02392ede.chunk.css": {pkgUiStaticReactStaticCssMain02392edeChunkCss, map[string]*bintree{}}, }}, - "js": &bintree{nil, map[string]*bintree{ - "2.b309ab18.chunk.js": &bintree{pkgUiStaticReactStaticJs2B309ab18ChunkJs, map[string]*bintree{}}, - "2.b309ab18.chunk.js.LICENSE.txt": &bintree{pkgUiStaticReactStaticJs2B309ab18ChunkJsLicenseTxt, map[string]*bintree{}}, - "main.bd8c49dc.chunk.js": &bintree{pkgUiStaticReactStaticJsMainBd8c49dcChunkJs, map[string]*bintree{}}, - "runtime-main.5db206b5.js": &bintree{pkgUiStaticReactStaticJsRuntimeMain5db206b5Js, map[string]*bintree{}}, + "js": {nil, map[string]*bintree{ + "2.b309ab18.chunk.js": {pkgUiStaticReactStaticJs2B309ab18ChunkJs, map[string]*bintree{}}, + "2.b309ab18.chunk.js.LICENSE.txt": {pkgUiStaticReactStaticJs2B309ab18ChunkJsLicenseTxt, map[string]*bintree{}}, + "main.bd8c49dc.chunk.js": {pkgUiStaticReactStaticJsMainBd8c49dcChunkJs, map[string]*bintree{}}, + "runtime-main.5db206b5.js": {pkgUiStaticReactStaticJsRuntimeMain5db206b5Js, map[string]*bintree{}}, }}, }}, }}, - "vendor": &bintree{nil, map[string]*bintree{ - "bootstrap-4.1.3": &bintree{nil, map[string]*bintree{ - "css": &bintree{nil, map[string]*bintree{ - "bootstrap-grid.css": &bintree{pkgUiStaticVendorBootstrap413CssBootstrapGridCss, map[string]*bintree{}}, - "bootstrap-grid.min.css": &bintree{pkgUiStaticVendorBootstrap413CssBootstrapGridMinCss, map[string]*bintree{}}, - "bootstrap-reboot.css": &bintree{pkgUiStaticVendorBootstrap413CssBootstrapRebootCss, map[string]*bintree{}}, - "bootstrap-reboot.min.css": &bintree{pkgUiStaticVendorBootstrap413CssBootstrapRebootMinCss, map[string]*bintree{}}, - "bootstrap.min.css": &bintree{pkgUiStaticVendorBootstrap413CssBootstrapMinCss, map[string]*bintree{}}, + "vendor": {nil, map[string]*bintree{ + "bootstrap-4.1.3": {nil, map[string]*bintree{ + "css": {nil, map[string]*bintree{ + "bootstrap-grid.css": {pkgUiStaticVendorBootstrap413CssBootstrapGridCss, map[string]*bintree{}}, + "bootstrap-grid.min.css": {pkgUiStaticVendorBootstrap413CssBootstrapGridMinCss, map[string]*bintree{}}, + "bootstrap-reboot.css": {pkgUiStaticVendorBootstrap413CssBootstrapRebootCss, map[string]*bintree{}}, + "bootstrap-reboot.min.css": {pkgUiStaticVendorBootstrap413CssBootstrapRebootMinCss, map[string]*bintree{}}, + "bootstrap.min.css": {pkgUiStaticVendorBootstrap413CssBootstrapMinCss, map[string]*bintree{}}, }}, - "js": &bintree{nil, map[string]*bintree{ - "bootstrap.bundle.js": &bintree{pkgUiStaticVendorBootstrap413JsBootstrapBundleJs, map[string]*bintree{}}, - "bootstrap.bundle.min.js": &bintree{pkgUiStaticVendorBootstrap413JsBootstrapBundleMinJs, map[string]*bintree{}}, - "bootstrap.min.js": &bintree{pkgUiStaticVendorBootstrap413JsBootstrapMinJs, map[string]*bintree{}}, + "js": {nil, map[string]*bintree{ + "bootstrap.bundle.js": {pkgUiStaticVendorBootstrap413JsBootstrapBundleJs, map[string]*bintree{}}, + "bootstrap.bundle.min.js": {pkgUiStaticVendorBootstrap413JsBootstrapBundleMinJs, map[string]*bintree{}}, + "bootstrap.min.js": {pkgUiStaticVendorBootstrap413JsBootstrapMinJs, map[string]*bintree{}}, }}, }}, - "bootstrap3-typeahead": &bintree{nil, map[string]*bintree{ - "bootstrap3-typeahead.min.js": &bintree{pkgUiStaticVendorBootstrap3TypeaheadBootstrap3TypeaheadMinJs, map[string]*bintree{}}, + "bootstrap3-typeahead": {nil, map[string]*bintree{ + "bootstrap3-typeahead.min.js": {pkgUiStaticVendorBootstrap3TypeaheadBootstrap3TypeaheadMinJs, map[string]*bintree{}}, }}, - "bootstrap4-glyphicons": &bintree{nil, map[string]*bintree{ - "css": &bintree{nil, map[string]*bintree{ - "bootstrap-glyphicons.css": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsCssBootstrapGlyphiconsCss, map[string]*bintree{}}, - "bootstrap-glyphicons.min.css": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsCssBootstrapGlyphiconsMinCss, map[string]*bintree{}}, + "bootstrap4-glyphicons": {nil, map[string]*bintree{ + "css": {nil, map[string]*bintree{ + "bootstrap-glyphicons.css": {pkgUiStaticVendorBootstrap4GlyphiconsCssBootstrapGlyphiconsCss, map[string]*bintree{}}, + "bootstrap-glyphicons.min.css": {pkgUiStaticVendorBootstrap4GlyphiconsCssBootstrapGlyphiconsMinCss, map[string]*bintree{}}, }}, - "fonts": &bintree{nil, map[string]*bintree{ - "fontawesome": &bintree{nil, map[string]*bintree{ - "fa-brands-400.eot": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Eot, map[string]*bintree{}}, - "fa-brands-400.svg": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Svg, map[string]*bintree{}}, - "fa-brands-400.ttf": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Ttf, map[string]*bintree{}}, - "fa-brands-400.woff": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Woff, map[string]*bintree{}}, - "fa-brands-400.woff2": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Woff2, map[string]*bintree{}}, - "fa-regular-400.eot": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Eot, map[string]*bintree{}}, - "fa-regular-400.svg": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Svg, map[string]*bintree{}}, - "fa-regular-400.ttf": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Ttf, map[string]*bintree{}}, - "fa-regular-400.woff": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Woff, map[string]*bintree{}}, - "fa-regular-400.woff2": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Woff2, map[string]*bintree{}}, - "fa-solid-900.eot": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Eot, map[string]*bintree{}}, - "fa-solid-900.svg": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Svg, map[string]*bintree{}}, - "fa-solid-900.ttf": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Ttf, map[string]*bintree{}}, - "fa-solid-900.woff": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Woff, map[string]*bintree{}}, - "fa-solid-900.woff2": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Woff2, map[string]*bintree{}}, + "fonts": {nil, map[string]*bintree{ + "fontawesome": {nil, map[string]*bintree{ + "fa-brands-400.eot": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Eot, map[string]*bintree{}}, + "fa-brands-400.svg": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Svg, map[string]*bintree{}}, + "fa-brands-400.ttf": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Ttf, map[string]*bintree{}}, + "fa-brands-400.woff": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Woff, map[string]*bintree{}}, + "fa-brands-400.woff2": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaBrands400Woff2, map[string]*bintree{}}, + "fa-regular-400.eot": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Eot, map[string]*bintree{}}, + "fa-regular-400.svg": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Svg, map[string]*bintree{}}, + "fa-regular-400.ttf": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Ttf, map[string]*bintree{}}, + "fa-regular-400.woff": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Woff, map[string]*bintree{}}, + "fa-regular-400.woff2": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaRegular400Woff2, map[string]*bintree{}}, + "fa-solid-900.eot": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Eot, map[string]*bintree{}}, + "fa-solid-900.svg": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Svg, map[string]*bintree{}}, + "fa-solid-900.ttf": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Ttf, map[string]*bintree{}}, + "fa-solid-900.woff": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Woff, map[string]*bintree{}}, + "fa-solid-900.woff2": {pkgUiStaticVendorBootstrap4GlyphiconsFontsFontawesomeFaSolid900Woff2, map[string]*bintree{}}, }}, - "glyphicons": &bintree{nil, map[string]*bintree{ - "glyphicons-halflings-regular.eot": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularEot, map[string]*bintree{}}, - "glyphicons-halflings-regular.svg": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularSvg, map[string]*bintree{}}, - "glyphicons-halflings-regular.ttf": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularTtf, map[string]*bintree{}}, - "glyphicons-halflings-regular.woff": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularWoff, map[string]*bintree{}}, - "glyphicons-halflings-regular.woff2": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularWoff2, map[string]*bintree{}}, + "glyphicons": {nil, map[string]*bintree{ + "glyphicons-halflings-regular.eot": {pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularEot, map[string]*bintree{}}, + "glyphicons-halflings-regular.svg": {pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularSvg, map[string]*bintree{}}, + "glyphicons-halflings-regular.ttf": {pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularTtf, map[string]*bintree{}}, + "glyphicons-halflings-regular.woff": {pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularWoff, map[string]*bintree{}}, + "glyphicons-halflings-regular.woff2": {pkgUiStaticVendorBootstrap4GlyphiconsFontsGlyphiconsGlyphiconsHalflingsRegularWoff2, map[string]*bintree{}}, }}, }}, - "maps": &bintree{nil, map[string]*bintree{ - "glyphicons-fontawesome.css": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsMapsGlyphiconsFontawesomeCss, map[string]*bintree{}}, - "glyphicons-fontawesome.less": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsMapsGlyphiconsFontawesomeLess, map[string]*bintree{}}, - "glyphicons-fontawesome.min.css": &bintree{pkgUiStaticVendorBootstrap4GlyphiconsMapsGlyphiconsFontawesomeMinCss, map[string]*bintree{}}, + "maps": {nil, map[string]*bintree{ + "glyphicons-fontawesome.css": {pkgUiStaticVendorBootstrap4GlyphiconsMapsGlyphiconsFontawesomeCss, map[string]*bintree{}}, + "glyphicons-fontawesome.less": {pkgUiStaticVendorBootstrap4GlyphiconsMapsGlyphiconsFontawesomeLess, map[string]*bintree{}}, + "glyphicons-fontawesome.min.css": {pkgUiStaticVendorBootstrap4GlyphiconsMapsGlyphiconsFontawesomeMinCss, map[string]*bintree{}}, }}, }}, - "eonasdan-bootstrap-datetimepicker": &bintree{nil, map[string]*bintree{ - "bootstrap-datetimepicker.min.css": &bintree{pkgUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinCss, map[string]*bintree{}}, - "bootstrap-datetimepicker.min.js": &bintree{pkgUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinJs, map[string]*bintree{}}, + "eonasdan-bootstrap-datetimepicker": {nil, map[string]*bintree{ + "bootstrap-datetimepicker.min.css": {pkgUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinCss, map[string]*bintree{}}, + "bootstrap-datetimepicker.min.js": {pkgUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinJs, map[string]*bintree{}}, }}, - "fuzzy": &bintree{nil, map[string]*bintree{ - "fuzzy.js": &bintree{pkgUiStaticVendorFuzzyFuzzyJs, map[string]*bintree{}}, + "fuzzy": {nil, map[string]*bintree{ + "fuzzy.js": {pkgUiStaticVendorFuzzyFuzzyJs, map[string]*bintree{}}, }}, - "js": &bintree{nil, map[string]*bintree{ - "jquery-3.5.0.min.js": &bintree{pkgUiStaticVendorJsJquery350MinJs, map[string]*bintree{}}, - "jquery.hotkeys.js": &bintree{pkgUiStaticVendorJsJqueryHotkeysJs, map[string]*bintree{}}, - "jquery.selection.js": &bintree{pkgUiStaticVendorJsJquerySelectionJs, map[string]*bintree{}}, - "popper.min.js": &bintree{pkgUiStaticVendorJsPopperMinJs, map[string]*bintree{}}, + "js": {nil, map[string]*bintree{ + "jquery-3.5.0.min.js": {pkgUiStaticVendorJsJquery350MinJs, map[string]*bintree{}}, + "jquery.hotkeys.js": {pkgUiStaticVendorJsJqueryHotkeysJs, map[string]*bintree{}}, + "jquery.selection.js": {pkgUiStaticVendorJsJquerySelectionJs, map[string]*bintree{}}, + "popper.min.js": {pkgUiStaticVendorJsPopperMinJs, map[string]*bintree{}}, }}, - "moment": &bintree{nil, map[string]*bintree{ - "moment-timezone-with-data.min.js": &bintree{pkgUiStaticVendorMomentMomentTimezoneWithDataMinJs, map[string]*bintree{}}, - "moment.min.js": &bintree{pkgUiStaticVendorMomentMomentMinJs, map[string]*bintree{}}, + "moment": {nil, map[string]*bintree{ + "moment-timezone-with-data.min.js": {pkgUiStaticVendorMomentMomentTimezoneWithDataMinJs, map[string]*bintree{}}, + "moment.min.js": {pkgUiStaticVendorMomentMomentMinJs, map[string]*bintree{}}, }}, - "mustache": &bintree{nil, map[string]*bintree{ - "mustache.min.js": &bintree{pkgUiStaticVendorMustacheMustacheMinJs, map[string]*bintree{}}, + "mustache": {nil, map[string]*bintree{ + "mustache.min.js": {pkgUiStaticVendorMustacheMustacheMinJs, map[string]*bintree{}}, }}, - "rickshaw": &bintree{nil, map[string]*bintree{ - "rickshaw.min.css": &bintree{pkgUiStaticVendorRickshawRickshawMinCss, map[string]*bintree{}}, - "rickshaw.min.js": &bintree{pkgUiStaticVendorRickshawRickshawMinJs, map[string]*bintree{}}, - "vendor": &bintree{nil, map[string]*bintree{ - "d3.layout.min.js": &bintree{pkgUiStaticVendorRickshawVendorD3LayoutMinJs, map[string]*bintree{}}, - "d3.v3.js": &bintree{pkgUiStaticVendorRickshawVendorD3V3Js, map[string]*bintree{}}, + "rickshaw": {nil, map[string]*bintree{ + "rickshaw.min.css": {pkgUiStaticVendorRickshawRickshawMinCss, map[string]*bintree{}}, + "rickshaw.min.js": {pkgUiStaticVendorRickshawRickshawMinJs, map[string]*bintree{}}, + "vendor": {nil, map[string]*bintree{ + "d3.layout.min.js": {pkgUiStaticVendorRickshawVendorD3LayoutMinJs, map[string]*bintree{}}, + "d3.v3.js": {pkgUiStaticVendorRickshawVendorD3V3Js, map[string]*bintree{}}, }}, }}, }}, }}, - "templates": &bintree{nil, map[string]*bintree{ - "_base.html": &bintree{pkgUiTemplates_baseHtml, map[string]*bintree{}}, - "alerts.html": &bintree{pkgUiTemplatesAlertsHtml, map[string]*bintree{}}, - "bucket.html": &bintree{pkgUiTemplatesBucketHtml, map[string]*bintree{}}, - "bucket_menu.html": &bintree{pkgUiTemplatesBucket_menuHtml, map[string]*bintree{}}, - "graph.html": &bintree{pkgUiTemplatesGraphHtml, map[string]*bintree{}}, - "query_menu.html": &bintree{pkgUiTemplatesQuery_menuHtml, map[string]*bintree{}}, - "rule_menu.html": &bintree{pkgUiTemplatesRule_menuHtml, map[string]*bintree{}}, - "rules.html": &bintree{pkgUiTemplatesRulesHtml, map[string]*bintree{}}, - "status.html": &bintree{pkgUiTemplatesStatusHtml, map[string]*bintree{}}, - "stores.html": &bintree{pkgUiTemplatesStoresHtml, map[string]*bintree{}}, + "templates": {nil, map[string]*bintree{ + "_base.html": {pkgUiTemplates_baseHtml, map[string]*bintree{}}, + "alerts.html": {pkgUiTemplatesAlertsHtml, map[string]*bintree{}}, + "bucket.html": {pkgUiTemplatesBucketHtml, map[string]*bintree{}}, + "bucket_menu.html": {pkgUiTemplatesBucket_menuHtml, map[string]*bintree{}}, + "graph.html": {pkgUiTemplatesGraphHtml, map[string]*bintree{}}, + "query_menu.html": {pkgUiTemplatesQuery_menuHtml, map[string]*bintree{}}, + "rule_menu.html": {pkgUiTemplatesRule_menuHtml, map[string]*bintree{}}, + "rules.html": {pkgUiTemplatesRulesHtml, map[string]*bintree{}}, + "status.html": {pkgUiTemplatesStatusHtml, map[string]*bintree{}}, + "stores.html": {pkgUiTemplatesStoresHtml, map[string]*bintree{}}, }}, }}, }},