Skip to content

Instantly share code, notes, and snippets.

@apeyroux
Created November 5, 2022 17:01
Show Gist options
  • Save apeyroux/a9f4646e7e682c672abb0e63b9ac6574 to your computer and use it in GitHub Desktop.
Save apeyroux/a9f4646e7e682c672abb0e63b9ac6574 to your computer and use it in GitHub Desktop.
Sample LB with terraform
# SSL & LB PodamNG
# https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/keymanager_container_v1
resource "openstack_keymanager_secret_v1" "certificate_1" {
name = "certificate"
payload = "${file("cert.pem")}"
secret_type = "certificate"
payload_content_type = "text/plain"
}
resource "openstack_keymanager_secret_v1" "private_key_1" {
name = "private_key"
payload = "${file("cert-key.pem")}"
secret_type = "private"
payload_content_type = "text/plain"
}
resource "openstack_keymanager_secret_v1" "intermediate_1" {
name = "intermediate"
payload = "${file("intermediate-ca.pem")}"
secret_type = "certificate"
payload_content_type = "text/plain"
}
resource "openstack_keymanager_container_v1" "tls_1" {
name = "tls"
type = "certificate"
secret_refs {
name = "certificate"
secret_ref = "${openstack_keymanager_secret_v1.certificate_1.secret_ref}"
}
secret_refs {
name = "private_key"
secret_ref = "${openstack_keymanager_secret_v1.private_key_1.secret_ref}"
}
secret_refs {
name = "intermediates"
secret_ref = "${openstack_keymanager_secret_v1.intermediate_1.secret_ref}"
}
}
data "openstack_networking_subnet_v2" "subnet_1" {
name = "my-subnet"
}
resource "openstack_lb_loadbalancer_v2" "lb_1" {
name = "loadbalancer"
vip_subnet_id = "${data.openstack_networking_subnet_v2.subnet_1.id}"
}
resource "openstack_lb_listener_v2" "listener_1" {
name = "https"
protocol = "TERMINATED_HTTPS"
protocol_port = 443
loadbalancer_id = "${openstack_lb_loadbalancer_v2.lb_1.id}"
default_tls_container_ref = "${openstack_keymanager_container_v1.tls_1.container_ref}"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment