Skip to content

Commit 5ba04b7

Browse files
authored
Merge pull request #128 from kbst/disableingress
Add variable to disable the default ingress setup fix #125
2 parents 74484ff + 88560cf commit 5ba04b7

File tree

15 files changed

+74
-37
lines changed

15 files changed

+74
-37
lines changed

aws/_modules/eks/ingress.tf

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
resource "kubernetes_service" "current" {
2+
count = var.disable_default_ingress ? 0 : 1
3+
24
provider = kubernetes.eks
35

46
metadata {
@@ -30,36 +32,39 @@ resource "kubernetes_service" "current" {
3032
}
3133

3234
resource "aws_route53_zone" "current" {
33-
name = "${var.metadata_fqdn}."
34-
}
35+
count = var.disable_default_ingress ? 0 : 1
3536

36-
locals {
37-
elb_hostname = kubernetes_service.current.load_balancer_ingress[0].hostname
37+
name = "${var.metadata_fqdn}."
3838
}
3939

4040
data "aws_elb_hosted_zone_id" "current" {
41+
count = var.disable_default_ingress ? 0 : 1
4142
}
4243

4344
resource "aws_route53_record" "host" {
44-
zone_id = aws_route53_zone.current.zone_id
45+
count = var.disable_default_ingress ? 0 : 1
46+
47+
zone_id = aws_route53_zone.current[0].zone_id
4548
name = var.metadata_fqdn
4649
type = "A"
4750

4851
alias {
49-
name = local.elb_hostname
50-
zone_id = data.aws_elb_hosted_zone_id.current.id
52+
name = kubernetes_service.current[0].load_balancer_ingress[0].hostname
53+
zone_id = data.aws_elb_hosted_zone_id.current[0].id
5154
evaluate_target_health = true
5255
}
5356
}
5457

5558
resource "aws_route53_record" "wildcard" {
56-
zone_id = aws_route53_zone.current.zone_id
59+
count = var.disable_default_ingress ? 0 : 1
60+
61+
zone_id = aws_route53_zone.current[0].zone_id
5762
name = "*.${var.metadata_fqdn}"
5863
type = "A"
5964

6065
alias {
61-
name = local.elb_hostname
62-
zone_id = data.aws_elb_hosted_zone_id.current.id
66+
name = kubernetes_service.current[0].load_balancer_ingress[0].hostname
67+
zone_id = data.aws_elb_hosted_zone_id.current[0].id
6368
evaluate_target_health = true
6469
}
6570
}

aws/_modules/eks/outputs.tf

Lines changed: 0 additions & 5 deletions
This file was deleted.

aws/_modules/eks/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,8 @@ variable "manifest_path" {
6969
type = string
7070
description = "Path to Kustomize overlay to build."
7171
}
72+
73+
variable "disable_default_ingress" {
74+
type = bool
75+
description = "Whether to disable the default ingress."
76+
}

aws/cluster/configuration.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,6 @@ locals {
3333

3434
manifest_path_default = "manifests/overlays/${terraform.workspace}"
3535
manifest_path = var.manifest_path != null ? var.manifest_path : local.manifest_path_default
36+
37+
disable_default_ingress = lookup(local.cfg, "disable_default_ingress", false)
3638
}

aws/cluster/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,6 @@ module "cluster" {
3232
aws_auth_map_accounts = local.cluster_aws_auth_map_accounts
3333

3434
manifest_path = local.manifest_path
35+
36+
disable_default_ingress = local.disable_default_ingress
3537
}

azurerm/_modules/aks/ingress.tf

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
resource "azurerm_public_ip" "current" {
2+
count = var.disable_default_ingress ? 0 : 1
3+
24
name = var.metadata_name
35
location = azurerm_kubernetes_cluster.current.location
46
resource_group_name = azurerm_kubernetes_cluster.current.node_resource_group
@@ -10,6 +12,8 @@ resource "azurerm_public_ip" "current" {
1012
}
1113

1214
resource "kubernetes_service" "current" {
15+
count = var.disable_default_ingress ? 0 : 1
16+
1317
provider = kubernetes.aks
1418

1519
metadata {
@@ -19,7 +23,7 @@ resource "kubernetes_service" "current" {
1923

2024
spec {
2125
type = "LoadBalancer"
22-
load_balancer_ip = azurerm_public_ip.current.ip_address
26+
load_balancer_ip = azurerm_public_ip.current[0].ip_address
2327

2428
selector = {
2529
"kubestack.com/ingress-default" = "true"
@@ -42,28 +46,34 @@ resource "kubernetes_service" "current" {
4246
}
4347

4448
resource "azurerm_dns_zone" "current" {
49+
count = var.disable_default_ingress ? 0 : 1
50+
4551
name = var.metadata_fqdn
4652
resource_group_name = data.azurerm_resource_group.current.name
4753

4854
tags = var.metadata_labels
4955
}
5056

5157
resource "azurerm_dns_a_record" "host" {
58+
count = var.disable_default_ingress ? 0 : 1
59+
5260
name = "@"
53-
zone_name = azurerm_dns_zone.current.name
61+
zone_name = azurerm_dns_zone.current[0].name
5462
resource_group_name = data.azurerm_resource_group.current.name
5563
ttl = 300
56-
records = [azurerm_public_ip.current.ip_address]
64+
records = [azurerm_public_ip.current[0].ip_address]
5765

5866
tags = var.metadata_labels
5967
}
6068

6169
resource "azurerm_dns_a_record" "wildcard" {
70+
count = var.disable_default_ingress ? 0 : 1
71+
6272
name = "*"
63-
zone_name = azurerm_dns_zone.current.name
73+
zone_name = azurerm_dns_zone.current[0].name
6474
resource_group_name = data.azurerm_resource_group.current.name
6575
ttl = 300
66-
records = [azurerm_public_ip.current.ip_address]
76+
records = [azurerm_public_ip.current[0].ip_address]
6777

6878
tags = var.metadata_labels
6979
}

azurerm/_modules/aks/outputs.tf

Lines changed: 0 additions & 5 deletions
This file was deleted.

azurerm/_modules/aks/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,8 @@ variable "manifest_path" {
8181
type = string
8282
description = "Path to Kustomize overlay to build."
8383
}
84+
85+
variable "disable_default_ingress" {
86+
type = bool
87+
description = "Whether to disable the default ingress."
88+
}

azurerm/cluster/configuration.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,6 @@ locals {
3131

3232
manifest_path_default = "manifests/overlays/${terraform.workspace}"
3333
manifest_path = var.manifest_path != null ? var.manifest_path : local.manifest_path_default
34+
35+
disable_default_ingress = lookup(local.cfg, "disable_default_ingress", false)
3436
}

azurerm/cluster/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,6 @@ module "cluster" {
3939
default_node_pool_os_disk_size_gb = local.default_node_pool_os_disk_size_gb
4040

4141
manifest_path = local.manifest_path
42+
43+
disable_default_ingress = local.disable_default_ingress
4244
}

0 commit comments

Comments
 (0)