Files
terraform-aws-eks/modules/_user_data
Bryant Biggs 6b40bdbb1d feat!: Replace the use of aws-auth configmap with EKS cluster access entry (#2858)
* feat: Replace `resolve_conflicts` with `resolve_conflicts_on_create`/`delete`; raise MSV of AWS provider to `v5.0` to support

* fix: Replace dynamic DNS suffix for `sts:AssumeRole` API calls for static suffix

* feat: Add module tag

* feat: Align Karpenter permissions with Karpenter v1beta1/v0.32 permissions from upstream

* refactor: Move `aws-auth` ConfigMap functionality to its own sub-module

* chore: Update examples

* feat: Add state `moved` block for Karpenter Pod Identity role re-name

* fix: Correct variable `create` description

* feat: Add support for cluster access entries

* chore: Bump MSV of Terraform to `1.3`

* fix: Replace defunct kubectl provider with an updated forked equivalent

* chore: Update and validate examples for access entry; clean up provider usage

* docs: Correct double redundant variable descriptions

* feat: Add support for Cloudwatch log group class argument

* fix: Update usage tag placement, fix Karpenter event spelling, add upcoming changes section to upgrade guide

* feat: Update Karpenter module to generalize naming used and align policy with the upstream Karpenter policy

* feat: Add native support for Windows based managed nodegroups similar to AL2 and Bottlerocket

* feat: Update self-managed nodegroup module to use latest features of ASG

* docs: Update and simplify docs

* fix: Correct variable description for AMI types

* fix: Update upgrade guide with changes; rename Karpenter controller resource names to support migrating for users

* docs: Complete upgrade guide docs for migration and changes applied

* Update examples/karpenter/README.md

Co-authored-by: Anton Babenko <anton@antonbabenko.com>

* Update examples/outposts/README.md

Co-authored-by: Anton Babenko <anton@antonbabenko.com>

* Update modules/karpenter/README.md

Co-authored-by: Anton Babenko <anton@antonbabenko.com>

---------

Co-authored-by: Anton Babenko <anton@antonbabenko.com>
2024-02-02 09:36:25 -05:00
..

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 examples/user_data/ for various examples using this module.

Requirements

Name Version
terraform >= 1.3
cloudinit >= 2.0

Providers

Name Version
cloudinit >= 2.0

Modules

No modules.

Resources

Name Type
cloudinit_config.linux_eks_managed_node_group data source

Inputs

Name Description Type Default Required
bootstrap_extra_args Additional arguments passed to the bootstrap script. When platform = bottlerocket; these are additional settings that are provided to the Bottlerocket user data string "" no
cluster_auth_base64 Base64 encoded CA of associated EKS cluster string "" no
cluster_endpoint Endpoint of associated EKS cluster string "" no
cluster_name Name of the EKS cluster string "" no
cluster_service_ipv4_cidr 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 Identifies if the OS platform is bottlerocket, linux, or windows based 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 platform = 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 platform = 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