2023-11-13 12:46:20 -05:00
variable " constellation_version " {
type = string
description = " Constellation CLI version to use. "
default = " @@CONSTELLATION_VERSION@@ "
}
variable " image " {
type = string
description = " The node image reference or semantic release version. "
}
2023-11-08 13:10:01 -05:00
variable " csp " {
type = string
2023-11-10 07:32:18 -05:00
description = " The cloud service provider to use. "
2023-11-08 13:10:01 -05:00
validation {
2023-11-13 12:46:20 -05:00
condition = var . csp == " aws " | | var . csp == " gcp " | | var . csp == " azure "
error_message = " The cloud service provider to use. "
2023-11-08 13:10:01 -05:00
}
}
variable " node_groups " {
type = map ( object ( {
role = string
initial_count = optional ( number )
instance_type = string
disk_size = number
disk_type = string
2023-11-13 12:46:20 -05:00
zone = optional ( string , " " ) # For AWS, GCP
zones = optional ( list ( string ) , [ ] ) # For Azure
2023-11-08 13:10:01 -05:00
} ) )
description = " A map of node group names to node group configurations. "
validation {
condition = can ( [ for group in var . node_groups : group . role == " control-plane " | | group . role == " worker " ] )
error_message = " The role has to be 'control-plane' or 'worker'. "
}
}
variable " name " {
type = string
description = " Name used in the cluster's named resources / cluster name. "
}
variable " uid " {
type = string
description = " The UID of the Constellation. "
}
variable " clusterEndpoint " {
type = string
description = " Endpoint of the cluster. "
}
variable " inClusterEndpoint " {
type = string
description = " The endpoint the cluster uses to reach itself. This might differ from the ClusterEndpoint in case e.g. an internal load balancer is used. "
}
variable " initSecretHash " {
type = string
description = " Init secret hash. "
}
variable " ipCidrNode " {
type = string
description = " Node IP CIDR. "
}
2023-12-01 08:39:05 -05:00
variable " serviceCidr " {
type = string
default = " "
description = " Kubernetes service CIDR. This is only used during first initialization of Constellation. "
}
2023-11-08 13:10:01 -05:00
variable " apiServerCertSANs " {
type = list ( string )
description = " List of additional SANs (Subject Alternative Names) for the Kubernetes API server certificate. "
}
variable " aws_config " {
type = object ( {
2023-12-15 04:36:58 -05:00
region = string
zone = string
iam_instance_profile_name_worker_nodes = string
iam_instance_profile_name_control_plane = string
2023-11-08 13:10:01 -05:00
} )
description = " The cluster config for AWS. "
default = null
}
2023-11-13 12:46:20 -05:00
variable " azure_config " {
type = object ( {
subscription = string
tenant = string
location = string
resourceGroup = string
userAssignedIdentity = string
deployCSIDriver = bool
secureBoot = bool
maaURL = string
networkSecurityGroupName = string
loadBalancerName = string
} )
description = " The cluster config for Azure. "
default = null
}
2023-11-10 07:32:18 -05:00
variable " gcp_config " {
type = object ( {
region = string
zone = string
project = string
ipCidrPod = string
serviceAccountKey = string
} )
description = " The cluster config for GCP. "
default = null
}
2023-11-08 13:10:01 -05:00
variable " kubernetes_version " {
type = string
description = " Kubernetes version. "
}
variable " microservice_version " {
type = string
description = " Microservice version. "
}
2023-11-13 12:46:20 -05:00
variable " debug " {
type = bool
default = false
description = " DON'T USE IN PRODUCTION: Enable debug mode and allow the use of debug images. "
}