[lucicfg] Add @stdlib//internal/luci/lib/acl.star library.

It defines public API for acls:
  * A function that constructs an ACL entry: acl.entry(...).
  * Various initial LUCI roles, e.g acl.BUILDBUCKET_READER.

Also contains internal API used by the rules implementation:
  * aclimpl.validate_acls: checks format of acl.entry(...) definitions.
  * aclimpl.normalize_acls: expands, dedups and sorts ACLs.

More roles will be added when we add support for more services.

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

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