[lucicfg] Setup basic structure of LUCI rules and generators.

Implement very simple subsets of core.project(), core.bucket() and
core.logdog() as an example.

In particular:
  * All rules (node definition statements) live in //internal/luci/rules/*.star,
    one per file for easier search.
  * //internal/luci/common.star defines keys for all LUCI nodes.
  * //internal/luci/generators.star implements all config generators.
  * //internal/luci/lib/*.star are various utilities.

R=nodir@chromium.org
BUG=833946

Change-Id: I05ca65676508cdafb99241dad05dbf9d00bb27a4
Reviewed-on: https://chromium-review.googlesource.com/c/1364750
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
26 files changed
tree: ef5532be3d4213ab3664681fd0e068dbbdf35a7e
  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.