Add predefined tags

This commit is contained in:
Serge Logvinov
2022-01-04 00:12:06 +02:00
parent 353ce8ec59
commit b74ab73aba
16 changed files with 201 additions and 3 deletions

View File

@@ -14,4 +14,11 @@ resource "oci_dns_zone" "cluster" {
zone_type = "PRIMARY"
scope = "PRIVATE"
view_id = data.oci_dns_resolver.main.default_view_id
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}

View File

@@ -2,6 +2,13 @@
resource "oci_core_public_ip" "nat" {
compartment_id = var.compartment_ocid
lifetime = "RESERVED"
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_nat_gateway" "private" {
@@ -9,12 +16,20 @@ resource "oci_core_nat_gateway" "private" {
vcn_id = oci_core_vcn.main.id
display_name = "main"
public_ip_id = oci_core_public_ip.nat.id
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_route_table" "private" {
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
display_name = "private"
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
route_rules {
network_entity_id = oci_core_nat_gateway.private.id
@@ -26,4 +41,10 @@ resource "oci_core_route_table" "private" {
destination = data.oci_core_services.object_store.services[0]["cidr_block"]
destination_type = "SERVICE_CIDR_BLOCK"
}
lifecycle {
ignore_changes = [
defined_tags
]
}
}

View File

@@ -48,6 +48,13 @@ resource "oci_core_network_security_group" "cilium" {
display_name = "${var.project}-cilium"
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_network_security_group_security_rule" "cilium_vxvlan_in" {
for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
@@ -110,6 +117,13 @@ resource "oci_core_network_security_group" "talos" {
display_name = "${var.project}-talos"
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_network_security_group_security_rule" "talos" {
@@ -165,6 +179,13 @@ resource "oci_core_network_security_group" "contolplane_lb" {
display_name = "${var.project}-contolplane-lb"
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_network_security_group_security_rule" "kubernetes" {
@@ -216,11 +237,17 @@ resource "oci_core_network_security_group_security_rule" "kubernetes_talos_admin
}
}
resource "oci_core_network_security_group" "contolplane" {
display_name = "${var.project}-contolplane"
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_network_security_group_security_rule" "contolplane_kubernetes" {
for_each = toset([oci_core_vcn.main.cidr_block, oci_core_vcn.main.ipv6cidr_blocks[0]])
@@ -291,6 +318,13 @@ resource "oci_core_network_security_group" "web" {
display_name = "${var.project}-web"
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
defined_tags = merge(var.tags, { "Kubernetes.Type" = "worker" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}
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]])
@@ -377,6 +411,13 @@ resource "oci_core_network_security_group" "worker" {
display_name = "${var.project}-worker"
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
defined_tags = merge(var.tags, { "Kubernetes.Type" = "worker" })
lifecycle {
ignore_changes = [
defined_tags
]
}
}
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]])

View File

@@ -4,30 +4,52 @@ resource "oci_core_vcn" "main" {
display_name = var.project
cidr_blocks = [var.vpc_main_cidr]
is_ipv6enabled = true
defined_tags = var.tags
dns_label = var.project
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_internet_gateway" "main" {
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
display_name = oci_core_vcn.main.display_name
defined_tags = var.tags
enabled = true
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_service_gateway" "main" {
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
display_name = oci_core_vcn.main.display_name
defined_tags = var.tags
services {
service_id = data.oci_core_services.object_store.services[0]["id"]
}
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_route_table" "main" {
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.main.id
display_name = oci_core_vcn.main.display_name
defined_tags = var.tags
route_rules {
network_entity_id = oci_core_internet_gateway.main.id
@@ -39,6 +61,12 @@ resource "oci_core_route_table" "main" {
destination = "::/0"
destination_type = "CIDR_BLOCK"
}
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_subnet" "regional_lb" {
@@ -51,8 +79,16 @@ resource "oci_core_subnet" "regional_lb" {
prohibit_public_ip_on_vnic = false
display_name = "${oci_core_vcn.main.display_name}-regional-lb"
defined_tags = merge(var.tags, { "Kubernetes.Type" = "infra" })
dns_label = "lb"
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_subnet" "regional" {
cidr_block = cidrsubnet(oci_core_vcn.main.cidr_block, 10, 1)
ipv6cidr_block = cidrsubnet(oci_core_vcn.main.ipv6cidr_blocks[0], 8, 1)
@@ -63,7 +99,14 @@ resource "oci_core_subnet" "regional" {
prohibit_public_ip_on_vnic = false
display_name = "${oci_core_vcn.main.display_name}-regional"
defined_tags = var.tags
dns_label = "regional"
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_subnet" "public" {
@@ -79,7 +122,14 @@ resource "oci_core_subnet" "public" {
availability_domain = each.key
display_name = "${oci_core_vcn.main.display_name}-public-zone-${each.value}"
defined_tags = var.tags
dns_label = "public${each.value}"
lifecycle {
ignore_changes = [
defined_tags
]
}
}
resource "oci_core_subnet" "private" {
@@ -94,5 +144,12 @@ resource "oci_core_subnet" "private" {
availability_domain = each.key
display_name = "${oci_core_vcn.main.display_name}-private-zone-${each.value}"
defined_tags = var.tags
dns_label = "private${each.value}"
lifecycle {
ignore_changes = [
defined_tags
]
}
}

View File

@@ -18,6 +18,14 @@ variable "region" {
default = null
}
variable "tags" {
description = "Defined Tags of resources"
type = map(string)
default = {
"Kubernetes.Environment" = "Develop"
}
}
variable "kubernetes" {
type = map(string)
default = {

View File

@@ -3,7 +3,7 @@ terraform {
required_providers {
oci = {
source = "hashicorp/oci"
version = "4.56.0"
version = "4.57.0"
}
}
}