# 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/analysis.editor"
    principals: "group:googlers"
  }
  bindings {
    role: "role/analysis.queryUser"
    principals: "group:authenticated-users"
  }
  bindings {
    role: "role/analysis.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/buildbucket.creator"
    principals: "group:project-webrtc-admins"
  }
  bindings {
    role: "role/buildbucket.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/configs.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/configs.validator"
    principals: "user:webrtc-try-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/logdog.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/logdog.writer"
    principals: "group:luci-logdog-chromium-writers"
  }
  bindings {
    role: "role/scheduler.owner"
    principals: "group:project-webrtc-admins"
  }
  bindings {
    role: "role/scheduler.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/swarming.poolOwner"
    principals: "group:project-webrtc-admins"
  }
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:project-webrtc-admins"
  }
  bindings {
    role: "role/swarming.poolViewer"
    principals: "group:all"
  }
  bindings {
    role: "role/swarming.taskServiceAccount"
    principals: "user:chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/swarming.taskTriggerer"
    principals: "group:project-webrtc-admins"
  }
}
realms {
  name: "ci"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.triggerer"
    principals: "group:project-webrtc-ci-schedulers"
  }
  bindings {
    role: "role/resultdb.invocationCreator"
    principals: "group:project-webrtc-ci-task-accounts"
  }
}
realms {
  name: "cron"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com"
    principals: "user:webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com"
  }
}
realms {
  name: "perf"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.creator"
    principals: "group:project-webrtc-led-users"
  }
  bindings {
    role: "role/buildbucket.triggerer"
    principals: "group:service-account-chromeperf"
    principals: "user:webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/swarming.taskTriggerer"
    principals: "group:project-webrtc-led-users"
  }
  bindings {
    role: "role/scheduler.triggerer"
    principals: "user:webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
    conditions {
      restrict {
        attribute: "scheduler.job.name"
        values: "Perf Android32 (R Pixel5)"
        values: "Perf Android64 (R Pixel5)"
        values: "Perf Fuchsia"
        values: "Perf Linux Bionic"
        values: "Perf Mac 11"
        values: "Perf Mac M1 Arm64 12"
        values: "Perf Win 10"
      }
    }
  }
}
realms {
  name: "pools/ci"
}
realms {
  name: "pools/ci-tests"
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:project-webrtc-ci-task-accounts"
  }
  bindings {
    role: "role/swarming.taskServiceAccount"
    principals: "group:project-webrtc-ci-task-accounts"
  }
}
realms {
  name: "pools/cron"
  bindings {
    role: "role/swarming.poolUser"
    principals: "project:libyuv"
  }
}
realms {
  name: "pools/perf"
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:project-webrtc-led-users"
  }
}
realms {
  name: "pools/try"
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:project-webrtc-led-users"
  }
}
realms {
  name: "pools/try-tests"
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:project-webrtc-try-task-accounts"
  }
  bindings {
    role: "role/swarming.taskServiceAccount"
    principals: "group:project-webrtc-try-task-accounts"
  }
}
realms {
  name: "try"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:webrtc-try-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.creator"
    principals: "group:project-webrtc-led-users"
  }
  bindings {
    role: "role/buildbucket.triggerer"
    principals: "group:project-webrtc-tryjob-access"
    principals: "group:service-account-cq"
  }
  bindings {
    role: "role/resultdb.invocationCreator"
    principals: "group:project-webrtc-try-task-accounts"
  }
  bindings {
    role: "role/swarming.taskTriggerer"
    principals: "group:project-webrtc-led-users"
  }
}
