# 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.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: "group:project-flutter-led-prod-users"
    principals: "project:dart"
    principals: "project:flutter"
    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"
    principals: "project:dart"
    principals: "project:flutter"
  }
}
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: "project:flutter"
    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.creator"
    principals: "group:project-flutter-led-prod-users"
    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: "group:project-flutter-led-prod-users"
    principals: "user:flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
}
realms {
  name: "prod.shadow"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.creator"
    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.creator"
    principals: "group:project-flutter-led-users"
    principals: "group:project-flutter-staging-schedulers"
  }
  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: "staging.shadow"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.creator"
    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.creator"
    principals: "group:project-flutter-led-users"
    principals: "group:project-flutter-try-schedulers"
    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"
  }
}
realms {
  name: "try.shadow"
  bindings {
    role: "role/buildbucket.builderServiceAccount"
    principals: "user:flutter-try-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  bindings {
    role: "role/buildbucket.creator"
    principals: "group:project-flutter-try-schedulers"
  }
}
