zivildienst/infrastructure/modules/ingress/load_balancers.tf

65 lines
1.8 KiB
HCL

resource "hcloud_load_balancer" "guidelines" {
name = "guidelines-${data.terraform_remote_state.environment.outputs.environment_name}"
load_balancer_type = "lb11"
location = data.terraform_remote_state.environment.outputs.dc_default_id
labels = {
environment = data.terraform_remote_state.environment.outputs.environment_name
service = "guidelines"
}
}
resource "hcloud_load_balancer_target" "guidelines" {
type = "label_selector"
load_balancer_id = hcloud_load_balancer.guidelines.id
label_selector = "lb=guidelines-${data.terraform_remote_state.environment.outputs.environment_name}"
}
resource "hcloud_load_balancer_network" "guidelines_primary" {
load_balancer_id = hcloud_load_balancer.guidelines.id
network_id = data.terraform_remote_state.environment.outputs.network_primary_id
ip = "10.0.1.11"
}
resource "hcloud_load_balancer_service" "guidelines-http-to-https-with-termination" {
load_balancer_id = hcloud_load_balancer.guidelines.id
protocol = "http"
listen_port = 443
destination_port = 80
http {
sticky_sessions = false
#certificates = []
#redirect_http = true
}
// TODO: Add health check
}
resource "hcloud_load_balancer_service" "guidelines-kibana-http-to-https-with-termination" {
load_balancer_id = hcloud_load_balancer.guidelines.id
protocol = "http"
listen_port = 8443
destination_port = 5601
http {
sticky_sessions = false
#certificates = []
#redirect_http = true
}
// TODO: Add health check
}
resource "hcloud_load_balancer_service" "vault-http-to-https-with-termination" {
load_balancer_id = hcloud_load_balancer.guidelines.id
protocol = "http"
listen_port = 9443
destination_port = 8200
http {
sticky_sessions = false
#certificates = []
#redirect_http = true
}
// TODO: Add health check
}