mirror of
				https://github.com/optim-enterprises-bv/terraform-talos.git
				synced 2025-11-03 19:57:46 +00:00 
			
		
		
		
	nsg fixes
This commit is contained in:
		@@ -25,7 +25,6 @@ resource "oci_core_instance" "contolplane" {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  metadata = {
 | 
					  metadata = {
 | 
				
			||||||
    ssh_authorized_keys = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDd+wfWIKi1dDZuCsd/zNw2n4WuHHa21N/Ltmo3umH2d local"
 | 
					 | 
				
			||||||
    user_data = base64encode(templatefile("${path.module}/templates/controlplane.yaml",
 | 
					    user_data = base64encode(templatefile("${path.module}/templates/controlplane.yaml",
 | 
				
			||||||
      merge(var.kubernetes, {
 | 
					      merge(var.kubernetes, {
 | 
				
			||||||
        name        = "contolplane-${count.index + 1}"
 | 
					        name        = "contolplane-${count.index + 1}"
 | 
				
			||||||
@@ -38,7 +37,7 @@ resource "oci_core_instance" "contolplane" {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  source_details {
 | 
					  source_details {
 | 
				
			||||||
    source_type             = "image"
 | 
					    source_type             = "image"
 | 
				
			||||||
    source_id               = data.oci_core_images.talos_x64.images[0].id
 | 
					    source_id               = lookup(var.controlplane, "type", "VM.Standard.E4.Flex") == "VM.Standard.A1.Flex" ? data.oci_core_images.talos_arm.images[0].id : data.oci_core_images.talos_x64.images[0].id
 | 
				
			||||||
    boot_volume_size_in_gbs = "50"
 | 
					    boot_volume_size_in_gbs = "50"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  create_vnic_details {
 | 
					  create_vnic_details {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -58,7 +58,7 @@ resource "oci_core_instance_configuration" "workers" {
 | 
				
			|||||||
        display_name              = "${var.project}-workers"
 | 
					        display_name              = "${var.project}-workers"
 | 
				
			||||||
        assign_private_dns_record = false
 | 
					        assign_private_dns_record = false
 | 
				
			||||||
        assign_public_ip          = false
 | 
					        assign_public_ip          = false
 | 
				
			||||||
        nsg_ids                   = [local.nsg_talos, local.nsg_cilium]
 | 
					        nsg_ids                   = [local.nsg_talos, local.nsg_cilium, local.nsg_worker]
 | 
				
			||||||
        subnet_id                 = local.network_private[local.zone].id
 | 
					        subnet_id                 = local.network_private[local.zone].id
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -56,39 +56,39 @@ resource "oci_core_network_security_group_security_rule" "cilium_vxvlan_in" {
 | 
				
			|||||||
  protocol                  = "17"
 | 
					  protocol                  = "17"
 | 
				
			||||||
  direction                 = "INGRESS"
 | 
					  direction                 = "INGRESS"
 | 
				
			||||||
  source                    = each.value
 | 
					  source                    = each.value
 | 
				
			||||||
  stateless                 = true
 | 
					  stateless                 = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  udp_options {
 | 
					  udp_options {
 | 
				
			||||||
    source_port_range {
 | 
					    # source_port_range {
 | 
				
			||||||
      min = 8472
 | 
					    #   min = 8472
 | 
				
			||||||
      max = 8472
 | 
					    #   max = 8472
 | 
				
			||||||
    }
 | 
					    # }
 | 
				
			||||||
    destination_port_range {
 | 
					    destination_port_range {
 | 
				
			||||||
      min = 8472
 | 
					      min = 8472
 | 
				
			||||||
      max = 8472
 | 
					      max = 8472
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
resource "oci_core_network_security_group_security_rule" "cilium_vxvlan_out" {
 | 
					# resource "oci_core_network_security_group_security_rule" "cilium_vxvlan_out" {
 | 
				
			||||||
  for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
 | 
					#   for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  network_security_group_id = oci_core_network_security_group.cilium.id
 | 
					#   network_security_group_id = oci_core_network_security_group.cilium.id
 | 
				
			||||||
  protocol                  = "17"
 | 
					#   protocol                  = "17"
 | 
				
			||||||
  direction                 = "EGRESS"
 | 
					#   direction                 = "EGRESS"
 | 
				
			||||||
  destination               = each.value
 | 
					#   destination               = each.value
 | 
				
			||||||
  stateless                 = true
 | 
					#   stateless                 = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  udp_options {
 | 
					#   udp_options {
 | 
				
			||||||
    source_port_range {
 | 
					#     source_port_range {
 | 
				
			||||||
      min = 8472
 | 
					#       min = 8472
 | 
				
			||||||
      max = 8472
 | 
					#       max = 8472
 | 
				
			||||||
    }
 | 
					#     }
 | 
				
			||||||
    destination_port_range {
 | 
					#     destination_port_range {
 | 
				
			||||||
      min = 8472
 | 
					#       min = 8472
 | 
				
			||||||
      max = 8472
 | 
					#       max = 8472
 | 
				
			||||||
    }
 | 
					#     }
 | 
				
			||||||
  }
 | 
					#   }
 | 
				
			||||||
}
 | 
					# }
 | 
				
			||||||
resource "oci_core_network_security_group_security_rule" "cilium_health" {
 | 
					resource "oci_core_network_security_group_security_rule" "cilium_health" {
 | 
				
			||||||
  for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
 | 
					  for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -270,12 +270,44 @@ resource "oci_core_network_security_group_security_rule" "contolplane_etcd" {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					resource "oci_core_network_security_group_security_rule" "contolplane_kubelet" {
 | 
				
			||||||
 | 
					  for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  network_security_group_id = oci_core_network_security_group.contolplane.id
 | 
				
			||||||
 | 
					  protocol                  = "6"
 | 
				
			||||||
 | 
					  direction                 = "INGRESS"
 | 
				
			||||||
 | 
					  source                    = each.value
 | 
				
			||||||
 | 
					  stateless                 = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tcp_options {
 | 
				
			||||||
 | 
					    destination_port_range {
 | 
				
			||||||
 | 
					      min = 10250
 | 
				
			||||||
 | 
					      max = 10250
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
resource "oci_core_network_security_group" "web" {
 | 
					resource "oci_core_network_security_group" "web" {
 | 
				
			||||||
  display_name   = "${var.project}-web"
 | 
					  display_name   = "${var.project}-web"
 | 
				
			||||||
  compartment_id = var.compartment_ocid
 | 
					  compartment_id = var.compartment_ocid
 | 
				
			||||||
  vcn_id         = oci_core_vcn.main.id
 | 
					  vcn_id         = oci_core_vcn.main.id
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					resource "oci_core_network_security_group_security_rule" "web_kubelet" {
 | 
				
			||||||
 | 
					  for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  network_security_group_id = oci_core_network_security_group.web.id
 | 
				
			||||||
 | 
					  protocol                  = "6"
 | 
				
			||||||
 | 
					  direction                 = "INGRESS"
 | 
				
			||||||
 | 
					  source                    = each.value
 | 
				
			||||||
 | 
					  stateless                 = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tcp_options {
 | 
				
			||||||
 | 
					    destination_port_range {
 | 
				
			||||||
 | 
					      min = 10250
 | 
				
			||||||
 | 
					      max = 10250
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
resource "oci_core_network_security_group_security_rule" "web_http_health_check" {
 | 
					resource "oci_core_network_security_group_security_rule" "web_http_health_check" {
 | 
				
			||||||
  for_each = toset([oci_core_vcn.main.cidr_block])
 | 
					  for_each = toset([oci_core_vcn.main.cidr_block])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -340,3 +372,25 @@ resource "oci_core_network_security_group_security_rule" "web_https" {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "oci_core_network_security_group" "worker" {
 | 
				
			||||||
 | 
					  display_name   = "${var.project}-worker"
 | 
				
			||||||
 | 
					  compartment_id = var.compartment_ocid
 | 
				
			||||||
 | 
					  vcn_id         = oci_core_vcn.main.id
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					resource "oci_core_network_security_group_security_rule" "worker_kubelet" {
 | 
				
			||||||
 | 
					  for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  network_security_group_id = oci_core_network_security_group.worker.id
 | 
				
			||||||
 | 
					  protocol                  = "6"
 | 
				
			||||||
 | 
					  direction                 = "INGRESS"
 | 
				
			||||||
 | 
					  source                    = each.value
 | 
				
			||||||
 | 
					  stateless                 = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tcp_options {
 | 
				
			||||||
 | 
					    destination_port_range {
 | 
				
			||||||
 | 
					      min = 10250
 | 
				
			||||||
 | 
					      max = 10250
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,3 +83,7 @@ output "nsg_web" {
 | 
				
			|||||||
  description = "The web Network Security Groups"
 | 
					  description = "The web Network Security Groups"
 | 
				
			||||||
  value       = oci_core_network_security_group.web.id
 | 
					  value       = oci_core_network_security_group.web.id
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					output "nsg_worker" {
 | 
				
			||||||
 | 
					  description = "The worker Network Security Groups"
 | 
				
			||||||
 | 
					  value       = oci_core_network_security_group.worker.id
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,6 +37,7 @@ locals {
 | 
				
			|||||||
  nsg_contolplane_lb = data.terraform_remote_state.prepare.outputs.nsg_contolplane_lb
 | 
					  nsg_contolplane_lb = data.terraform_remote_state.prepare.outputs.nsg_contolplane_lb
 | 
				
			||||||
  nsg_contolplane    = data.terraform_remote_state.prepare.outputs.nsg_contolplane
 | 
					  nsg_contolplane    = data.terraform_remote_state.prepare.outputs.nsg_contolplane
 | 
				
			||||||
  nsg_web            = data.terraform_remote_state.prepare.outputs.nsg_web
 | 
					  nsg_web            = data.terraform_remote_state.prepare.outputs.nsg_web
 | 
				
			||||||
 | 
					  nsg_worker         = data.terraform_remote_state.prepare.outputs.nsg_worker
 | 
				
			||||||
  nsg_cilium         = data.terraform_remote_state.prepare.outputs.nsg_cilium
 | 
					  nsg_cilium         = data.terraform_remote_state.prepare.outputs.nsg_cilium
 | 
				
			||||||
  nsg_talos          = data.terraform_remote_state.prepare.outputs.nsg_talos
 | 
					  nsg_talos          = data.terraform_remote_state.prepare.outputs.nsg_talos
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user