# 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/buildbucket.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/buildbucket.triggerer"
    principals: "group:project-r8-committers"
    principals: "user:luci-scheduler@appspot.gserviceaccount.com"
  }
  bindings {
    role: "role/configs.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/logdog.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/scheduler.owner"
    principals: "group:project-r8-committers"
    principals: "user:luci-scheduler@appspot.gserviceaccount.com"
  }
  bindings {
    role: "role/scheduler.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/swarming.poolOwner"
    principals: "group:mdb/r8-team"
  }
  bindings {
    role: "role/swarming.poolViewer"
    principals: "group:googlers"
  }
}
realms {
  name: "ci"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:r8-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/swarming.taskTriggerer"
    principals: "group:mdb/chrome-troopers"
    principals: "group:mdb/r8-team"
  }
}
realms {
  name: "pools/ci"
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:mdb/chrome-troopers"
    principals: "group:mdb/r8-team"
  }
}
