mirror of
https://github.com/terraform-aws-modules/terraform-aws-eks.git
synced 2025-09-09 19:32:58 +08:00
416515a0da
* 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
5.7 KiB
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({ |
[] |
no |
| cloudinit_pre_nodeadm | Array of cloud-init document parts that are created before the nodeadm document part | list(object({ |
[] |
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 |