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 }