Skip to content

DrFaust92/terraform-kubernetes-efs-csi-driver

Repository files navigation

Kubernetes EFS CSI driver Terraform module

Terraform module which creates Kubernetes EFS CSI driver resources on AWS EKS.

Based on the original repo for the EFS CSI driver

Usage

module "efs_csi_driver" {
  source = "DrFaust92/efs-csi-driver/kubernetes"
  version = "<VERSION>"
}

Requirements

Name Version
terraform >= 0.12.6
kubernetes >= 2.1.0

Providers

Name Version
aws 4.8.0
kubernetes 2.9.0

Modules

Name Source Version
efs_controller_role terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc 4.24.1

Resources

Name Type
aws_iam_policy.efs_controller_policy resource
kubernetes_cluster_role.provisioner resource
kubernetes_cluster_role_binding.provisioner resource
kubernetes_csi_driver_v1.efs resource
kubernetes_daemonset.efs resource
kubernetes_deployment.efs_csi_controller resource
kubernetes_service_account.csi_driver resource
aws_iam_policy_document.efs_controller_policy_doc data source

Inputs

Name Description Type Default Required
annotations Optional annotations to add to EFS CSI driver resources map(string) {} no
controller_annotations A map of extra annotations for controller map(string) {} no
controller_extra_node_selectors A map of extra node selectors for controller pods map(string) {} no
create_controller Whether to create a controller bool false no
csi_controller_replica_count Number of EFS CSI driver controller pods number 2 no
csi_controller_tolerations CSI driver controller tolerations list(map(string)) [] no
delete_access_point_root_dir Whether to delete the access point root dir bool false no
efs_csi_controller_role_name The name of the EFS CSI driver IAM role string "efs-csi-driver-controller" no
efs_csi_controller_role_policy_name_prefix The prefix of the EFS CSI driver IAM policy string "efs-csi-driver-policy" no
extra_node_selectors A map of extra node selectors for all components map(string) {} no
host_aliases A map of host aliases map(any) {} no
labels A map of extra labels for all resources map(string) {} no
log_level The log level for the CSI Driver controller number 5 no
namespace Namespace for EFS CSI driver resources string "kube-system" no
node_extra_node_selectors A map of extra node selectors for node pods map(string) {} no
oidc_url EKS OIDC provider URL, to allow pod to assume role using IRSA string "" no
tags A map of tags to add to all resources map(string) {} no

Outputs

Name Description
efs-csi_driver_controller_role_name The Name of the EBS CSI driver controller IAM role name
efs_csi_driver_controller_role_arn The Name of the EBS CSI driver controller IAM role ARN
efs_csi_driver_controller_role_policy_arn The Name of the EBS CSI driver controller IAM role policy ARN
efs_csi_driver_controller_role_policy_name The Name of the EBS CSI driver controller IAM role policy name
efs_csi_driver_name The Name of the EBS CSI driver