Files

User Data Module

Configuration in this directory renders the appropriate user data for the given inputs. See docs/user_data.md for more info.

See tests/user-data/ for various tests cases using this module.

Requirements

Name Version
terraform >= 1.3.2
cloudinit >= 2.0
null >= 3.0

Providers

Name Version
cloudinit >= 2.0
null >= 3.0

Modules

No modules.

Resources

Name Type
null_resource.validate_cluster_service_cidr resource
cloudinit_config.al2023_eks_managed_node_group data source
cloudinit_config.linux_eks_managed_node_group data source

Inputs

Name Description Type Default Required
additional_cluster_dns_ips Additional DNS IP addresses to use for the cluster. Only used when ami_type = BOTTLEROCKET_* list(string) [] no
ami_type Type of Amazon Machine Image (AMI) associated with the EKS Node Group. See the AWS documentation for valid values string null no
bootstrap_extra_args Additional arguments passed to the bootstrap script. When ami_type = BOTTLEROCKET_*; these are additional settings that are provided to the Bottlerocket user data string "" no
cloudinit_post_nodeadm Array of cloud-init document parts that are created after the nodeadm document part
list(object({
content = string
content_type = optional(string)
filename = optional(string)
merge_type = optional(string)
}))
[] no
cloudinit_pre_nodeadm Array of cloud-init document parts that are created before the nodeadm document part
list(object({
content = string
content_type = optional(string)
filename = optional(string)
merge_type = optional(string)
}))
[] no
cluster_auth_base64 Base64 encoded CA of associated EKS cluster string "" no
cluster_endpoint Endpoint of associated EKS cluster string "" no
cluster_ip_family The IP family used to assign Kubernetes pod and service addresses. Valid values are ipv4 (default) and ipv6 string "ipv4" no
cluster_name Name of the EKS cluster string "" no
cluster_service_cidr The CIDR block (IPv4 or IPv6) used by the cluster to assign Kubernetes service IP addresses. This is derived from the cluster itself string "" no
cluster_service_ipv4_cidr [Deprecated] The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks string null no
create Determines whether to create user-data or not bool true no
enable_bootstrap_user_data Determines whether the bootstrap configurations are populated within the user data template bool false no
is_eks_managed_node_group Determines whether the user data is used on nodes in an EKS managed node group. Used to determine if user data will be appended or not bool true no
platform [DEPRECATED - use ami_type instead. Will be removed in v21.0] Identifies the OS platform as bottlerocket, linux (AL2), al2023, or windows string "linux" no
post_bootstrap_user_data User data that is appended to the user data script after of the EKS bootstrap script. Not used when ami_type = BOTTLEROCKET_* string "" no
pre_bootstrap_user_data User data that is injected into the user data script ahead of the EKS bootstrap script. Not used when ami_type = BOTTLEROCKET_* string "" no
user_data_template_path Path to a local, custom user data template file to use when rendering user data string "" no

Outputs

Name Description
platform [DEPRECATED - Will be removed in v21.0] Identifies the OS platform as bottlerocket, linux (AL2), al2023, or windows
user_data Base64 encoded user data rendered for the provided inputs