# 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.owner"
    principals: "group:project-flutter-admins"
  }
  bindings {
    role: "role/buildbucket.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/buildbucket.triggerer"
    principals: "group:project-flutter-prod-schedulers"
    principals: "group:project-flutter-staging-schedulers"
  }
  bindings {
    role: "role/configs.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/configs.validator"
    principals: "group:project-flutter-prod-task-accounts"
    principals: "group:project-flutter-staging-task-accounts"
    principals: "group:project-flutter-try-task-accounts"
  }
  bindings {
    role: "role/cq.committer"
    principals: "group:project-flutter-try-schedulers"
  }
  bindings {
    role: "role/cq.dryRunner"
    principals: "group:project-flutter-try-schedulers"
  }
  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-flutter-admins"
  }
  bindings {
    role: "role/scheduler.reader"
    principals: "group:all"
  }
  bindings {
    role: "role/scheduler.triggerer"
    principals: "group:project-flutter-prod-schedulers"
    principals: "group:project-flutter-staging-schedulers"
  }
  bindings {
    role: "role/swarming.poolOwner"
    principals: "group:project-flutter-admins"
  }
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:project-flutter-admins"
  }
  bindings {
    role: "role/swarming.poolViewer"
    principals: "group:all"
  }
  bindings {
    role: "role/swarming.taskTriggerer"
    principals: "group:project-flutter-admins"
  }
}
realms {
  name: "pools/prod"
}
realms {
  name: "pools/staging"
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:project-flutter-led-users"
    principals: "group:project-flutter-staging-schedulers"
  }
}
realms {
  name: "pools/tests"
}
realms {
  name: "pools/try"
  bindings {
    role: "role/swarming.poolUser"
    principals: "group:project-flutter-led-users"
    principals: "group:project-flutter-try-schedulers"
    principals: "user:flutter-try-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
}
realms {
  name: "prod"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.triggerer"
    principals: "group:project-flutter-prod-schedulers"
  }
  bindings {
    role: "role/scheduler.triggerer"
    principals: "group:project-flutter-prod-schedulers"
  }
}
realms {
  name: "staging"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.triggerer"
    principals: "group:project-flutter-staging-schedulers"
  }
  bindings {
    role: "role/swarming.taskTriggerer"
    principals: "group:project-flutter-led-users"
    principals: "group:project-flutter-staging-schedulers"
  }
}
realms {
  name: "try"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:flutter-try-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.triggerer"
    principals: "group:project-flutter-try-schedulers"
  }
  bindings {
    role: "role/swarming.taskTriggerer"
    principals: "group:project-flutter-led-users"
    principals: "group:project-flutter-try-schedulers"
    principals: "user:flutter-try-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
}
