Initial LUCI configuration
Release-Notes: skip
Change-Id: Ia17070198227921abce58702edfb49b67995972a
diff --git a/generated/cr-buildbucket.cfg b/generated/cr-buildbucket.cfg
new file mode 100644
index 0000000..5c8967b
--- /dev/null
+++ b/generated/cr-buildbucket.cfg
@@ -0,0 +1,15 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see BuildbucketCfg message:
+# https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+buckets {
+ name: "ci"
+}
+buckets {
+ name: "prod"
+}
+buckets {
+ name: "try"
+}
diff --git a/generated/luci-logdog.cfg b/generated/luci-logdog.cfg
new file mode 100644
index 0000000..0b65e02
--- /dev/null
+++ b/generated/luci-logdog.cfg
@@ -0,0 +1,7 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see ProjectConfig message:
+# https://luci-config.appspot.com/schemas/projects:luci-logdog.cfg
+
+archive_gs_bucket: "logdog-gerrit-archive"
diff --git a/generated/project.cfg b/generated/project.cfg
new file mode 100644
index 0000000..7c41c9c
--- /dev/null
+++ b/generated/project.cfg
@@ -0,0 +1,15 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see ProjectCfg message:
+# https://luci-config.appspot.com/schemas/projects:project.cfg
+
+name: "gerrit"
+lucicfg {
+ version: "1.33.2"
+ package_dir: ".."
+ config_dir: "generated"
+ entry_point: "main.star"
+ experiments: "crbug.com/1171945"
+ experiments: "crbug.com/1347252"
+}
diff --git a/generated/realms.cfg b/generated/realms.cfg
new file mode 100644
index 0000000..4980f46
--- /dev/null
+++ b/generated/realms.cfg
@@ -0,0 +1,44 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see RealmsCfg message:
+# https://luci-config.appspot.com/schemas/projects:realms.cfg
+
+realms {
+ name: "@root"
+ bindings {
+ role: "role/configs.developer"
+ principals: "group:googlers"
+ }
+ bindings {
+ role: "role/swarming.poolOwner"
+ principals: "group:gerritcodereview-eng"
+ }
+ bindings {
+ role: "role/swarming.poolUser"
+ principals: "group:gerritcodereview-eng"
+ }
+ bindings {
+ role: "role/swarming.poolViewer"
+ principals: "group:googlers"
+ }
+ bindings {
+ role: "role/swarming.taskTriggerer"
+ principals: "group:gerritcodereview-eng"
+ }
+}
+realms {
+ name: "ci"
+}
+realms {
+ name: "pools/ci"
+}
+realms {
+ name: "pools/try"
+}
+realms {
+ name: "prod"
+}
+realms {
+ name: "try"
+}
diff --git a/main.star b/main.star
new file mode 100755
index 0000000..0a51661
--- /dev/null
+++ b/main.star
@@ -0,0 +1,68 @@
+#!/usr/bin/env lucicfg
+
+lucicfg.check_version("1.33.2", "Please update depot_tools")
+
+lucicfg.config(
+ config_dir = "generated",
+ tracked_files = ["*.cfg"],
+ fail_on_warnings = True,
+ lint_checks = ["default", "-module-docstring"],
+)
+
+luci.project(
+ name = "gerrit",
+
+ buildbucket = "cr-buildbucket.appspot.com",
+ logdog = "luci-logdog.appspot.com",
+ milo = "luci-milo.appspot.com",
+ notify = "luci-notify.appspot.com",
+ scheduler = "luci-scheduler.appspot.com",
+ swarming = "chromium-swarm.appspot.com.appspot.com",
+ tricium = "tricium-prod.appspot.com",
+
+ bindings = [
+ # Allow owners to submit any task in any pool.
+ luci.binding(
+ roles = [
+ "role/swarming.poolOwner",
+ "role/swarming.poolUser",
+ "role/swarming.taskTriggerer",
+ ],
+ groups = "gerritcodereview-eng",
+ ),
+
+ # Allow any googler to see all bots and tasks there.
+ luci.binding(
+ roles = "role/swarming.poolViewer",
+ groups = "googlers",
+ ),
+
+ # Allow any googler to read/validate/reimport the project configs.
+ luci.binding(
+ roles = "role/configs.developer",
+ groups = "googlers",
+ )
+ ],
+)
+
+# Per-service tweaks.
+luci.logdog(gs_bucket = "logdog-gerrit-archive")
+
+# Realms with ACLs for corresponding Swarming pools.
+luci.realm(name = "pools/ci")
+luci.realm(name = "pools/try")
+
+# Global recipe defaults
+luci.recipe.defaults.cipd_version.set("refs/heads/main")
+luci.recipe.defaults.use_python3.set(True)
+
+# The try bucket will include builders which work on pre-commit or pre-review
+# code.
+luci.bucket(name = "try")
+
+# The ci bucket will include builders which work on post-commit code.
+luci.bucket(name = "ci")
+
+# The prod bucket will include builders which work on post-commit code and
+# generate executable artifacts used by other users or machines.
+luci.bucket(name = "prod")