# 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"
  bindings {
    role: "role/swarming.poolUser"
    principals: "user:flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
}
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"
  }
  bindings {
    role: "role/swarming.taskTriggerer"
    principals: "user:flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
}
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"
  }
}
