From ba1e207f4a7ebf40db8fb076413a590f18bd56a8 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 21 Mar 2024 15:44:49 +0100 Subject: [PATCH 01/51] added initial private_network module --- k8s/0-k8s-versions.tf | 2 +- k8s/1-k8s-project.tf | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/k8s/0-k8s-versions.tf b/k8s/0-k8s-versions.tf index d65bb9d..7b1a348 100644 --- a/k8s/0-k8s-versions.tf +++ b/k8s/0-k8s-versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { ovh = { source = "ovh/ovh" - version = "~>0.39.0" + version = "~>0.40" } } } diff --git a/k8s/1-k8s-project.tf b/k8s/1-k8s-project.tf index dff305e..6ca6e6b 100644 --- a/k8s/1-k8s-project.tf +++ b/k8s/1-k8s-project.tf @@ -1,7 +1,9 @@ resource "ovh_cloud_project_kube" "this" { - service_name = var.service_name - name = "${var.env}-${var.k8s-project-name}" - region = var.k8s-project-region + service_name = var.service_name + name = "${var.env}-${var.k8s-project-name}" + region = var.k8s-project-region + private_network_id = ovh_cloud_project_network_private.this.id + depends_on = [ovh_cloud_project_network_private.this] } output "kubeconfig_file" { -- GitLab From 47fa224045f27f94deeea10edf10265e204b5354 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 21 Mar 2024 15:45:36 +0100 Subject: [PATCH 02/51] added vrack and network module folders --- network/0-network-versions.tf | 9 ++++ network/1-network-private.tf | 8 +++ network/2-network-private-private-subnets.tf | 12 +++++ network/3-network-variables.tf | 51 ++++++++++++++++++++ network/4-network-outputs.tf | 4 ++ vrack/0-vrack-versions.tf | 9 ++++ vrack/1-vrack-cloudproject.tf | 3 ++ vrack/3-vrack-variables.tf | 11 +++++ vrack/4-vrack-outputs.tf | 7 +++ 9 files changed, 114 insertions(+) create mode 100644 network/0-network-versions.tf create mode 100644 network/1-network-private.tf create mode 100644 network/2-network-private-private-subnets.tf create mode 100644 network/3-network-variables.tf create mode 100644 network/4-network-outputs.tf create mode 100644 vrack/0-vrack-versions.tf create mode 100644 vrack/1-vrack-cloudproject.tf create mode 100644 vrack/3-vrack-variables.tf create mode 100644 vrack/4-vrack-outputs.tf diff --git a/network/0-network-versions.tf b/network/0-network-versions.tf new file mode 100644 index 0000000..7b1a348 --- /dev/null +++ b/network/0-network-versions.tf @@ -0,0 +1,9 @@ +terraform { + required_version = ">= 1.0" + required_providers { + ovh = { + source = "ovh/ovh" + version = "~>0.40" + } + } +} diff --git a/network/1-network-private.tf b/network/1-network-private.tf new file mode 100644 index 0000000..10b1189 --- /dev/null +++ b/network/1-network-private.tf @@ -0,0 +1,8 @@ +resource "ovh_cloud_project_network_private" "this" { + service_name = var.service_name + name = var.network-private-name # Network name + regions = [var.network-private-regions] + provider = ovh.ovh # Provider name + vlan_id = var.network-private-vlan-id # VLAN ID for vRack + depends_on = [ovh_vrack_cloudproject.this] # Depends on the vRack's association with the cloud project +} diff --git a/network/2-network-private-private-subnets.tf b/network/2-network-private-private-subnets.tf new file mode 100644 index 0000000..ebd53c0 --- /dev/null +++ b/network/2-network-private-private-subnets.tf @@ -0,0 +1,12 @@ +resource "ovh_cloud_project_network_private_subnet" "this" { + service_name = var.service_name + network_id = ovh_cloud_project_network_private.this.id + start = "192.168.168.100" # First IP of the subnet + end = "192.168.168.200" # Last IP of the subnet + network = "192.168.168.0/24" # Subnet IP address location + dhcp = true # Enables DHCP + region = var.region + provider = ovh.ovh # Provider name + no_gateway = true # No default gateway + depends_on = [ovh_cloud_project_network_private.this] +} diff --git a/network/3-network-variables.tf b/network/3-network-variables.tf new file mode 100644 index 0000000..9de524b --- /dev/null +++ b/network/3-network-variables.tf @@ -0,0 +1,51 @@ +# Environment +variable "env" { + description = "Environmental name." + type = string +} + +variable "service_name" { + description = "project service name" + type = string +} + +variable "network-private-name" { + description = "private network name" + type = string +} + +variable "network-private-regions" { + description = "list of regions for private network" + type = list(string) +} + +variable "network-private-vlan-id" { + description = "vlan id" + type = number +} + +variable "network-private-subnet-start" { + description = "start of the ip range for hosts" + type = string +} + +variable "network-private-subnet-end" { + description = "end of the ip range for the hosts" + type = string +} + +variable "network-private-subnet" { + description = "network subnet with mask" + type = string +} + +variable "network-private-subnet-dhcp" { + description = "enable DHCP" + type = bool +} + +variable "network-private-subnet-no-gateway" { + description = "is default gatweay used?" + type = bool +} + diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf new file mode 100644 index 0000000..7f20d5f --- /dev/null +++ b/network/4-network-outputs.tf @@ -0,0 +1,4 @@ +output "network-private-name-out" { + value = ovh_cloud_project_network_private.this.name +} + diff --git a/vrack/0-vrack-versions.tf b/vrack/0-vrack-versions.tf new file mode 100644 index 0000000..7b1a348 --- /dev/null +++ b/vrack/0-vrack-versions.tf @@ -0,0 +1,9 @@ +terraform { + required_version = ">= 1.0" + required_providers { + ovh = { + source = "ovh/ovh" + version = "~>0.40" + } + } +} diff --git a/vrack/1-vrack-cloudproject.tf b/vrack/1-vrack-cloudproject.tf new file mode 100644 index 0000000..be57993 --- /dev/null +++ b/vrack/1-vrack-cloudproject.tf @@ -0,0 +1,3 @@ +resource "ovh_vrack_cloudproject" "this" { + project_id = var.service_name +} diff --git a/vrack/3-vrack-variables.tf b/vrack/3-vrack-variables.tf new file mode 100644 index 0000000..8b3e490 --- /dev/null +++ b/vrack/3-vrack-variables.tf @@ -0,0 +1,11 @@ +# Environment +variable "env" { + description = "Environmental name." + type = string +} + +variable "service_name" { + description = "vrack ID" + type = string +} + diff --git a/vrack/4-vrack-outputs.tf b/vrack/4-vrack-outputs.tf new file mode 100644 index 0000000..3006e89 --- /dev/null +++ b/vrack/4-vrack-outputs.tf @@ -0,0 +1,7 @@ +output "vrack-cloudproject-service-name-out" { + value = ovh_vrack_cloudproject.this.service_name +} + +output "vrack-cloudproject-out" { + value = ovh_vrack_cloudproject.this +} -- GitLab From 993c424362a27d09ed7a1cb13caac6d32976e5c6 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 21 Mar 2024 16:00:27 +0100 Subject: [PATCH 03/51] service name taken from vrack config --- network/1-network-private.tf | 2 +- network/3-network-variables.tf | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/network/1-network-private.tf b/network/1-network-private.tf index 10b1189..3eb1bf8 100644 --- a/network/1-network-private.tf +++ b/network/1-network-private.tf @@ -1,5 +1,5 @@ resource "ovh_cloud_project_network_private" "this" { - service_name = var.service_name + service_name = ovh_vrack_cloudproject.this.service_name name = var.network-private-name # Network name regions = [var.network-private-regions] provider = ovh.ovh # Provider name diff --git a/network/3-network-variables.tf b/network/3-network-variables.tf index 9de524b..0944c3b 100644 --- a/network/3-network-variables.tf +++ b/network/3-network-variables.tf @@ -4,11 +4,6 @@ variable "env" { type = string } -variable "service_name" { - description = "project service name" - type = string -} - variable "network-private-name" { description = "private network name" type = string -- GitLab From b906581d7b6867a2fa362f3e459af92f5f16410a Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 21 Mar 2024 17:14:20 +0100 Subject: [PATCH 04/51] spicify service_name of vrack --- network/1-network-private.tf | 2 +- network/3-network-variables.tf | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/network/1-network-private.tf b/network/1-network-private.tf index 3eb1bf8..ed274a1 100644 --- a/network/1-network-private.tf +++ b/network/1-network-private.tf @@ -1,5 +1,5 @@ resource "ovh_cloud_project_network_private" "this" { - service_name = ovh_vrack_cloudproject.this.service_name + service_name = var.service-name name = var.network-private-name # Network name regions = [var.network-private-regions] provider = ovh.ovh # Provider name diff --git a/network/3-network-variables.tf b/network/3-network-variables.tf index 0944c3b..c62036b 100644 --- a/network/3-network-variables.tf +++ b/network/3-network-variables.tf @@ -4,6 +4,11 @@ variable "env" { type = string } +variable "service-name" { + description = "ID of existing vrack" + type = string +} + variable "network-private-name" { description = "private network name" type = string -- GitLab From 822e87669e527f09584a4842c32b8fe5022e43e5 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 21 Mar 2024 17:17:30 +0100 Subject: [PATCH 05/51] removed vrack dependency --- network/1-network-private.tf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/network/1-network-private.tf b/network/1-network-private.tf index ed274a1..5729a18 100644 --- a/network/1-network-private.tf +++ b/network/1-network-private.tf @@ -2,7 +2,6 @@ resource "ovh_cloud_project_network_private" "this" { service_name = var.service-name name = var.network-private-name # Network name regions = [var.network-private-regions] - provider = ovh.ovh # Provider name - vlan_id = var.network-private-vlan-id # VLAN ID for vRack - depends_on = [ovh_vrack_cloudproject.this] # Depends on the vRack's association with the cloud project + provider = ovh.ovh # Provider name + # vlan_id = var.network-private-vlan-id # VLAN ID for vRack } -- GitLab From 9580e2ed05fd0af62498e616f81173384e6e45c7 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 09:27:09 +0100 Subject: [PATCH 06/51] disable dependency option --- network/2-network-private-private-subnets.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/2-network-private-private-subnets.tf b/network/2-network-private-private-subnets.tf index ebd53c0..27e8ed9 100644 --- a/network/2-network-private-private-subnets.tf +++ b/network/2-network-private-private-subnets.tf @@ -8,5 +8,5 @@ resource "ovh_cloud_project_network_private_subnet" "this" { region = var.region provider = ovh.ovh # Provider name no_gateway = true # No default gateway - depends_on = [ovh_cloud_project_network_private.this] + #depends_on = [ovh_cloud_project_network_private.this] } -- GitLab From 23a4a751f8ede6935ee1174609733e53ebbbf87d Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 10:41:49 +0100 Subject: [PATCH 07/51] using vrack data source --- network/1-network-private.tf | 4 ++-- vrack/1-vrack-cloudproject.tf | 8 ++++++-- vrack/4-vrack-outputs.tf | 8 ++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/network/1-network-private.tf b/network/1-network-private.tf index 5729a18..91062e5 100644 --- a/network/1-network-private.tf +++ b/network/1-network-private.tf @@ -2,6 +2,6 @@ resource "ovh_cloud_project_network_private" "this" { service_name = var.service-name name = var.network-private-name # Network name regions = [var.network-private-regions] - provider = ovh.ovh # Provider name - # vlan_id = var.network-private-vlan-id # VLAN ID for vRack + provider = ovh.ovh # Provider name + vlan_id = var.network-private-vlan-id # VLAN ID for vRack } diff --git a/vrack/1-vrack-cloudproject.tf b/vrack/1-vrack-cloudproject.tf index be57993..e0d4550 100644 --- a/vrack/1-vrack-cloudproject.tf +++ b/vrack/1-vrack-cloudproject.tf @@ -1,3 +1,7 @@ -resource "ovh_vrack_cloudproject" "this" { - project_id = var.service_name +data "ovh_cloud_project_vrack" "vrack" { + service_name = "pn-1111278" +} + +output "vrack" { + value = data.ovh_cloud_project_vrack.vrack } diff --git a/vrack/4-vrack-outputs.tf b/vrack/4-vrack-outputs.tf index 3006e89..9dd5e48 100644 --- a/vrack/4-vrack-outputs.tf +++ b/vrack/4-vrack-outputs.tf @@ -1,7 +1,3 @@ -output "vrack-cloudproject-service-name-out" { - value = ovh_vrack_cloudproject.this.service_name -} - -output "vrack-cloudproject-out" { - value = ovh_vrack_cloudproject.this +output "vrack" { + value = data.ovh_cloud_project_vrack.vrack } -- GitLab From 72984b7b2883c25db961a63b36d3a52222c2bc88 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 10:46:25 +0100 Subject: [PATCH 08/51] added vrack output to separate file --- vrack/1-vrack-cloudproject.tf | 3 --- 1 file changed, 3 deletions(-) diff --git a/vrack/1-vrack-cloudproject.tf b/vrack/1-vrack-cloudproject.tf index e0d4550..e12f32e 100644 --- a/vrack/1-vrack-cloudproject.tf +++ b/vrack/1-vrack-cloudproject.tf @@ -2,6 +2,3 @@ data "ovh_cloud_project_vrack" "vrack" { service_name = "pn-1111278" } -output "vrack" { - value = data.ovh_cloud_project_vrack.vrack -} -- GitLab From 71b0573bac3d7a24bb61d33d8016c25dad28adc0 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 10:50:08 +0100 Subject: [PATCH 09/51] using variable as service_name --- vrack/1-vrack-cloudproject.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vrack/1-vrack-cloudproject.tf b/vrack/1-vrack-cloudproject.tf index e12f32e..998fe1e 100644 --- a/vrack/1-vrack-cloudproject.tf +++ b/vrack/1-vrack-cloudproject.tf @@ -1,4 +1,4 @@ data "ovh_cloud_project_vrack" "vrack" { - service_name = "pn-1111278" + service_name = var.service_name } -- GitLab From db142038fe77e587d8db140c4be65c0223b11211 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 11:04:23 +0100 Subject: [PATCH 10/51] added service-name output --- vrack/4-vrack-outputs.tf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vrack/4-vrack-outputs.tf b/vrack/4-vrack-outputs.tf index 9dd5e48..f41798d 100644 --- a/vrack/4-vrack-outputs.tf +++ b/vrack/4-vrack-outputs.tf @@ -1,3 +1,7 @@ output "vrack" { value = data.ovh_cloud_project_vrack.vrack } + +output "vrack-service-name" { + value = data.ovh_cloud_project_vrack.vrack.service_name +} -- GitLab From c21a6b074be85d35a64f4fd747455eb28ecf25d0 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 11:43:23 +0100 Subject: [PATCH 11/51] simplify network module --- ...ivate-subnets.tf => .2-network-private-private-subnets.tf} | 2 +- network/4-network-outputs.tf | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) rename network/{2-network-private-private-subnets.tf => .2-network-private-private-subnets.tf} (89%) delete mode 100644 network/4-network-outputs.tf diff --git a/network/2-network-private-private-subnets.tf b/network/.2-network-private-private-subnets.tf similarity index 89% rename from network/2-network-private-private-subnets.tf rename to network/.2-network-private-private-subnets.tf index 27e8ed9..587dac0 100644 --- a/network/2-network-private-private-subnets.tf +++ b/network/.2-network-private-private-subnets.tf @@ -1,6 +1,6 @@ resource "ovh_cloud_project_network_private_subnet" "this" { service_name = var.service_name - network_id = ovh_cloud_project_network_private.this.id + network_id = "" start = "192.168.168.100" # First IP of the subnet end = "192.168.168.200" # Last IP of the subnet network = "192.168.168.0/24" # Subnet IP address location diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf deleted file mode 100644 index 7f20d5f..0000000 --- a/network/4-network-outputs.tf +++ /dev/null @@ -1,4 +0,0 @@ -output "network-private-name-out" { - value = ovh_cloud_project_network_private.this.name -} - -- GitLab From da74785069a79574664c6a9da45859a804b4fc91 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 12:02:15 +0100 Subject: [PATCH 12/51] hide faulty modules --- network/{1-network-private.tf => .1-network-private.tf} | 0 network/{3-network-variables.tf => .3-network-variables.tf} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename network/{1-network-private.tf => .1-network-private.tf} (100%) rename network/{3-network-variables.tf => .3-network-variables.tf} (100%) diff --git a/network/1-network-private.tf b/network/.1-network-private.tf similarity index 100% rename from network/1-network-private.tf rename to network/.1-network-private.tf diff --git a/network/3-network-variables.tf b/network/.3-network-variables.tf similarity index 100% rename from network/3-network-variables.tf rename to network/.3-network-variables.tf -- GitLab From 399a300d166e3952ce071f4ff4435eeab83810a5 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 13:52:33 +0100 Subject: [PATCH 13/51] added private network --- network/.3-network-variables.tf | 51 ------------------- ...etwork-private.tf => 1-network-private.tf} | 0 network/3-network-variables.tf | 51 +++++++++++++++++++ 3 files changed, 51 insertions(+), 51 deletions(-) delete mode 100644 network/.3-network-variables.tf rename network/{.1-network-private.tf => 1-network-private.tf} (100%) create mode 100644 network/3-network-variables.tf diff --git a/network/.3-network-variables.tf b/network/.3-network-variables.tf deleted file mode 100644 index c62036b..0000000 --- a/network/.3-network-variables.tf +++ /dev/null @@ -1,51 +0,0 @@ -# Environment -variable "env" { - description = "Environmental name." - type = string -} - -variable "service-name" { - description = "ID of existing vrack" - type = string -} - -variable "network-private-name" { - description = "private network name" - type = string -} - -variable "network-private-regions" { - description = "list of regions for private network" - type = list(string) -} - -variable "network-private-vlan-id" { - description = "vlan id" - type = number -} - -variable "network-private-subnet-start" { - description = "start of the ip range for hosts" - type = string -} - -variable "network-private-subnet-end" { - description = "end of the ip range for the hosts" - type = string -} - -variable "network-private-subnet" { - description = "network subnet with mask" - type = string -} - -variable "network-private-subnet-dhcp" { - description = "enable DHCP" - type = bool -} - -variable "network-private-subnet-no-gateway" { - description = "is default gatweay used?" - type = bool -} - diff --git a/network/.1-network-private.tf b/network/1-network-private.tf similarity index 100% rename from network/.1-network-private.tf rename to network/1-network-private.tf diff --git a/network/3-network-variables.tf b/network/3-network-variables.tf new file mode 100644 index 0000000..ddc237e --- /dev/null +++ b/network/3-network-variables.tf @@ -0,0 +1,51 @@ +# Environment +variable "env" { + description = "Environmental name." + type = string +} + +variable "service-name" { + description = "Project ID" + type = string +} + +variable "network-private-name" { + description = "private network name" + type = string +} + +variable "network-private-regions" { + description = "list of regions for private network" + type = list(string) +} + +variable "network-private-vlan-id" { + description = "vlan id" + type = number +} + +# variable "network-private-subnet-start" { +# description = "start of the ip range for hosts" +# type = string +# } +# +# variable "network-private-subnet-end" { +# description = "end of the ip range for the hosts" +# type = string +# } +# +# variable "network-private-subnet" { +# description = "network subnet with mask" +# type = string +# } +# +# variable "network-private-subnet-dhcp" { +# description = "enable DHCP" +# type = bool +# } +# +# variable "network-private-subnet-no-gateway" { +# description = "is default gatweay used?" +# type = bool +# } +# -- GitLab From a7bd1428d29d9d693681d735f9fa638c1223ac44 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 14:07:43 +0100 Subject: [PATCH 14/51] removed provider definition --- network/1-network-private.tf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/network/1-network-private.tf b/network/1-network-private.tf index 91062e5..ef70ee5 100644 --- a/network/1-network-private.tf +++ b/network/1-network-private.tf @@ -1,7 +1,6 @@ resource "ovh_cloud_project_network_private" "this" { service_name = var.service-name name = var.network-private-name # Network name - regions = [var.network-private-regions] - provider = ovh.ovh # Provider name + regions = var.network-private-regions vlan_id = var.network-private-vlan-id # VLAN ID for vRack } -- GitLab From ef296a674916b5781f2dc48fc5f1a84689a98898 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 15:16:47 +0100 Subject: [PATCH 15/51] temoprary disable k8s --- {k8s => .k8s}/0-k8s-versions.tf | 0 {k8s => .k8s}/1-k8s-project.tf | 0 {k8s => .k8s}/2-k8s-project-nodepool.tf | 0 {k8s => .k8s}/3-k8s-variables.tf | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {k8s => .k8s}/0-k8s-versions.tf (100%) rename {k8s => .k8s}/1-k8s-project.tf (100%) rename {k8s => .k8s}/2-k8s-project-nodepool.tf (100%) rename {k8s => .k8s}/3-k8s-variables.tf (100%) diff --git a/k8s/0-k8s-versions.tf b/.k8s/0-k8s-versions.tf similarity index 100% rename from k8s/0-k8s-versions.tf rename to .k8s/0-k8s-versions.tf diff --git a/k8s/1-k8s-project.tf b/.k8s/1-k8s-project.tf similarity index 100% rename from k8s/1-k8s-project.tf rename to .k8s/1-k8s-project.tf diff --git a/k8s/2-k8s-project-nodepool.tf b/.k8s/2-k8s-project-nodepool.tf similarity index 100% rename from k8s/2-k8s-project-nodepool.tf rename to .k8s/2-k8s-project-nodepool.tf diff --git a/k8s/3-k8s-variables.tf b/.k8s/3-k8s-variables.tf similarity index 100% rename from k8s/3-k8s-variables.tf rename to .k8s/3-k8s-variables.tf -- GitLab From 589ff1fa6078fe87933a9f037c58a5df385b1bc7 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 15:35:06 +0100 Subject: [PATCH 16/51] rmoved env variable --- network/3-network-variables.tf | 6 ------ vrack/3-vrack-variables.tf | 6 ------ 2 files changed, 12 deletions(-) diff --git a/network/3-network-variables.tf b/network/3-network-variables.tf index ddc237e..bbbfe1a 100644 --- a/network/3-network-variables.tf +++ b/network/3-network-variables.tf @@ -1,9 +1,3 @@ -# Environment -variable "env" { - description = "Environmental name." - type = string -} - variable "service-name" { description = "Project ID" type = string diff --git a/vrack/3-vrack-variables.tf b/vrack/3-vrack-variables.tf index 8b3e490..7ba636f 100644 --- a/vrack/3-vrack-variables.tf +++ b/vrack/3-vrack-variables.tf @@ -1,9 +1,3 @@ -# Environment -variable "env" { - description = "Environmental name." - type = string -} - variable "service_name" { description = "vrack ID" type = string -- GitLab From e875f22f91e66e48ccc841f053a3aeaf6cbd9819 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 16:51:17 +0100 Subject: [PATCH 17/51] added subnet resource --- network/.2-network-private-private-subnets.tf | 12 ---- network/2-network-private-subnets.tf | 11 ++++ network/3-network-variables.tf | 55 ++++++++++--------- 3 files changed, 41 insertions(+), 37 deletions(-) delete mode 100644 network/.2-network-private-private-subnets.tf create mode 100644 network/2-network-private-subnets.tf diff --git a/network/.2-network-private-private-subnets.tf b/network/.2-network-private-private-subnets.tf deleted file mode 100644 index 587dac0..0000000 --- a/network/.2-network-private-private-subnets.tf +++ /dev/null @@ -1,12 +0,0 @@ -resource "ovh_cloud_project_network_private_subnet" "this" { - service_name = var.service_name - network_id = "" - start = "192.168.168.100" # First IP of the subnet - end = "192.168.168.200" # Last IP of the subnet - network = "192.168.168.0/24" # Subnet IP address location - dhcp = true # Enables DHCP - region = var.region - provider = ovh.ovh # Provider name - no_gateway = true # No default gateway - #depends_on = [ovh_cloud_project_network_private.this] -} diff --git a/network/2-network-private-subnets.tf b/network/2-network-private-subnets.tf new file mode 100644 index 0000000..e68ac4e --- /dev/null +++ b/network/2-network-private-subnets.tf @@ -0,0 +1,11 @@ +resource "ovh_cloud_project_network_private_subnet" "this" { + service_name = var.service-name + network_id = ovh_cloud_project_network_private.this.id + start = var.network-private-subnet-start # First IP of the subnet + end = var.network-private-subnet-end # Last IP of the subnet + network = var.network-private-subnet # Subnet IP address location + dhcp = var.network-private-subnet-dhcp # Enables DHCP + region = var.network-private-region + no_gateway = var.network-private-subnet-no-gateway # No default gateway + depends_on = ovh_cloud_project_network_private.this +} diff --git a/network/3-network-variables.tf b/network/3-network-variables.tf index bbbfe1a..4d148ca 100644 --- a/network/3-network-variables.tf +++ b/network/3-network-variables.tf @@ -8,6 +8,11 @@ variable "network-private-name" { type = string } +variable "network-private-region" { + description = "list of regions for private network" + type = string +} + variable "network-private-regions" { description = "list of regions for private network" type = list(string) @@ -18,28 +23,28 @@ variable "network-private-vlan-id" { type = number } -# variable "network-private-subnet-start" { -# description = "start of the ip range for hosts" -# type = string -# } -# -# variable "network-private-subnet-end" { -# description = "end of the ip range for the hosts" -# type = string -# } -# -# variable "network-private-subnet" { -# description = "network subnet with mask" -# type = string -# } -# -# variable "network-private-subnet-dhcp" { -# description = "enable DHCP" -# type = bool -# } -# -# variable "network-private-subnet-no-gateway" { -# description = "is default gatweay used?" -# type = bool -# } -# +variable "network-private-subnet-start" { + description = "start of the ip range for hosts" + type = string +} + +variable "network-private-subnet-end" { + description = "end of the ip range for the hosts" + type = string +} + +variable "network-private-subnet" { + description = "network subnet with mask" + type = string +} + +variable "network-private-subnet-dhcp" { + description = "enable DHCP" + type = bool +} + +variable "network-private-subnet-no-gateway" { + description = "is default gatweay used?" + type = bool +} + -- GitLab From ee7505bffc61d5cdd4fe5cf05b6f7aa877686ffd Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Fri, 22 Mar 2024 17:08:49 +0100 Subject: [PATCH 18/51] dependency to list --- network/2-network-private-subnets.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/2-network-private-subnets.tf b/network/2-network-private-subnets.tf index e68ac4e..f879838 100644 --- a/network/2-network-private-subnets.tf +++ b/network/2-network-private-subnets.tf @@ -7,5 +7,5 @@ resource "ovh_cloud_project_network_private_subnet" "this" { dhcp = var.network-private-subnet-dhcp # Enables DHCP region = var.network-private-region no_gateway = var.network-private-subnet-no-gateway # No default gateway - depends_on = ovh_cloud_project_network_private.this + depends_on = [ovh_cloud_project_network_private.this] } -- GitLab From 758c72dbf5bb509bef8e65c642f874d118c124d3 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Mon, 25 Mar 2024 10:43:29 +0100 Subject: [PATCH 19/51] Added gateway terraform module --- gateway/0-gateway-versions.tf | 9 +++++++++ gateway/1-gateway.tf | 9 +++++++++ gateway/2-gateway-variables.tf | 29 +++++++++++++++++++++++++++++ network/4-network-outputs.tf | 15 +++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 gateway/0-gateway-versions.tf create mode 100644 gateway/1-gateway.tf create mode 100644 gateway/2-gateway-variables.tf create mode 100644 network/4-network-outputs.tf diff --git a/gateway/0-gateway-versions.tf b/gateway/0-gateway-versions.tf new file mode 100644 index 0000000..7b1a348 --- /dev/null +++ b/gateway/0-gateway-versions.tf @@ -0,0 +1,9 @@ +terraform { + required_version = ">= 1.0" + required_providers { + ovh = { + source = "ovh/ovh" + version = "~>0.40" + } + } +} diff --git a/gateway/1-gateway.tf b/gateway/1-gateway.tf new file mode 100644 index 0000000..ed7603d --- /dev/null +++ b/gateway/1-gateway.tf @@ -0,0 +1,9 @@ + +resource "ovh_cloud_project_gateway" "this" { + service_name = var.service-name + name = var.gateway-name + model = var.gateway-model + region = var.network-private-region + network_id = var.network-private-id + subnet_id = var.network-private-subnet-id +} diff --git a/gateway/2-gateway-variables.tf b/gateway/2-gateway-variables.tf new file mode 100644 index 0000000..3137152 --- /dev/null +++ b/gateway/2-gateway-variables.tf @@ -0,0 +1,29 @@ +variable "service-name" { + description = "Project ID" + type = string +} + +variable "gateway-name" { + description = "Name of the gateway" + type = string +} + +variable "gateway-model" { + description = "Model of the gateway" + type = string +} + +variable "network-private-region" { + description = "Gateway region as an ouput of network region" + type = string +} + +variable "network-private-id" { + description = "Gateway region as an output of network private id" + type = string +} + +variable "network-private-subnet-id" { + description = "Output of network subnet id" + type = string +} diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf new file mode 100644 index 0000000..efa8f93 --- /dev/null +++ b/network/4-network-outputs.tf @@ -0,0 +1,15 @@ +output "network-private-id-out" { + value = data.ovh_cloud_project_network_private.this.id +} + +output "network-private-subnet-service-name-out" { + value = data.ovh_cloud_project_network_private.this.service_name +} + +output "network-private-subnet-id-out" { + value = data.ovh_cloud_project_network_private_subnet.this.id +} + +output "network-private-subnet-region-out" { + value = data.ovh_cloud_project_network_private_subnet.this.region +} -- GitLab From 7cf19e44f772dd08bde785cf6200ec4767841589 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Mon, 25 Mar 2024 13:35:34 +0100 Subject: [PATCH 20/51] added vrack output postfix and alter gateway module --- gateway/1-gateway.tf | 1 - vrack/4-vrack-outputs.tf | 6 +----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/gateway/1-gateway.tf b/gateway/1-gateway.tf index ed7603d..b8a7d04 100644 --- a/gateway/1-gateway.tf +++ b/gateway/1-gateway.tf @@ -1,4 +1,3 @@ - resource "ovh_cloud_project_gateway" "this" { service_name = var.service-name name = var.gateway-name diff --git a/vrack/4-vrack-outputs.tf b/vrack/4-vrack-outputs.tf index f41798d..2845611 100644 --- a/vrack/4-vrack-outputs.tf +++ b/vrack/4-vrack-outputs.tf @@ -1,7 +1,3 @@ -output "vrack" { - value = data.ovh_cloud_project_vrack.vrack -} - -output "vrack-service-name" { +output "vrack-service-name-out" { value = data.ovh_cloud_project_vrack.vrack.service_name } -- GitLab From d5fe0c2ab7bb1400edd58c5254943d39568a4a72 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Tue, 26 Mar 2024 11:07:04 +0100 Subject: [PATCH 21/51] fixed network outputs --- network/4-network-outputs.tf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index efa8f93..8c06315 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,15 +1,15 @@ output "network-private-id-out" { - value = data.ovh_cloud_project_network_private.this.id + value = ovh_cloud_project_network_private.this.id } output "network-private-subnet-service-name-out" { - value = data.ovh_cloud_project_network_private.this.service_name + value = ovh_cloud_project_network_private.this.service_name } output "network-private-subnet-id-out" { - value = data.ovh_cloud_project_network_private_subnet.this.id + value = ovh_cloud_project_network_private_subnet.this.id } output "network-private-subnet-region-out" { - value = data.ovh_cloud_project_network_private_subnet.this.region + value = ovh_cloud_project_network_private_subnet.this.region } -- GitLab From 4ab13146fe7ef47e6604c49dd8f01478f3208152 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Tue, 26 Mar 2024 11:42:46 +0100 Subject: [PATCH 22/51] data is part of output file --- vrack/1-vrack-cloudproject.tf | 4 ---- vrack/{3-vrack-variables.tf => 2-vrack-variables.tf} | 0 vrack/{4-vrack-outputs.tf => 3-vrack-outputs.tf} | 4 ++++ 3 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 vrack/1-vrack-cloudproject.tf rename vrack/{3-vrack-variables.tf => 2-vrack-variables.tf} (100%) rename vrack/{4-vrack-outputs.tf => 3-vrack-outputs.tf} (54%) diff --git a/vrack/1-vrack-cloudproject.tf b/vrack/1-vrack-cloudproject.tf deleted file mode 100644 index 998fe1e..0000000 --- a/vrack/1-vrack-cloudproject.tf +++ /dev/null @@ -1,4 +0,0 @@ -data "ovh_cloud_project_vrack" "vrack" { - service_name = var.service_name -} - diff --git a/vrack/3-vrack-variables.tf b/vrack/2-vrack-variables.tf similarity index 100% rename from vrack/3-vrack-variables.tf rename to vrack/2-vrack-variables.tf diff --git a/vrack/4-vrack-outputs.tf b/vrack/3-vrack-outputs.tf similarity index 54% rename from vrack/4-vrack-outputs.tf rename to vrack/3-vrack-outputs.tf index 2845611..3e2d156 100644 --- a/vrack/4-vrack-outputs.tf +++ b/vrack/3-vrack-outputs.tf @@ -1,3 +1,7 @@ +data "ovh_cloud_project_vrack" "vrack" { + service_name = var.service_name +} + output "vrack-service-name-out" { value = data.ovh_cloud_project_vrack.vrack.service_name } -- GitLab From 1eb1d37ed12988f09b0b2c59e58d81ad485fa072 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Tue, 26 Mar 2024 12:07:38 +0100 Subject: [PATCH 23/51] renamed variable --- vrack/2-vrack-variables.tf | 2 +- vrack/3-vrack-outputs.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vrack/2-vrack-variables.tf b/vrack/2-vrack-variables.tf index 7ba636f..530222f 100644 --- a/vrack/2-vrack-variables.tf +++ b/vrack/2-vrack-variables.tf @@ -1,4 +1,4 @@ -variable "service_name" { +variable "vrack-id" { description = "vrack ID" type = string } diff --git a/vrack/3-vrack-outputs.tf b/vrack/3-vrack-outputs.tf index 3e2d156..542b67a 100644 --- a/vrack/3-vrack-outputs.tf +++ b/vrack/3-vrack-outputs.tf @@ -1,5 +1,5 @@ data "ovh_cloud_project_vrack" "vrack" { - service_name = var.service_name + service_name = var.vrack-id } output "vrack-service-name-out" { -- GitLab From 5a4503779c1ef84adbf9a7718cc581c99c69dbd8 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Tue, 26 Mar 2024 13:11:07 +0100 Subject: [PATCH 24/51] removed vrack module which is no longer needed in the latest version of provider --- vrack/0-vrack-versions.tf | 9 --------- vrack/2-vrack-variables.tf | 5 ----- vrack/3-vrack-outputs.tf | 7 ------- 3 files changed, 21 deletions(-) delete mode 100644 vrack/0-vrack-versions.tf delete mode 100644 vrack/2-vrack-variables.tf delete mode 100644 vrack/3-vrack-outputs.tf diff --git a/vrack/0-vrack-versions.tf b/vrack/0-vrack-versions.tf deleted file mode 100644 index 7b1a348..0000000 --- a/vrack/0-vrack-versions.tf +++ /dev/null @@ -1,9 +0,0 @@ -terraform { - required_version = ">= 1.0" - required_providers { - ovh = { - source = "ovh/ovh" - version = "~>0.40" - } - } -} diff --git a/vrack/2-vrack-variables.tf b/vrack/2-vrack-variables.tf deleted file mode 100644 index 530222f..0000000 --- a/vrack/2-vrack-variables.tf +++ /dev/null @@ -1,5 +0,0 @@ -variable "vrack-id" { - description = "vrack ID" - type = string -} - diff --git a/vrack/3-vrack-outputs.tf b/vrack/3-vrack-outputs.tf deleted file mode 100644 index 542b67a..0000000 --- a/vrack/3-vrack-outputs.tf +++ /dev/null @@ -1,7 +0,0 @@ -data "ovh_cloud_project_vrack" "vrack" { - service_name = var.vrack-id -} - -output "vrack-service-name-out" { - value = data.ovh_cloud_project_vrack.vrack.service_name -} -- GitLab From 7647d2e98d96d2e5c7e0baefdbab7cd35294251b Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Tue, 26 Mar 2024 16:59:55 +0100 Subject: [PATCH 25/51] wrong syntax in output network id --- network/4-network-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index 8c06315..9bf86ea 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -7,7 +7,7 @@ output "network-private-subnet-service-name-out" { } output "network-private-subnet-id-out" { - value = ovh_cloud_project_network_private_subnet.this.id + value = tolist(ovh_cloud_project_network_private.mypriv.regions_attributes[*].openstackid)[0] } output "network-private-subnet-region-out" { -- GitLab From 1446ec6049dfc8a8c85de8e6b267c70b297f249a Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Tue, 26 Mar 2024 17:03:34 +0100 Subject: [PATCH 26/51] wrong syntax in output network id v2 --- network/4-network-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index 9bf86ea..d5fae47 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -7,7 +7,7 @@ output "network-private-subnet-service-name-out" { } output "network-private-subnet-id-out" { - value = tolist(ovh_cloud_project_network_private.mypriv.regions_attributes[*].openstackid)[0] + value = tolist(ovh_cloud_project_network_private.this.regions_attributes[*].openstackid)[0] } output "network-private-subnet-region-out" { -- GitLab From d0690224f1e8937ce92298c074a7c0b728992f04 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Tue, 26 Mar 2024 17:25:10 +0100 Subject: [PATCH 27/51] gateway module cannot be used because of backend error --- gateway/0-gateway-versions.tf | 9 --------- gateway/1-gateway.tf | 8 -------- gateway/2-gateway-variables.tf | 29 ----------------------------- network/4-network-outputs.tf | 15 --------------- 4 files changed, 61 deletions(-) delete mode 100644 gateway/0-gateway-versions.tf delete mode 100644 gateway/1-gateway.tf delete mode 100644 gateway/2-gateway-variables.tf delete mode 100644 network/4-network-outputs.tf diff --git a/gateway/0-gateway-versions.tf b/gateway/0-gateway-versions.tf deleted file mode 100644 index 7b1a348..0000000 --- a/gateway/0-gateway-versions.tf +++ /dev/null @@ -1,9 +0,0 @@ -terraform { - required_version = ">= 1.0" - required_providers { - ovh = { - source = "ovh/ovh" - version = "~>0.40" - } - } -} diff --git a/gateway/1-gateway.tf b/gateway/1-gateway.tf deleted file mode 100644 index b8a7d04..0000000 --- a/gateway/1-gateway.tf +++ /dev/null @@ -1,8 +0,0 @@ -resource "ovh_cloud_project_gateway" "this" { - service_name = var.service-name - name = var.gateway-name - model = var.gateway-model - region = var.network-private-region - network_id = var.network-private-id - subnet_id = var.network-private-subnet-id -} diff --git a/gateway/2-gateway-variables.tf b/gateway/2-gateway-variables.tf deleted file mode 100644 index 3137152..0000000 --- a/gateway/2-gateway-variables.tf +++ /dev/null @@ -1,29 +0,0 @@ -variable "service-name" { - description = "Project ID" - type = string -} - -variable "gateway-name" { - description = "Name of the gateway" - type = string -} - -variable "gateway-model" { - description = "Model of the gateway" - type = string -} - -variable "network-private-region" { - description = "Gateway region as an ouput of network region" - type = string -} - -variable "network-private-id" { - description = "Gateway region as an output of network private id" - type = string -} - -variable "network-private-subnet-id" { - description = "Output of network subnet id" - type = string -} diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf deleted file mode 100644 index d5fae47..0000000 --- a/network/4-network-outputs.tf +++ /dev/null @@ -1,15 +0,0 @@ -output "network-private-id-out" { - value = ovh_cloud_project_network_private.this.id -} - -output "network-private-subnet-service-name-out" { - value = ovh_cloud_project_network_private.this.service_name -} - -output "network-private-subnet-id-out" { - value = tolist(ovh_cloud_project_network_private.this.regions_attributes[*].openstackid)[0] -} - -output "network-private-subnet-region-out" { - value = ovh_cloud_project_network_private_subnet.this.region -} -- GitLab From 89b1db99054f551d7a3cccfea30c42beca4e5e6d Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Tue, 26 Mar 2024 18:04:02 +0100 Subject: [PATCH 28/51] k8s module is altered to be compactible with new code architecture --- .k8s/1-k8s-project.tf | 12 ----------- {.k8s => k8s}/0-k8s-versions.tf | 0 k8s/1-k8s-project.tf | 17 ++++++++++++++++ {.k8s => k8s}/2-k8s-project-nodepool.tf | 4 ++-- {.k8s => k8s}/3-k8s-variables.tf | 27 ++++++++++++++++++++++++- 5 files changed, 45 insertions(+), 15 deletions(-) delete mode 100644 .k8s/1-k8s-project.tf rename {.k8s => k8s}/0-k8s-versions.tf (100%) create mode 100644 k8s/1-k8s-project.tf rename {.k8s => k8s}/2-k8s-project-nodepool.tf (78%) rename {.k8s => k8s}/3-k8s-variables.tf (53%) diff --git a/.k8s/1-k8s-project.tf b/.k8s/1-k8s-project.tf deleted file mode 100644 index 6ca6e6b..0000000 --- a/.k8s/1-k8s-project.tf +++ /dev/null @@ -1,12 +0,0 @@ -resource "ovh_cloud_project_kube" "this" { - service_name = var.service_name - name = "${var.env}-${var.k8s-project-name}" - region = var.k8s-project-region - private_network_id = ovh_cloud_project_network_private.this.id - depends_on = [ovh_cloud_project_network_private.this] -} - -output "kubeconfig_file" { - value = ovh_cloud_project_kube.this.kubeconfig - sensitive = true -} diff --git a/.k8s/0-k8s-versions.tf b/k8s/0-k8s-versions.tf similarity index 100% rename from .k8s/0-k8s-versions.tf rename to k8s/0-k8s-versions.tf diff --git a/k8s/1-k8s-project.tf b/k8s/1-k8s-project.tf new file mode 100644 index 0000000..42a0fbc --- /dev/null +++ b/k8s/1-k8s-project.tf @@ -0,0 +1,17 @@ +resource "ovh_cloud_project_kube" "this" { + service_name = var.service-name + name = var.k8s-project-name + region = var.k8s-project-region + private_network_id = var.k8s-project-network-id + depends_on = [var.k8s-project-network] + + private_network_configuration { + default_vrack_gateway = var.k8s-project-default-vrack-gateway + private_network_routing_as_default = var.k8s-project-private_network_routing_as_default + } +} + +output "kubeconfig_file" { + value = ovh_cloud_project_kube.this.kubeconfig + sensitive = true +} diff --git a/.k8s/2-k8s-project-nodepool.tf b/k8s/2-k8s-project-nodepool.tf similarity index 78% rename from .k8s/2-k8s-project-nodepool.tf rename to k8s/2-k8s-project-nodepool.tf index 372b5bb..600c6b2 100644 --- a/.k8s/2-k8s-project-nodepool.tf +++ b/k8s/2-k8s-project-nodepool.tf @@ -1,7 +1,7 @@ resource "ovh_cloud_project_kube_nodepool" "this" { - service_name = var.service_name + service_name = var.service-name kube_id = ovh_cloud_project_kube.this.id - name = "${var.k8s-project-name}-nodepool" + name = var.k8s-project-nodepool-name flavor_name = var.k8s-project-nodepool-flavor-name desired_nodes = var.k8s-project-nodepool-desired-nodes max_nodes = var.k8s-project-nodepool-max-nodes diff --git a/.k8s/3-k8s-variables.tf b/k8s/3-k8s-variables.tf similarity index 53% rename from .k8s/3-k8s-variables.tf rename to k8s/3-k8s-variables.tf index 59af32f..76b22bc 100644 --- a/.k8s/3-k8s-variables.tf +++ b/k8s/3-k8s-variables.tf @@ -35,7 +35,32 @@ variable "k8s-project-region" { type = string } -variable "service_name" { +variable "k8s-project-network-id" { + description = "Network ID for this k8s instance" + type = string +} + +variable "k8s-project-network" { + description = "Network for this k8s instance" + type = string +} + +variable "k8s-project-default-vrack-gateway" { + description = "egress traffic will be routed towards this IP address" + type = string +} + +variable "k8s-project-private_network_routing_as_default" { + description = "Defines whether routing should default to using the nodes' private interface, instead of their public interface" + type = bool +} + +variable "k8s-project-nodepool-name" { + description = "Name for k8s nodepool" + type = string +} + +variable "service-name" { description = "project service name" type = string } -- GitLab From f0cf538241b327ae29df3e4b56fc8bd1e96c24f5 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 09:50:43 +0100 Subject: [PATCH 29/51] added network outputs for k8s and adjusted variables --- k8s/1-k8s-project.tf | 1 - k8s/2-k8s-project-nodepool.tf | 1 + k8s/3-k8s-variables.tf | 11 ----------- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/k8s/1-k8s-project.tf b/k8s/1-k8s-project.tf index 42a0fbc..d360944 100644 --- a/k8s/1-k8s-project.tf +++ b/k8s/1-k8s-project.tf @@ -3,7 +3,6 @@ resource "ovh_cloud_project_kube" "this" { name = var.k8s-project-name region = var.k8s-project-region private_network_id = var.k8s-project-network-id - depends_on = [var.k8s-project-network] private_network_configuration { default_vrack_gateway = var.k8s-project-default-vrack-gateway diff --git a/k8s/2-k8s-project-nodepool.tf b/k8s/2-k8s-project-nodepool.tf index 600c6b2..9430378 100644 --- a/k8s/2-k8s-project-nodepool.tf +++ b/k8s/2-k8s-project-nodepool.tf @@ -6,4 +6,5 @@ resource "ovh_cloud_project_kube_nodepool" "this" { desired_nodes = var.k8s-project-nodepool-desired-nodes max_nodes = var.k8s-project-nodepool-max-nodes min_nodes = var.k8s-project-nodepool-min-nodes + depends_on = [ovh_cloud_project_kube.this] } diff --git a/k8s/3-k8s-variables.tf b/k8s/3-k8s-variables.tf index 76b22bc..2ee96ff 100644 --- a/k8s/3-k8s-variables.tf +++ b/k8s/3-k8s-variables.tf @@ -1,9 +1,3 @@ -# Environment -variable "env" { - description = "Environmental name." - type = string -} - # Managed Kubenetes Service variable "k8s-project-nodepool-flavor-name" { description = "Name for the nodepool flavor" @@ -40,11 +34,6 @@ variable "k8s-project-network-id" { type = string } -variable "k8s-project-network" { - description = "Network for this k8s instance" - type = string -} - variable "k8s-project-default-vrack-gateway" { description = "egress traffic will be routed towards this IP address" type = string -- GitLab From aec93da86649df1702144f34b464561f4c1fb830 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 09:51:14 +0100 Subject: [PATCH 30/51] adjusted network outputs --- network/4-network-outputs.tf | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 network/4-network-outputs.tf diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf new file mode 100644 index 0000000..8cb9107 --- /dev/null +++ b/network/4-network-outputs.tf @@ -0,0 +1,4 @@ +output "network-private-id-out" { + value = one(ovh_cloud_project_network_private.network.regions_attributes[*].openstackid) +} + -- GitLab From 24b73e9a9dd7d88961f4cb8f693436324a5eedcd Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 13:17:27 +0100 Subject: [PATCH 31/51] fixed typo in output --- network/4-network-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index 8cb9107..994b959 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,4 +1,4 @@ output "network-private-id-out" { - value = one(ovh_cloud_project_network_private.network.regions_attributes[*].openstackid) + value = one(ovh_cloud_project_network_private.this.regions_attributes[*].openstackid) } -- GitLab From 6a1e673ff90bbfb588f17b4fce4e911c055e7f66 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 13:29:31 +0100 Subject: [PATCH 32/51] changed output value --- network/4-network-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index 994b959..77a16a9 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,4 +1,4 @@ output "network-private-id-out" { - value = one(ovh_cloud_project_network_private.this.regions_attributes[*].openstackid) + value = ovh_cloud_project_network_private.this.id } -- GitLab From 005a7b11e2c2087b68aaebe571c696cd309142de Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 14:08:36 +0100 Subject: [PATCH 33/51] changed syntax for output --- network/4-network-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index 77a16a9..a1bc901 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,4 +1,4 @@ -output "network-private-id-out" { +output "network_private_id_out" { value = ovh_cloud_project_network_private.this.id } -- GitLab From ce7b014cae717863db3d460325ed8721adbe618a Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 14:14:20 +0100 Subject: [PATCH 34/51] testing output --- k8s/3-k8s-variables.tf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/k8s/3-k8s-variables.tf b/k8s/3-k8s-variables.tf index 2ee96ff..1affde1 100644 --- a/k8s/3-k8s-variables.tf +++ b/k8s/3-k8s-variables.tf @@ -49,6 +49,11 @@ variable "k8s-project-nodepool-name" { type = string } +variable "network_private_id_out" { + description = "output of network id" + type = string +} + variable "service-name" { description = "project service name" type = string -- GitLab From 4ca954a8f68ed5c2d1c2611b2e2da0ea0dfaeee5 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 14:22:21 +0100 Subject: [PATCH 35/51] changed variable name --- network/4-network-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index a1bc901..77a16a9 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,4 +1,4 @@ -output "network_private_id_out" { +output "network-private-id-out" { value = ovh_cloud_project_network_private.this.id } -- GitLab From ae8b1094d018524533cc3e8685aaee4a3eff9228 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 14:23:46 +0100 Subject: [PATCH 36/51] output not in variables anymore --- k8s/3-k8s-variables.tf | 5 ----- 1 file changed, 5 deletions(-) diff --git a/k8s/3-k8s-variables.tf b/k8s/3-k8s-variables.tf index 1affde1..2ee96ff 100644 --- a/k8s/3-k8s-variables.tf +++ b/k8s/3-k8s-variables.tf @@ -49,11 +49,6 @@ variable "k8s-project-nodepool-name" { type = string } -variable "network_private_id_out" { - description = "output of network id" - type = string -} - variable "service-name" { description = "project service name" type = string -- GitLab From ba2783afb5fd277bd76f2b8a6109a1305ee839b1 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 14:43:47 +0100 Subject: [PATCH 37/51] define new variable for network output --- network/4-network-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index 77a16a9..35c6ba2 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,4 +1,4 @@ output "network-private-id-out" { - value = ovh_cloud_project_network_private.this.id + value = tolist(ovh_cloud_project_network_private.network.regions_attributes[*].openstackid)[0] } -- GitLab From b009d579bf0da75322fd1ec6cf8348451d953144 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 14:46:04 +0100 Subject: [PATCH 38/51] change variable type to list --- k8s/3-k8s-variables.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/3-k8s-variables.tf b/k8s/3-k8s-variables.tf index 2ee96ff..6159257 100644 --- a/k8s/3-k8s-variables.tf +++ b/k8s/3-k8s-variables.tf @@ -31,7 +31,7 @@ variable "k8s-project-region" { variable "k8s-project-network-id" { description = "Network ID for this k8s instance" - type = string + type = list(string) } variable "k8s-project-default-vrack-gateway" { -- GitLab From 801dbc4230c059b10119f07f4014c2ff83e6c66e Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 15:10:43 +0100 Subject: [PATCH 39/51] use subnet network id instead of network id --- k8s/3-k8s-variables.tf | 6 +++--- network/4-network-outputs.tf | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/k8s/3-k8s-variables.tf b/k8s/3-k8s-variables.tf index 6159257..dbab0e2 100644 --- a/k8s/3-k8s-variables.tf +++ b/k8s/3-k8s-variables.tf @@ -29,9 +29,9 @@ variable "k8s-project-region" { type = string } -variable "k8s-project-network-id" { - description = "Network ID for this k8s instance" - type = list(string) +variable "k8s-project-network-subnet-id" { + description = "Network subnet ID for this k8s instance" + type = string } variable "k8s-project-default-vrack-gateway" { diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index 35c6ba2..bd0a60e 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,4 +1,4 @@ -output "network-private-id-out" { - value = tolist(ovh_cloud_project_network_private.network.regions_attributes[*].openstackid)[0] +output "network-private-subnet-id-out" { + value = ovh_cloud_project_network_private_subnet.this.network_id } -- GitLab From 020bb96cabfe09db32d4e1bc43efd6e629b33ad6 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 15:14:07 +0100 Subject: [PATCH 40/51] change variable fot k8s network --- k8s/1-k8s-project.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/1-k8s-project.tf b/k8s/1-k8s-project.tf index d360944..383f076 100644 --- a/k8s/1-k8s-project.tf +++ b/k8s/1-k8s-project.tf @@ -2,7 +2,7 @@ resource "ovh_cloud_project_kube" "this" { service_name = var.service-name name = var.k8s-project-name region = var.k8s-project-region - private_network_id = var.k8s-project-network-id + private_network_id = var.k8s-project-network-subnet-id private_network_configuration { default_vrack_gateway = var.k8s-project-default-vrack-gateway -- GitLab From df49279bf85d1f48ede0437536a13b086db70d6d Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 15:43:24 +0100 Subject: [PATCH 41/51] trying to use openstack id --- k8s/1-k8s-project.tf | 2 +- k8s/3-k8s-variables.tf | 4 ++-- network/4-network-outputs.tf | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/k8s/1-k8s-project.tf b/k8s/1-k8s-project.tf index 383f076..7a9c1fb 100644 --- a/k8s/1-k8s-project.tf +++ b/k8s/1-k8s-project.tf @@ -2,7 +2,7 @@ resource "ovh_cloud_project_kube" "this" { service_name = var.service-name name = var.k8s-project-name region = var.k8s-project-region - private_network_id = var.k8s-project-network-subnet-id + private_network_id = var.k8s-project-network-openstackid private_network_configuration { default_vrack_gateway = var.k8s-project-default-vrack-gateway diff --git a/k8s/3-k8s-variables.tf b/k8s/3-k8s-variables.tf index dbab0e2..6c7c05e 100644 --- a/k8s/3-k8s-variables.tf +++ b/k8s/3-k8s-variables.tf @@ -29,8 +29,8 @@ variable "k8s-project-region" { type = string } -variable "k8s-project-network-subnet-id" { - description = "Network subnet ID for this k8s instance" +variable "k8s-project-network-openstackid" { + description = "Network openstack ID for this k8s instance" type = string } diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index bd0a60e..eea801f 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,4 +1,4 @@ -output "network-private-subnet-id-out" { - value = ovh_cloud_project_network_private_subnet.this.network_id +output "network-private-openstackid-out" { + value = ovh_cloud_project_network_private.this.regions_attributes[*].openstackid } -- GitLab From e4ca535fb496f0b9762af18fbe3f40b5a42cb4f8 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 15:54:51 +0100 Subject: [PATCH 42/51] add one() function --- network/4-network-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index eea801f..5128040 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -1,4 +1,4 @@ output "network-private-openstackid-out" { - value = ovh_cloud_project_network_private.this.regions_attributes[*].openstackid + value = one(ovh_cloud_project_network_private.this.regions_attributes[*].openstackid) } -- GitLab From 8eb0556bca5389ed42270efa1b7c9bfe78d16baf Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Wed, 27 Mar 2024 17:07:29 +0100 Subject: [PATCH 43/51] add gateway module --- gateway/0-gateway-versions.tf | 9 +++++++++ gateway/1-gateway.tf | 8 ++++++++ gateway/2-gateway-variables.tf | 29 +++++++++++++++++++++++++++++ network/4-network-outputs.tf | 4 ++++ 4 files changed, 50 insertions(+) create mode 100644 gateway/0-gateway-versions.tf create mode 100644 gateway/1-gateway.tf create mode 100644 gateway/2-gateway-variables.tf diff --git a/gateway/0-gateway-versions.tf b/gateway/0-gateway-versions.tf new file mode 100644 index 0000000..7b1a348 --- /dev/null +++ b/gateway/0-gateway-versions.tf @@ -0,0 +1,9 @@ +terraform { + required_version = ">= 1.0" + required_providers { + ovh = { + source = "ovh/ovh" + version = "~>0.40" + } + } +} diff --git a/gateway/1-gateway.tf b/gateway/1-gateway.tf new file mode 100644 index 0000000..47f151f --- /dev/null +++ b/gateway/1-gateway.tf @@ -0,0 +1,8 @@ +resource "ovh_cloud_project_gateway" "this" { + service_name = var.service-name + name = var.gateway-name + model = var.gateway-model + region = var.gateway-region + network_id = var.gateway-network-private-openstackid + subnet_id = var.gateway-network-private-subnet-id +} diff --git a/gateway/2-gateway-variables.tf b/gateway/2-gateway-variables.tf new file mode 100644 index 0000000..a454803 --- /dev/null +++ b/gateway/2-gateway-variables.tf @@ -0,0 +1,29 @@ +variable "service-name" { + description = "Project ID" + type = string +} + +variable "gateway-name" { + description = "Name of the gateway" + type = string +} + +variable "gateway-model" { + description = "Model of the gateway" + type = string +} + +variable "gateway-region" { + description = "Gateway region as an ouput of network region" + type = string +} + +variable "gateway-network-private-openstackid" { + description = "Gateway region as an output of network private openstackid" + type = string +} + +variable "gateway-network-private-subnet-id" { + description = "Output of network subnet id" + type = string +} diff --git a/network/4-network-outputs.tf b/network/4-network-outputs.tf index 5128040..4099168 100644 --- a/network/4-network-outputs.tf +++ b/network/4-network-outputs.tf @@ -2,3 +2,7 @@ output "network-private-openstackid-out" { value = one(ovh_cloud_project_network_private.this.regions_attributes[*].openstackid) } +output "network-private-subnet-id-out" { + value = ovh_cloud_project_network_private_subnet.this.id +} + -- GitLab From 253ff32a3a9e67f033918c3f36456bc88aae9a17 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 28 Mar 2024 16:07:16 +0100 Subject: [PATCH 44/51] added helm provider module --- helm/0-helm-versions.tf | 9 +++++++++ helm/1-helm-provider.tf | 8 ++++++++ helm/2-helm-release.tf | 6 ++++++ helm/3-helm-variables.tf | 39 +++++++++++++++++++++++++++++++++++++++ k8s/1-k8s-project.tf | 4 ---- k8s/4-k8s-outputs.tf | 23 +++++++++++++++++++++++ 6 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 helm/0-helm-versions.tf create mode 100644 helm/1-helm-provider.tf create mode 100644 helm/2-helm-release.tf create mode 100644 helm/3-helm-variables.tf create mode 100644 k8s/4-k8s-outputs.tf diff --git a/helm/0-helm-versions.tf b/helm/0-helm-versions.tf new file mode 100644 index 0000000..c8859f3 --- /dev/null +++ b/helm/0-helm-versions.tf @@ -0,0 +1,9 @@ +terraform { + required_version = ">= 1.0" + required_providers { + helm = { + source = "hashicorp/helm" + version = "~>2.0" + } + } +} diff --git a/helm/1-helm-provider.tf b/helm/1-helm-provider.tf new file mode 100644 index 0000000..038683e --- /dev/null +++ b/helm/1-helm-provider.tf @@ -0,0 +1,8 @@ +provider "helm" { + kubernetes { + host = var.helm-host + client_certificate = base64decode(var.helm-client-certificate) + client_key = base64decode(var.helm-client-key) + cluster_ca_certificate = base64decode(var.helm-ca-certificate) + } +} diff --git a/helm/2-helm-release.tf b/helm/2-helm-release.tf new file mode 100644 index 0000000..f72cdc7 --- /dev/null +++ b/helm/2-helm-release.tf @@ -0,0 +1,6 @@ +resource "helm_release" "nginx" { + name = var.helm-release-name + repository = var.helm-release-repository + chart = var.helm-release-chart + version = var.helm-release-version +} diff --git a/helm/3-helm-variables.tf b/helm/3-helm-variables.tf new file mode 100644 index 0000000..a0a6ac2 --- /dev/null +++ b/helm/3-helm-variables.tf @@ -0,0 +1,39 @@ +variable "helm-host" { + description = "host of k8s cluster" + type = string +} + +variable "helm-client-certificate" { + description = "k8s cluster client certificate" + type = string +} + +variable "helm-client-key" { + description = "k8s cluster client key" + type = string +} + +variable "helm-ca-certificate" { + description = "k8s cluster ca-certificate" + type = string +} + +variable "helm-release-name" { + description = "name of the helm release" + type = string +} + +variable "helm-release-repository" { + description = "helm repository release" + type = string +} + +variable "helm-release-chart" { + description = "helm chart name" + type = string +} + +variable "helm-release-version" { + description = "chart version" + type = string +} diff --git a/k8s/1-k8s-project.tf b/k8s/1-k8s-project.tf index 7a9c1fb..4586b85 100644 --- a/k8s/1-k8s-project.tf +++ b/k8s/1-k8s-project.tf @@ -10,7 +10,3 @@ resource "ovh_cloud_project_kube" "this" { } } -output "kubeconfig_file" { - value = ovh_cloud_project_kube.this.kubeconfig - sensitive = true -} diff --git a/k8s/4-k8s-outputs.tf b/k8s/4-k8s-outputs.tf new file mode 100644 index 0000000..6485f7e --- /dev/null +++ b/k8s/4-k8s-outputs.tf @@ -0,0 +1,23 @@ +output "k8s-kubeconfig" { + value = ovh_cloud_project_kube.this.kubeconfig + sensitive = true +} + +output "k8s-host" { + value = ovh_cloud_project_kube.this.kubeconfig_attributes[0].host +} + +output "k8s-client-certificate" { + value = ovh_cloud_project_kube.this.kubeconfig_attributes[0].client_certificate + sensitive = true +} + +output "k8s-client-key" { + value = ovh_cloud_project_kube.this.kubeconfig_attributes[0].client_key + sensitive = true +} + +output "k8s-ca-certificate" { + value = ovh_cloud_project_kube.mycluster.kubeconfig_attributes[0].cluster_ca_certificate + sensitive = true +} -- GitLab From 17672424acd2d34ce89237328578ad15eb2db642 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 28 Mar 2024 16:11:27 +0100 Subject: [PATCH 45/51] fixed typo in k8s outputsw --- k8s/4-k8s-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/4-k8s-outputs.tf b/k8s/4-k8s-outputs.tf index 6485f7e..aa1555c 100644 --- a/k8s/4-k8s-outputs.tf +++ b/k8s/4-k8s-outputs.tf @@ -18,6 +18,6 @@ output "k8s-client-key" { } output "k8s-ca-certificate" { - value = ovh_cloud_project_kube.mycluster.kubeconfig_attributes[0].cluster_ca_certificate + value = ovh_cloud_project_kube.this.kubeconfig_attributes[0].cluster_ca_certificate sensitive = true } -- GitLab From 7fe90e0d3e2f19ba30e25fcc0bced7f7a2abb25d Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 28 Mar 2024 16:15:35 +0100 Subject: [PATCH 46/51] fixed typo in output name --- k8s/4-k8s-outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/4-k8s-outputs.tf b/k8s/4-k8s-outputs.tf index aa1555c..e936dd6 100644 --- a/k8s/4-k8s-outputs.tf +++ b/k8s/4-k8s-outputs.tf @@ -17,7 +17,7 @@ output "k8s-client-key" { sensitive = true } -output "k8s-ca-certificate" { +output "k8s-client-ca-certificate" { value = ovh_cloud_project_kube.this.kubeconfig_attributes[0].cluster_ca_certificate sensitive = true } -- GitLab From 226cf187fed0244e394f32b1cee18952dfac6a8e Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 28 Mar 2024 16:17:17 +0100 Subject: [PATCH 47/51] changed helm variable --- helm/3-helm-variables.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/3-helm-variables.tf b/helm/3-helm-variables.tf index a0a6ac2..b2db3d5 100644 --- a/helm/3-helm-variables.tf +++ b/helm/3-helm-variables.tf @@ -13,7 +13,7 @@ variable "helm-client-key" { type = string } -variable "helm-ca-certificate" { +variable "helm-client-ca-certificate" { description = "k8s cluster ca-certificate" type = string } -- GitLab From d55689f9c9a478af2e9ee0d0501eb717a7f7c5b0 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 28 Mar 2024 16:23:09 +0100 Subject: [PATCH 48/51] added ovh version --- helm/0-helm-versions.tf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/helm/0-helm-versions.tf b/helm/0-helm-versions.tf index c8859f3..79b64a5 100644 --- a/helm/0-helm-versions.tf +++ b/helm/0-helm-versions.tf @@ -5,5 +5,9 @@ terraform { source = "hashicorp/helm" version = "~>2.0" } + ovh = { + source = "ovh/ovh" + version = "~>0.40" + } } } -- GitLab From c8e774a02c2f866b2083c9ac99e9ce8a2d6eefac Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 28 Mar 2024 16:24:38 +0100 Subject: [PATCH 49/51] another typo in variables --- helm/1-helm-provider.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/1-helm-provider.tf b/helm/1-helm-provider.tf index 038683e..e480e50 100644 --- a/helm/1-helm-provider.tf +++ b/helm/1-helm-provider.tf @@ -3,6 +3,6 @@ provider "helm" { host = var.helm-host client_certificate = base64decode(var.helm-client-certificate) client_key = base64decode(var.helm-client-key) - cluster_ca_certificate = base64decode(var.helm-ca-certificate) + cluster_ca_certificate = base64decode(var.helm-client-ca-certificate) } } -- GitLab From a7e3388d3cff45061fccb2508d8c9fc7ef373483 Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 28 Mar 2024 16:28:59 +0100 Subject: [PATCH 50/51] decode in infrastructurelive project --- helm/1-helm-provider.tf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/1-helm-provider.tf b/helm/1-helm-provider.tf index e480e50..37dfbc4 100644 --- a/helm/1-helm-provider.tf +++ b/helm/1-helm-provider.tf @@ -1,8 +1,8 @@ provider "helm" { kubernetes { host = var.helm-host - client_certificate = base64decode(var.helm-client-certificate) - client_key = base64decode(var.helm-client-key) - cluster_ca_certificate = base64decode(var.helm-client-ca-certificate) + client_certificate = var.helm-client-certificate + client_key = var.helm-client-key + cluster_ca_certificate = var.helm-client-ca-certificate } } -- GitLab From 90a9af08e89b057a74adc2d4d5336ec253460f2c Mon Sep 17 00:00:00 2001 From: "david.parimucha@t-systems.com" <david.parimucha@t-systems.com> Date: Thu, 28 Mar 2024 16:55:48 +0100 Subject: [PATCH 51/51] k8s host output put to sensitive --- k8s/4-k8s-outputs.tf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/k8s/4-k8s-outputs.tf b/k8s/4-k8s-outputs.tf index e936dd6..d66f531 100644 --- a/k8s/4-k8s-outputs.tf +++ b/k8s/4-k8s-outputs.tf @@ -4,7 +4,8 @@ output "k8s-kubeconfig" { } output "k8s-host" { - value = ovh_cloud_project_kube.this.kubeconfig_attributes[0].host + value = ovh_cloud_project_kube.this.kubeconfig_attributes[0].host + sensitive = true } output "k8s-client-certificate" { -- GitLab