mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-01-15 00:04:07 +01:00
196 lines
6.1 KiB
HCL
196 lines
6.1 KiB
HCL
variable "cluster_name" {
|
|
description = "Name of the EKS cluster. Also used as a prefix in names of related resources."
|
|
}
|
|
|
|
variable "cluster_security_group_id" {
|
|
description = "If provided, the EKS cluster will be attached to this security group. If not given, a security group will be created with necessary ingres/egress to work with the workers and provide API access to your current IP/32."
|
|
default = ""
|
|
}
|
|
|
|
variable "cluster_version" {
|
|
description = "Kubernetes version to use for the EKS cluster."
|
|
default = "1.11"
|
|
}
|
|
|
|
variable "config_output_path" {
|
|
description = "Where to save the Kubectl config file (if `write_kubeconfig = true`). Should end in a forward slash `/` ."
|
|
default = "./"
|
|
}
|
|
|
|
variable "write_kubeconfig" {
|
|
description = "Whether to write a Kubectl config file containing the cluster configuration. Saved to `config_output_path`."
|
|
default = true
|
|
}
|
|
|
|
variable "manage_aws_auth" {
|
|
description = "Whether to write and apply the aws-auth configmap file."
|
|
default = true
|
|
}
|
|
|
|
variable "map_accounts" {
|
|
description = "Additional AWS account numbers to add to the aws-auth configmap. See examples/eks_test_fixture/variables.tf for example format."
|
|
type = "list"
|
|
default = []
|
|
}
|
|
|
|
variable "map_accounts_count" {
|
|
description = "The count of accounts in the map_accounts list."
|
|
type = "string"
|
|
default = 0
|
|
}
|
|
|
|
variable "map_roles" {
|
|
description = "Additional IAM roles to add to the aws-auth configmap. See examples/eks_test_fixture/variables.tf for example format."
|
|
type = "list"
|
|
default = []
|
|
}
|
|
|
|
variable "map_roles_count" {
|
|
description = "The count of roles in the map_roles list."
|
|
type = "string"
|
|
default = 0
|
|
}
|
|
|
|
variable "map_users" {
|
|
description = "Additional IAM users to add to the aws-auth configmap. See examples/eks_test_fixture/variables.tf for example format."
|
|
type = "list"
|
|
default = []
|
|
}
|
|
|
|
variable "map_users_count" {
|
|
description = "The count of roles in the map_users list."
|
|
type = "string"
|
|
default = 0
|
|
}
|
|
|
|
variable "subnets" {
|
|
description = "A list of subnets to place the EKS cluster and workers within."
|
|
type = "list"
|
|
}
|
|
|
|
variable "tags" {
|
|
description = "A map of tags to add to all resources."
|
|
type = "map"
|
|
default = {}
|
|
}
|
|
|
|
variable "vpc_id" {
|
|
description = "VPC where the cluster and workers will be deployed."
|
|
}
|
|
|
|
variable "worker_groups" {
|
|
description = "A list of maps defining worker group configurations to be defined using AWS Launch Configurations. See workers_group_defaults for valid keys."
|
|
type = "list"
|
|
|
|
default = [
|
|
{
|
|
"name" = "default"
|
|
},
|
|
]
|
|
}
|
|
|
|
variable "worker_group_count" {
|
|
description = "The number of maps contained within the worker_groups list."
|
|
type = "string"
|
|
default = "1"
|
|
}
|
|
|
|
variable "workers_group_defaults" {
|
|
description = "Override default values for target groups. See workers_group_defaults_defaults in locals.tf for valid keys."
|
|
type = "map"
|
|
default = {}
|
|
}
|
|
|
|
variable "worker_groups_launch_template" {
|
|
description = "A list of maps defining worker group configurations to be defined using AWS Launch Templates. See workers_group_defaults for valid keys."
|
|
type = "list"
|
|
|
|
default = [
|
|
{
|
|
"name" = "default"
|
|
},
|
|
]
|
|
}
|
|
|
|
variable "worker_group_launch_template_count" {
|
|
description = "The number of maps contained within the worker_groups_launch_template list."
|
|
type = "string"
|
|
default = "0"
|
|
}
|
|
|
|
variable "workers_group_launch_template_defaults" {
|
|
description = "Override default values for target groups. See workers_group_defaults_defaults in locals.tf for valid keys."
|
|
type = "map"
|
|
default = {}
|
|
}
|
|
|
|
variable "worker_security_group_id" {
|
|
description = "If provided, all workers will be attached to this security group. If not given, a security group will be created with necessary ingres/egress to work with the EKS cluster."
|
|
default = ""
|
|
}
|
|
|
|
variable "worker_additional_security_group_ids" {
|
|
description = "A list of additional security group ids to attach to worker instances"
|
|
type = "list"
|
|
default = []
|
|
}
|
|
|
|
variable "worker_sg_ingress_from_port" {
|
|
description = "Minimum port number from which pods will accept communication. Must be changed to a lower value if some pods in your cluster will expose a port lower than 1025 (e.g. 22, 80, or 443)."
|
|
default = "1025"
|
|
}
|
|
|
|
variable "kubeconfig_aws_authenticator_command" {
|
|
description = "Command to use to fetch AWS EKS credentials."
|
|
default = "aws-iam-authenticator"
|
|
}
|
|
|
|
variable "kubeconfig_aws_authenticator_command_args" {
|
|
description = "Default arguments passed to the authenticator command. Defaults to [token -i $cluster_name]."
|
|
type = "list"
|
|
default = []
|
|
}
|
|
|
|
variable "kubeconfig_aws_authenticator_additional_args" {
|
|
description = "Any additional arguments to pass to the authenticator such as the role to assume. e.g. [\"-r\", \"MyEksRole\"]."
|
|
type = "list"
|
|
default = []
|
|
}
|
|
|
|
variable "kubeconfig_aws_authenticator_env_variables" {
|
|
description = "Environment variables that should be used when executing the authenticator. e.g. { AWS_PROFILE = \"eks\"}."
|
|
type = "map"
|
|
default = {}
|
|
}
|
|
|
|
variable "kubeconfig_name" {
|
|
description = "Override the default name used for items kubeconfig."
|
|
default = ""
|
|
}
|
|
|
|
variable "cluster_create_timeout" {
|
|
description = "Timeout value when creating the EKS cluster."
|
|
default = "15m"
|
|
}
|
|
|
|
variable "cluster_delete_timeout" {
|
|
description = "Timeout value when deleting the EKS cluster."
|
|
default = "15m"
|
|
}
|
|
|
|
variable "local_exec_interpreter" {
|
|
description = "Command to run for local-exec resources. Must be a shell-style interpreter. If you are on Windows Git Bash is a good choice."
|
|
type = "list"
|
|
default = ["/bin/sh", "-c"]
|
|
}
|
|
|
|
variable "cluster_create_security_group" {
|
|
description = "Whether to create a security group for the cluster or attach the cluster to `cluster_security_group_id`."
|
|
default = true
|
|
}
|
|
|
|
variable "worker_create_security_group" {
|
|
description = "Whether to create a security group for the workers or attach the workers to `worker_security_group_id`."
|
|
default = true
|
|
}
|