77 lines
2.0 KiB
HCL
77 lines
2.0 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-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" "guidelines-deploymentagent-https-with-termination" {
|
|
load_balancer_id = hcloud_load_balancer.guidelines.id
|
|
protocol = "http"
|
|
listen_port = 9443
|
|
destination_port = 5000
|
|
|
|
http {
|
|
sticky_sessions = false
|
|
#certificates = []
|
|
#redirect_http = true
|
|
}
|
|
|
|
health_check {
|
|
protocol = "http"
|
|
port = 5000
|
|
interval = 15
|
|
timeout = 10
|
|
http {
|
|
path = "/status"
|
|
status_codes = [ 401 ]
|
|
tls = false
|
|
}
|
|
}
|
|
// TODO: Add health check
|
|
}
|