Terraform module to deploy nginx-ingress-controller 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.
Christophe van de Kerchove 6bfed884c3
feat: Add load balancer ip and source ranges
2 weeks ago
examples/default fix: Add versions.tf file 5 days ago
.gitignore feature: initial import of files 2 months ago
.pre-commit-config.yaml fix: remove kubernetes provider definition 6 days ago
AUTHORS feature: initial import of files 2 months ago
CHANGELOG.md feat: Add load balancer ip and source ranges 5 days ago
Jenkinsfile fix: Examples were not working 5 days ago
LICENSE tech: Define license correctly 5 days ago
README.md feat: Add load balancer ip and source ranges 5 days ago
main.tf feat: Add load balancer ip and source ranges 5 days ago
outputs.tf feature: initial import of files 2 months ago
variables.tf feat: Add load balancer ip and source ranges 5 days ago
versions.tf fix: Add versions.tf file 5 days ago

README.md

terraform-module-kubernetes-nginx-ingress-controller

Terraform module to deploy nginx-ingress-controller on kubernetes.

Providers

Name Version
kubernetes >= 1.10.0
random >= 2.0.0

Inputs

Name Description Type Default Required
additionnal_args List of additionnal arguments to pass to the nginx-ingress-controller. list [] no
annotations Map of annotations that will be merged with all other annotations on all kubernetes resources. map {} no
annotations_prefix Annotations that nginx-ingress-controller will watch on ingresses. string "nginx.ingress.kubernetes.io" no
cluster_role_annotations Map of annotations to apply to the cluster role. map {} no
cluster_role_binding_annotations Map of annotations to apply to the cluster role binding. map {} no
cluster_role_binding_labels Map of labels to apply to the cluster role binding. map {} no
cluster_role_binding_name Name of the cluster role binding to create for nginx-ingress-controller. *Note: This is an opinianated choice of forcing the nginx-ingress-controller to use RBAC.* string "ingress-nginx" no
cluster_role_labels Map of labels to apply to the cluster role. map {} no
cluster_role_name Name of the cluster role to create for nginx-ingress-controller. *Note: This is an opinianated choice of forcing the nginx-ingress-controller to use RBAC.* string "ingress-nginx" no
config_map_annotations Map of annotations to apply to all config maps. map {} no
config_map_labels Map of labels to apply to all config maps. map {} no
deployment_annotations Map of annotations to apply to the deployment. map {} no
deployment_labels Map of labels to apply to the deployment. map {} no
deployment_name Name of the deployment to create for nginx-ingress-controller. string "ingress-nginx" no
election_id Election id to use for Ingress status updates. string "ingress-controller-leader" no
image_name Name of the image to use. string "quay.io/kubernetes-ingress-controller/nginx-ingress-controller" no
image_version Version of the image to use. string "0.26.1" no
ingress_class Name of the ingress class this controller satisfies. The class of an Ingress object is set using the annotation “kubernetes.io/ingress.class”. string "nginx" no
labels Map of labels that will be merged with all other labels on all kubernetes resource. map {} no
namespace_annotations Map of annotations to apply to the namespace. map {} no
namespace_labels Map of labels to apply to the namespace. map {} no
namespace_name Name of the namespace to create and deploy the nginx-ingress-controller. *Note: This is an opinianated choice of forcing the nginx-ingress-controller to run in it’s own namespace.* string "ingress-nginx" no
nginx_configuration_annotations Map of annotations to apply to the nginx_configuration config map. map {} no
nginx_configuration_labels Map of labels to apply to the nginx_configuration config map. map {} no
nginx_configuration_name Name of the nginx_configuration config map to create. string "nginx-configuration" no
node_selector Map of key value that will be used to select appropriate nodes map
{
“kubernetes.io/os”: “linux”
}
no
replicas Number of replica’s to deploy. number 3 no
role_annotations Map of annotations to apply to the role. map {} no
role_binding_annotations Map of annotations to apply to the role binding. map {} no
role_binding_labels Map of labels to apply to the role binding. map {} no
role_binding_name Name of the role binding to create for nginx-ingress-controller. *Note: This is an opinianated choice of forcing the nginx-ingress-controller to use RBAC.* string "ingress-nginx" no
role_labels Map of labels to apply to the role. map {} no
role_name Name of the role to create for nginx-ingress-controller. *Note: This is an opinianated choice of forcing the nginx-ingress-controller to use RBAC.* string "ingress-nginx" no
service_account_annotations Map of annotations to apply to the service account. map {} no
service_account_labels Map of labels to apply to the service account. map {} no
service_account_name Name of the service account to create for nginx-ingress-controller. *Note: This is an opinianated choice of forcing the nginx-ingress-controller to use RBAC.* string "ingress-nginx" no
service_annotations Map of annotations to apply to the service. map {} no
service_external_traffic_policy The external traffic policy for the service. string "Local" no
service_labels Map of labels to apply to the service. map {} no
service_load_balancer_ip IP address to be used for the service. string n/a yes
service_load_balancer_source_ranges List of source ranges that will be allowed access to the load balancer. list(string) n/a yes
service_name Name of the service to create for nginx-ingress-controller. string "ingress-nginx" no
service_type Type of service to create for the nginx-ingress-controller. string "LoadBalancer" no
tcp_services_annotations Map of annotations to apply to the tcp_services config map. map {} no
tcp_services_labels Map of labels to apply to the tcp_services config map. map {} no
tcp_services_name Name of the tcp_services config map to create. string "tcp-services" no
udp_services_annotations Map of annotations to apply to the udp_services config map. map {} no
udp_services_labels Map of labels to apply to the udp_services config map. map {} no
udp_services_name Name of the udp_services config map to create. string "udp-services" no

Outputs

Name Description
deployment_name Name of the deployment created by this module.
namespace Namespace in which the module is deployed.
nginx_configuration_name Name of the nginx configuration config map created by this module.
service_name Name of the service created by this module.
tcp_services_name Name of the tcp_services config map created by this module.
udp_services_name Name of the udp_services config map created by this module.