Create and deploy the AWS-EFS storage class on Kubernetes.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Julien Cabillot 3d608ff944
Change source from SSH to HTTPS
1 week ago
examples/default Improved example 3 months ago
.gitignore Add pre-commit config and pre-commit run 4 months ago
.pre-commit-config.yaml Add pre-commit config and pre-commit run 4 months ago
CHANGELOG.md Change source from SSH to HTTPS 1 week ago
Jenkinsfile Add Jenkinsfile to module 4 months ago
LICENSE Initial push 4 months ago
README.md Changed some default values 3 months ago
main.tf Change source from SSH to HTTPS 1 week ago
outputs.tf Fixes 3 months ago
variables.tf Changed some default values 3 months ago

README.md

terraform-module-multi-efs-storage-class

Create and deploy the AWS-EFS storage class on Kubernetes.

Inputs

Name Description Type Default Required
annotations Annotations that will be applied and merged on all the kubernetes resources. map {} no
cluster_role_annotations Map of annotations that will be added to the cluster role. map {} no
cluster_role_binding_annotations Map of annotations that will be added to the cluster role binding. map {} no
cluster_role_binding_labels Map of labels that will be added to the cluster role binding. map {} no
cluster_role_binding_name Name of the cluster role binding that will be created in kubernetes. string "efs-provisioner" no
cluster_role_labels Map of labels that will be added to the cluster role. map {} no
cluster_role_name Name of the cluster role that will be created in kubernetes. string "efs-provisioner" no
deployment_annotations Map of annotations that will be added to the deployment. map {} no
deployment_labels Map of labels that will be added to the deployment. map {} no
deployment_name Name of the deployment that will be created in kubernetes. string "efs-provisioner" no
deployment_replicas Number of replicas for the deployment. string "2" no
efs_allowed_security_group_ids List of security group ids that are allowed to communicate with EFS. list [] no
efs_kms_key_alias_name Name of the alias for the KMS key used by the AWS EFS. string "alias/efs-storage-class-k8s" no
efs_kms_key_name Name of the KMS key used by the AWS EFS. string "efs-storage-class-k8s" no
efs_kms_tags Tags to add on the AWS EFS. map {} no
efs_name Name of the AWS EFS that will be created. string n/a yes
efs_performance_mode Performance mode of the AWS EFS. string "null" no
efs_provisioned_throughput_in_mibps Provisioned throughput in MiB/s for the AWS EFS. number "null" no
efs_security_group_name Name that will be given to the security group used by the AWS EFS. string n/a yes
efs_security_group_tags Tags to add on the security group for AWS EFS. map {} no
efs_subnet_ids Subnet ID’s from which the AWS EFS will be available. list n/a yes
efs_tags Map of tags that will applied and merged with all the AWS EFS related resources. map {} no
efs_throughput_mode Troughput mode for the AWS EFS. string "null" no
enabled Whether or not to enable this module. string "true" no
image_version Version of the docker image to use for the efs-provisionner docker image. string "latest" no
labels Map of labels that will be applied on all kubernetes resources. map {} no
namespace Namespace in which the efs-provisioner will be deployed. string "kube-system" no
role_annotations Map of annotations that will be added to the cluster role. map {} no
role_binding_annotations Map of annotations that will be added to the cluster role binding. map {} no
role_binding_labels Map of labels that will be added to the cluster role binding. map {} no
role_binding_name Name of the cluster role binding that will be created in kubernetes. string "efs-provisioner" no
role_labels Map of labels that will be added to the cluster role. map {} no
role_name Name of the cluster role that will be created in kubernetes. string "efs-provisioner" no
service_account_annotations Map of annotations that will be added on the service account. map {} no
service_account_labels Map of labels that will be added on the service account. map {} no
service_account_name Name of the service account that will be created in kubernetes. string "efs-provisioner" no
storage_class_annotations Map of annotations that will be added on the storage class. map {} no
storage_class_labels Map of labels that will be added on the storage class. map {} no
storage_class_name Name of the storage class. string "efs" no
tags Map of tags that will be applied and merge with all the AWS resources. map {} no

Outputs

Name Description
cluster_role_binding_name Name of the kubernetes cluster role binding created for the efs-provisioner.
cluster_role_name Name of the kubernetes cluster role created for the efs-provisioner.
deployment_name Name of the kubernetes deployment created for the efs-provisioner.
efs_arn Amazon Resource Name of the file system.
efs_dns_name The DNS name for the filesystem.
efs_id The ID that identifies the file system (e.g. fs-ccfc0d65).
efs_kms_alias_arn The Amazon Resource Name (ARN) of the EFS key alias. This output will be empty if the KMS key was passed as variable.
efs_kms_key_arn The Amazon Resource Name (ARN) of the EFS key. This output will be empty if the KMS key was passed as variable.
efs_kms_key_id The globally unique identifier for the EFS key. This output will be empty if the KMS key was passed as variable.
efs_mount_target_ids The IDs of the EFS mount targets.
efs_mount_target_network_interface_ids The IDs of the network interfaces that Amazon EFS created when it created the mount targets.
efs_security_group_id ID of the security group used for the EFS. This output will be empty if the security groups IDs were passed as variables.
namespace Namespace in which the efs-storage-class is deployed.
role_binding_name Name of the kubernetes role binding created for the efs-provisioner.
role_name Name of the kubernetes role created for the efs-provisioner.
service_account_name Name of the kubernetes service account created for the efs-provisioner.
storage_class_name Name of the kubernetes storage class created.