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