Add support for LB in upcloud private zone (#11260)

pull/11414/head
David 2024-08-01 06:58:30 +02:00 committed by GitHub
parent 8d497b49a6
commit 2799f11475
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 29 additions and 4 deletions

View File

@ -1,5 +1,11 @@
# See: https://developers.upcloud.com/1.3/5-zones/ # See: https://developers.upcloud.com/1.3/5-zones/
zone = "fi-hel1" zone = "fi-hel1"
private_cloud = false
# Only used if private_cloud = true, public zone equivalent
# For example use finnish public zone for finnish private zone
public_zone = "fi-hel2"
username = "ubuntu" username = "ubuntu"
# Prefix to use for all resources to separate them from other resources # Prefix to use for all resources to separate them from other resources

View File

@ -13,6 +13,8 @@ module "kubernetes" {
prefix = var.prefix prefix = var.prefix
zone = var.zone zone = var.zone
private_cloud = var.private_cloud
public_zone = var.public_zone
template_name = var.template_name template_name = var.template_name
username = var.username username = var.username

View File

@ -515,7 +515,7 @@ resource "upcloud_loadbalancer" "lb" {
configured_status = "started" configured_status = "started"
name = "${local.resource-prefix}lb" name = "${local.resource-prefix}lb"
plan = var.loadbalancer_plan plan = var.loadbalancer_plan
zone = var.zone zone = var.private_cloud ? var.public_zone : var.zone
networks { networks {
name = "Private-Net" name = "Private-Net"
type = "private" type = "private"

View File

@ -6,6 +6,14 @@ variable "zone" {
type = string type = string
} }
variable "private_cloud" {
type = bool
}
variable "public_zone" {
type = string
}
variable "template_name" {} variable "template_name" {}
variable "username" {} variable "username" {}

View File

@ -9,6 +9,15 @@ variable "zone" {
description = "The zone where to run the cluster" description = "The zone where to run the cluster"
} }
variable "private_cloud" {
description = "Whether the environment is in the private cloud region"
default = false
}
variable "public_zone" {
description = "The public zone equivalent if the cluster is running in a private cloud zone"
}
variable "template_name" { variable "template_name" {
description = "Block describing the preconfigured operating system" description = "Block describing the preconfigured operating system"
} }