# 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: 140
    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: 10
    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: 20
    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-docker-arm64
    count: 55
    project: bazel-untrusted
    service_account: buildkite@bazel-untrusted.iam.gserviceaccount.com
    image_family: bk-docker-arm64
    metadata_from_file: startup-script=startup-docker-pdssd.sh
    machine_type: c4a-standard-8-lssd
    zone: us-central1-c
    boot_disk_type: hyperdisk-balanced
  - name: bk-testing-docker-arm64
    count: 5
    project: bazel-untrusted
    service_account: buildkite-testing@bazel-untrusted.iam.gserviceaccount.com
    image_family: bk-testing-docker-arm64
    metadata_from_file: startup-script=startup-docker-pdssd.sh
    machine_type: c4a-standard-8-lssd
    zone: us-central1-c
    boot_disk_type: hyperdisk-balanced
  - name: bk-trusted-docker-arm64
    count: 20
    project: bazel-public
    service_account: buildkite-trusted@bazel-public.iam.gserviceaccount.com
    image_family: bk-docker-arm64
    metadata_from_file: startup-script=startup-docker-pdssd.sh
    machine_type: c4a-standard-8-lssd
    zone: us-central1-c
    boot_disk_type: hyperdisk-balanced
  - 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: 10
    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
