internal/config: add BinaryDir

Make the directory in which we keep binaries a configuration parameter.

We decided to do this because it was hard to come up with a directory
for binaries that would work on both Cloud Run and locally.

Using /tmp is fine locally, but Cloud Run mounts something on /tmp,
so a docker image that writes files to /tmp will see those files
when executed directly with `docker run`, but not on Cloud Run.

In the Dockerfile, we use /app/binaries, and the sandbox bind-mounts
that to the same path. But that won't work locally because normal
users can't create top-level directories. Locally, a user can set
GO_ECOSYSTEM_BINARY_DIR, or let the binary directory default to
/tmp/binaries.

Change-Id: I128c5cece34ee0b4612dd879bd103d57e68d5484
Reviewed-on: https://go-review.googlesource.com/c/pkgsite-metrics/+/477475
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Zvonimir Pavlinovic <zpavlinovic@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
7 files changed
tree: 00f92aa3eabdb42e085047600c125195511adde5
  1. cmd/
  2. deploy/
  3. devtools/
  4. internal/
  5. terraform/
  6. .dockerignore
  7. .gitignore
  8. all_test.go
  9. checks.bash
  10. config.json.commented
  11. CONTRIBUTING.md
  12. go.mod
  13. go.sum
  14. LICENSE
  15. Makefile
  16. PATENTS
  17. README.md
  18. tools.go
README.md

pkgsite-metrics

This repository contains code that serves pkg.go.dev/metrics.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the time repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/pkgsite-metrics:” in the subject line, so it is easy to find.