mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 10:46:11 +03:00
31a76a4a2a
This morning we started with very restricted CI pools (2/6 for Windows and 7/20 for Linux), apparently because the region we run in (us-east1) has three zones, two of them were unable to allocate new nodes, and the default policy is to distribute nodes evenly between zones. I've manually changed the distribution policy. Unfortunately this option is not yet available in our version of the GCP Terraform plugin. CHANGELOG_BEGIN CHANGELOG_END
78 lines
2.1 KiB
HCL
78 lines
2.1 KiB
HCL
# Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
data "template_file" "vsts-agent-ubuntu_20_04-startup" {
|
|
template = file("${path.module}/vsts_agent_ubuntu_20_04_startup.sh")
|
|
|
|
vars = {
|
|
vsts_token = secret_resource.vsts-token.value
|
|
vsts_account = "digitalasset"
|
|
vsts_pool = "ubuntu_20_04"
|
|
}
|
|
}
|
|
|
|
resource "google_compute_region_instance_group_manager" "vsts-agent-ubuntu_20_04" {
|
|
provider = google-beta
|
|
name = "vsts-agent-ubuntu-20-04"
|
|
base_instance_name = "vsts-agent-ubuntu-20-04"
|
|
region = "us-east1"
|
|
target_size = 20
|
|
|
|
version {
|
|
name = "vsts-agent-ubuntu-20-04"
|
|
instance_template = google_compute_instance_template.vsts-agent-ubuntu_20_04.self_link
|
|
}
|
|
|
|
# uncomment when we get a provider >3.55
|
|
#distribution_policy_target_shape = "ANY"
|
|
|
|
update_policy {
|
|
type = "PROACTIVE"
|
|
minimal_action = "REPLACE"
|
|
max_surge_fixed = 3
|
|
min_ready_sec = 60
|
|
|
|
instance_redistribution_type = "NONE"
|
|
}
|
|
}
|
|
|
|
resource "google_compute_instance_template" "vsts-agent-ubuntu_20_04" {
|
|
name_prefix = "vsts-agent-ubuntu-20-04-"
|
|
machine_type = "c2-standard-8"
|
|
labels = local.machine-labels
|
|
|
|
disk {
|
|
disk_size_gb = 200
|
|
disk_type = "pd-ssd"
|
|
source_image = "ubuntu-os-cloud/ubuntu-2004-lts"
|
|
}
|
|
|
|
lifecycle {
|
|
create_before_destroy = true
|
|
}
|
|
|
|
metadata = {
|
|
startup-script = data.template_file.vsts-agent-ubuntu_20_04-startup.rendered
|
|
|
|
shutdown-script = "#!/usr/bin/env bash\nset -euo pipefail\ncd /home/vsts/agent\nsu vsts <<SHUTDOWN_AGENT\nexport VSTS_AGENT_INPUT_TOKEN='${secret_resource.vsts-token.value}'\n./config.sh remove --unattended --auth PAT\nSHUTDOWN_AGENT\n "
|
|
}
|
|
|
|
network_interface {
|
|
network = "default"
|
|
|
|
// Ephemeral IP to get access to the Internet
|
|
access_config {}
|
|
}
|
|
|
|
service_account {
|
|
email = "log-writer@da-dev-gcp-daml-language.iam.gserviceaccount.com"
|
|
scopes = ["cloud-platform"]
|
|
}
|
|
|
|
scheduling {
|
|
automatic_restart = false
|
|
on_host_maintenance = "TERMINATE"
|
|
preemptible = false
|
|
}
|
|
}
|