variable "project_id" { description = "OVH public cloud project id (service_name). Defaults to the OVH_CLOUD_PROJECT_SERVICE variable of the runner environment, derived from the cloud account configuration." type = string default = null } variable "region" { description = "OVH region for all cluster instances and the private network, for example SBG5 or GRA11" type = string } variable "deployment_id" { description = "Unique deployment identifier, used to build resource names" type = string } variable "cloud_account" { description = "Cloud account (environment) name, second segment of the Vault credentials path" type = string } variable "requester_unique_id" { description = "Requester unique id, third segment of the Vault credentials path" type = string } variable "name_prefix" { description = "Prefix for all resource names" type = string default = "simpl" } variable "username" { description = "Consumer username on the head node, last segment of the Vault credentials path. The user exists on every node with the same uid (Slurm runs jobs under it), but can only log in on the head node." type = string default = "simpl_user" } variable "admin_username" { description = "Management username created on all nodes with SSH key access only" type = string default = "simpladmin" } variable "credentials_version" { description = "Opaque rotation marker for the consumer credential. Changing the value regenerates the consumer password, applies it on the head node over SSH and republishes the fresh credential to Vault in the same apply, without touching the cluster nodes. Managed by the credential renewal workflow, not by the deployment script author." type = string default = "1" } variable "image" { description = "Image name for every cluster node, must be a cloud-init enabled image" type = string default = "Ubuntu 24.04" } variable "head_flavor" { description = "Instance flavor for the head node, for example b3-8" type = string default = "b3-8" } variable "compute_flavor" { description = "Instance flavor for the compute nodes, for example b3-8" type = string default = "b3-8" } variable "compute_node_count" { description = "Number of compute nodes in the cluster" type = number default = 2 validation { condition = var.compute_node_count >= 1 error_message = "The cluster needs at least one compute node." } } variable "compute_cpus" { description = "Number of schedulable CPUs per compute node, declared to the Slurm controller. Must not exceed the vCPUs of compute_flavor." type = number default = 2 } variable "cluster_cidr" { description = "CIDR of the private cluster network. The head node takes the 50th host address, compute nodes take the 60th onward (lower pool addresses are left to the DHCP agent ports)." type = string default = "192.168.100.0/24" } variable "vlan_id" { description = "vRack VLAN id for the private cluster network, must be unused in the project" type = number default = 212 } variable "gateway_model" { description = "Model (size) of the cloud gateway providing internet egress to the cluster" type = string default = "s" }