1
0
mirror of https://github.com/terraform-aws-modules/terraform-aws-eks.git synced 2025-09-09 19:32:58 +08:00
Files
terraform-aws-eks/modules/_user_data/README.md
T
Bryant Biggs 416515a0da feat!: Upgrade min AWS provider and Terraform versions to 6.0 and 1.5.7 respectively (#3412)
* feat!: Upgrade min AWS provider and Terraform versions to `6.0` and `1.5.7` respectively

* fix: Remove deprecated arguments in AWS v6.0 provider, upgrade Helm provider to v3.0, bump VPC module to v6.0

* fix: Remove `aws-auth` sub-module

* fix: Remove `platform` and `cluster_service_ipv4_cidr` variables from `user-data` sub-module

* fix: Resolve all marked `todos` that have been accumulated

* fix: Set default `http_put_response_hop_limit` to `1`

* fix: Remove IRSA support from Karpenter sub-module

* fix: Avoid making GET requests from data sources unless absolutely necessary

* feat: Add variable optional attribute definitions

* feat: Bump KMS key module version to latest, add remaining variable attribute definitions

* fix: Remove `cluster_` prefix from variable names to better match the underlying API

* fix: Move all EFA logic to the nodegroup itself

* fix: Remove arguments that do not make sense in EKS

* fix: Updates from plan validation

* fix: Remove more self-managed node group attributes that are commonly not used in EKS clusters

* fix: Remove data plane compute `*_defaults` variables that do not work with variable optional attributes

* fix: Ignore changes to `bootstrap_self_managed_addons` to aid in upgrade

* feat: Add support for `region` argument on relevant resources

* feat: Initial pass on upgrade guide

* fix: Updates from testing and validating EKS managed node group

* fix: Updates from testing and validating self-managed node group

* docs: Ensure addon ussage documented is aligned

* feat: Switch to dualstack OIDC issuer URL

* feat: Allow sourcing over overriding the Karpenter assume role policy

* fix: Use `Bool` instead of `StringEquals` for DenyHTTP queue policy

* fix: Correct use of `nullable` and default value propagation
2025-07-23 15:11:01 -05:00

5.7 KiB

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.5.7
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.al2_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 "AL2023_x86_64_STANDARD" 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
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
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
user_data Base64 encoded user data rendered for the provided inputs