# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see RealmsCfg message:
#   https://config.luci.app/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/logdog.writer"
    principals: "group:luci-logdog-r8-writers"
  }
  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"
  }
}
