[lucicfg] Add acl.SCHEDULER_* roles, rename Buildbucket roles for consistency.

Scheduler and Buildbucket use different names for the same kind of roles:
  Buildbucket's SCHEDULER ~= Scheduler's TRIGGERER
  Buildbucket's WRITER ~= Scheduler's OWNER

This is confusing. So we'll need to make a compromise somewhere: either use
Buildbucket-inspired roles or Scheduler-inspired ones (or pick something
completely unrelated).

Arguably, scheduler's ones (TRIGGERER, OWNER) are clearer than buildbucket's
ones (SCHEDULER, WRITER). For one, 'schedule' is a pretty overloaded term, and
SCHEDULER_SCHEDULER will look odd. Also Buildbucket's WRITER role doesn't convey
the powers it grants (e.g. ability to cancel all builds in the bucket).

So we now have:
  BUILDBUCKET_READER - can list buckets, read build properties
  BUILDBUCKET_TRIGGERER - can launch buildbucket tasks
  BUILDBUCKET_OWNER - full access to the bucket (e.g. clearing it)
  SCHEDULER_READER - can list scheduler job invocations
  SCHEDULER_TRIGGERER - can launch scheduler jobs by submitting triggers
  SCHEDULER_OWNER - can abort jobs

R=nodir@chromium.org, tandrii@chromium.org
BUG=833946

Change-Id: I494a9af90714bf1739c91fdb6fa25167681be1e6
Reviewed-on: https://chromium-review.googlesource.com/c/1400850
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
7 files changed
tree: 5e1e0f509e7da881b9ff9b43ea41c9f3b199b390
  1. appengine/
  2. auth/
  3. buildbucket/
  4. cipd/
  5. client/
  6. common/
  7. config/
  8. cq/
  9. dm/
  10. examples/
  11. gce/
  12. grpc/
  13. hardcoded/
  14. infra/
  15. logdog/
  16. luci_notify/
  17. lucicfg/
  18. lucictx/
  19. machine-db/
  20. milo/
  21. mmutex/
  22. mp/
  23. scheduler/
  24. scripts/
  25. server/
  26. starlark/
  27. tokenserver/
  28. tools/
  29. tumble/
  30. vpython/
  31. web/
  32. .travis.yml
  33. AUTHORS
  34. codereview.settings
  35. CONTRIBUTING.md
  36. CONTRIBUTORS
  37. LICENSE
  38. OWNERS
  39. pre-commit-go.yml
  40. PRESUBMIT.py
  41. README.md
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.