# Note that the hostnames are parsed and trigger specific behavior for different use cases.
# The following parts have a special meaning:
#
# - bk: This is a production VM running the Buildkite agent.
# - pipeline: This is a special production VM that only runs pipeline setup
#               scripts.
# - testing: This is a shared VM that can be used by project members for
#              experiments. It does not run the Buildkite agent.
# - trusted: This is a special production VM that has additional access to
#              secrets.
# - worker: This is a worker VM running normal CI jobs.
#
---
default_vm:
  boot_disk_size: 500GB
  boot_disk_type: pd-ssd
  machine_type: c2-standard-30
  network: default
  region: us-central1
  restart-on-failure: False
  scopes: cloud-platform
  zone: us-central1-f
  image_project: bazel-public
  tags: health-check
  health_check: buildkite-check
  initial_delay: 60
instance_groups:
  - name: bk-docker
    count: 100
    project: bazel-untrusted
    service_account: buildkite@bazel-untrusted.iam.gserviceaccount.com
    image_family: bk-docker
    metadata_from_file: startup-script=startup-docker-pdssd.sh
  - name: bk-testing-docker
    count: 30
    project: bazel-untrusted
    service_account: buildkite-testing@bazel-untrusted.iam.gserviceaccount.com
    image_family: bk-testing-docker
    metadata_from_file: startup-script=startup-docker-pdssd.sh
  - name: bk-trusted-docker
    count: 8
    project: bazel-public
    service_account: buildkite-trusted@bazel-public.iam.gserviceaccount.com
    image_family: bk-docker
    metadata_from_file: startup-script=startup-docker-pdssd.sh
  - name: bk-windows
    count: 30
    project: bazel-untrusted
    service_account: buildkite@bazel-untrusted.iam.gserviceaccount.com
    image_family: bk-windows
    metadata_from_file: windows-startup-script-ps1=startup-windows-pdssd.ps1
  - name: bk-testing-windows
    count: 10
    project: bazel-untrusted
    service_account: buildkite-testing@bazel-untrusted.iam.gserviceaccount.com
    image_family: bk-testing-windows
    metadata_from_file: windows-startup-script-ps1=startup-windows-pdssd.ps1
  - name: bk-trusted-windows
    count: 4
    project: bazel-public
    service_account: buildkite-trusted@bazel-public.iam.gserviceaccount.com
    image_family: bk-windows
    metadata_from_file: windows-startup-script-ps1=startup-windows-pdssd.ps1
physical_clusters:
  - name: buildkite-imacpro
    count: 20
  - name: bk-testing-macpro
    count: 4
  - name: bk-trusted-macpro
    count: 4
