private_ip = local.private_ip[each.value]
subnet_id = contains(local.user_facing_hosts, each.value) ? data.terraform_remote_state.vpc.outputs.public_subnet_id : data.terraform_remote_state.vpc.outputs.private_subnet_id
vpc_security_group_ids = [ data.terraform_remote_state.vpc.outputs.arvados_sg_id ]
- # This should be done in a more readable way
- # iam_instance_profile = each.value == "controller" ? aws_iam_instance_profile.dispatcher_instance_profile.name : length(regexall("^keep[0-9]+", each.value)) > 0 ? aws_iam_instance_profile.keepstore_instance_profile.name : aws_iam_instance_profile.default_instance_profile.name
iam_instance_profile = try(local.instance_profile[each.value], local.instance_profile.default).name
tags = {
Name = "${local.cluster_name}_arvados_service_${each.value}"
}
root_block_device {
volume_type = "gp3"
- volume_size = (each.value == "controller" && !local.use_external_db) ? 70 : 20
+ volume_size = try(var.instance_volume_size[each.value], var.instance_volume_size.default)
}
lifecycle {
# controller = "c5a.4xlarge"
# }
+# Set the volume size (in GiB) per service node.
+# Default: 100 for controller, 20 the rest.
+# NOTE: The service node will need to be rebooted after increasing its volume's
+# size.
+# instance_volume_size = {
+# default = 20
+# controller = 300
+# }
+
# AWS secret's name which holds the SSL certificate private key's password.
# Default: "arvados-ssl-privkey-password"
# ssl_password_secret_name_suffix = "some-name-suffix"
# User for software deployment. Depends on the AMI's distro.
-# Default: 'admin'
+# Default: "admin"
# deploy_user = "ubuntu"
# Instance AMI to use for service nodes. Default: latest from Debian 11