[bbagent] Teach it to run outside of Swarming bot.

When given `-use-gce-account` flag, it would launch a local
LUCI auth server using the GCE metadata server account and use it
for all authentication (in bbagent itself and in subprocesses).

Also populate `realm` section of LUCI_CONTEXT based on the
build proto if it is not populated already.

R=iannucci@chromium.org, tikuta@chromium.org
BUG=1263899

Change-Id: I9b441e1ae137fc03286b6e7ad75953a80cf08e9e
Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/3263221
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
1 file changed
tree: a7f125bcaed6f6a05767d194e2e962dac0e3e56c
  1. appengine/
  2. auth/
  3. auth_service/
  4. buildbucket/
  5. casviewer/
  6. cipd/
  7. client/
  8. cmdrunner/
  9. common/
  10. config/
  11. cv/
  12. dm/
  13. examples/
  14. gae/
  15. gce/
  16. grpc/
  17. hacks/
  18. hardcoded/
  19. led/
  20. logdog/
  21. luci_notify/
  22. lucicfg/
  23. lucictx/
  24. luciexe/
  25. machine-db/
  26. mailer/
  27. milo/
  28. mmutex/
  29. mp/
  30. resultdb/
  31. scheduler/
  32. scripts/
  33. server/
  34. starlark/
  35. swarming/
  36. tokenserver/
  37. tools/
  38. tumble/
  39. vpython/
  40. web/
  41. .gitallowed
  42. .gitattributes
  43. .golangci.yml
  44. AUTHORS
  45. codereview.settings
  46. CONTRIBUTING.md
  47. CONTRIBUTORS
  48. go.mod
  49. go.sum
  50. LICENSE
  51. OWNERS
  52. PRESUBMIT.py
  53. README.md
  54. tools.go
  55. WATCHLISTS
README.md

luci-go: LUCI services and tools in Go

GoDoc

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

Contributing

Contributing uses the same flow as Chromium contributions.