Skip to content

Commit 1e461a7

Browse files
authored
Adds load balancer examples (#157)
1 parent 51519b7 commit 1e461a7

File tree

7 files changed

+431
-6
lines changed

7 files changed

+431
-6
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ version:
3434
jq -r '.tag_name')\
3535
"/g' version.go
3636

37-
release: version test_acceptance
37+
release: clean version
3838
gox -output "./bin/{{.OS}}_{{.Arch}}/terraform-provider-baremetal"
3939

4040
zip:
Lines changed: 258 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,258 @@
1+
/*
2+
* This example demonstrates round robin load balancing behavior by creating two instances, a configured
3+
* vcn and a load balancer. The public IP of the load balancer is outputted after a successful run, curl
4+
* this address to see the hostname change as different instances handle the request.
5+
*
6+
* NOTE: The https listener is included for completeness but should not be expected to work,
7+
* it uses dummy certs.
8+
*/
9+
10+
variable "tenancy_ocid" {}
11+
variable "user_ocid" {}
12+
variable "fingerprint" {}
13+
variable "private_key_path" {}
14+
variable "compartment_ocid" {}
15+
16+
17+
provider "baremetal" {
18+
tenancy_ocid = "${var.tenancy_ocid}"
19+
user_ocid = "${var.user_ocid}"
20+
fingerprint = "${var.fingerprint}"
21+
private_key_path = "${var.private_key_path}"
22+
}
23+
24+
data "baremetal_identity_availability_domains" "ADs" {
25+
compartment_id = "${var.tenancy_ocid}"
26+
}
27+
28+
29+
/* Network */
30+
31+
resource "baremetal_core_virtual_network" "vcn1" {
32+
cidr_block = "10.1.0.0/16"
33+
compartment_id = "${var.compartment_ocid}"
34+
display_name = "vcn1"
35+
dns_label = "vcn1"
36+
}
37+
38+
resource "baremetal_core_subnet" "subnet1" {
39+
availability_domain = "${lookup(data.baremetal_identity_availability_domains.ADs.availability_domains[0],"name")}"
40+
cidr_block = "10.1.20.0/24"
41+
display_name = "subnet1"
42+
dns_label = "subnet1"
43+
security_list_ids = ["${baremetal_core_security_list.securitylist1.id}"]
44+
compartment_id = "${var.compartment_ocid}"
45+
vcn_id = "${baremetal_core_virtual_network.vcn1.id}"
46+
route_table_id = "${baremetal_core_route_table.routetable1.id}"
47+
48+
provisioner "local-exec" {
49+
command = "sleep 5"
50+
}
51+
}
52+
53+
resource "baremetal_core_subnet" "subnet2" {
54+
availability_domain = "${lookup(data.baremetal_identity_availability_domains.ADs.availability_domains[1],"name")}"
55+
cidr_block = "10.1.21.0/24"
56+
display_name = "subnet2"
57+
dns_label = "subnet2"
58+
security_list_ids = ["${baremetal_core_security_list.securitylist1.id}"]
59+
compartment_id = "${var.compartment_ocid}"
60+
vcn_id = "${baremetal_core_virtual_network.vcn1.id}"
61+
route_table_id = "${baremetal_core_route_table.routetable1.id}"
62+
63+
provisioner "local-exec" {
64+
command = "sleep 5"
65+
}
66+
}
67+
68+
resource "baremetal_core_internet_gateway" "internetgateway1" {
69+
compartment_id = "${var.compartment_ocid}"
70+
display_name = "internetgateway1"
71+
vcn_id = "${baremetal_core_virtual_network.vcn1.id}"
72+
}
73+
74+
resource "baremetal_core_route_table" "routetable1" {
75+
compartment_id = "${var.compartment_ocid}"
76+
vcn_id = "${baremetal_core_virtual_network.vcn1.id}"
77+
display_name = "routetable1"
78+
route_rules {
79+
cidr_block = "0.0.0.0/0"
80+
network_entity_id = "${baremetal_core_internet_gateway.internetgateway1.id}"
81+
}
82+
}
83+
84+
resource "baremetal_core_security_list" "securitylist1" {
85+
display_name = "public"
86+
compartment_id = "${baremetal_core_virtual_network.vcn1.compartment_id}"
87+
vcn_id = "${baremetal_core_virtual_network.vcn1.id}"
88+
89+
egress_security_rules = [{
90+
protocol = "all"
91+
destination = "0.0.0.0/0"
92+
}]
93+
94+
ingress_security_rules = [
95+
{
96+
protocol = "6"
97+
source = "0.0.0.0/0"
98+
99+
tcp_options {
100+
"min" = 80
101+
"max" = 80
102+
}
103+
},
104+
{
105+
protocol = "6"
106+
source = "0.0.0.0/0"
107+
108+
tcp_options {
109+
"min" = 443
110+
"max" = 443
111+
}
112+
},
113+
]
114+
}
115+
116+
117+
/* Instances */
118+
119+
data "baremetal_core_images" "image-list" {
120+
compartment_id = "${var.compartment_ocid}"
121+
operating_system = "Oracle Linux"
122+
operating_system_version = "7.3"
123+
}
124+
125+
resource "baremetal_core_instance" "instance1" {
126+
availability_domain = "${lookup(data.baremetal_identity_availability_domains.ADs.availability_domains[0],"name")}"
127+
compartment_id = "${var.compartment_ocid}"
128+
display_name = "be-instance1"
129+
image = "${lookup(data.baremetal_core_images.image-list.images[0], "id")}"
130+
shape = "VM.Standard1.2"
131+
subnet_id = "${baremetal_core_subnet.subnet1.id}"
132+
hostname_label = "be-instance1"
133+
metadata {
134+
user_data = "${base64encode(var.user-data)}"
135+
}
136+
}
137+
138+
resource "baremetal_core_instance" "instance2" {
139+
availability_domain = "${lookup(data.baremetal_identity_availability_domains.ADs.availability_domains[1],"name")}"
140+
compartment_id = "${var.compartment_ocid}"
141+
display_name = "be-instance2"
142+
image = "${lookup(data.baremetal_core_images.image-list.images[0], "id")}"
143+
shape = "VM.Standard1.2"
144+
subnet_id = "${baremetal_core_subnet.subnet2.id}"
145+
hostname_label = "be-instance2"
146+
metadata {
147+
user_data = "${base64encode(var.user-data)}"
148+
}
149+
}
150+
151+
variable "user-data" {
152+
default = <<EOF
153+
#!/bin/bash -x
154+
echo '################### webserver userdata begins #####################'
155+
touch ~opc/userdata.`date +%s`.start
156+
157+
# echo '########## yum update all ###############'
158+
# yum update -y
159+
160+
echo '########## basic webserver ##############'
161+
yum install -y httpd
162+
systemctl enable httpd.service
163+
systemctl start httpd.service
164+
echo '<html><head></head><body><pre><code>' > /var/www/html/index.html
165+
hostname >> /var/www/html/index.html
166+
echo '' >> /var/www/html/index.html
167+
cat /etc/os-release >> /var/www/html/index.html
168+
echo '</code></pre></body></html>' >> /var/www/html/index.html
169+
firewall-offline-cmd --add-service=http
170+
systemctl enable firewalld
171+
systemctl restart firewalld
172+
173+
touch ~opc/userdata.`date +%s`.finish
174+
echo '################### webserver userdata ends #######################'
175+
EOF
176+
}
177+
178+
179+
/* Load Balancer */
180+
181+
resource "baremetal_load_balancer" "lb1" {
182+
shape = "100Mbps"
183+
compartment_id = "${var.compartment_ocid}"
184+
subnet_ids = [
185+
"${baremetal_core_subnet.subnet1.id}",
186+
"${baremetal_core_subnet.subnet2.id}"
187+
]
188+
display_name = "lb1"
189+
}
190+
191+
resource "baremetal_load_balancer_backendset" "lb-bes1" {
192+
name = "lb-bes1"
193+
load_balancer_id = "${baremetal_load_balancer.lb1.id}"
194+
policy = "ROUND_ROBIN"
195+
196+
health_checker {
197+
port = "80"
198+
protocol = "HTTP"
199+
response_body_regex = ".*"
200+
url_path = "/"
201+
}
202+
}
203+
204+
resource "baremetal_load_balancer_certificate" "lb-cert1" {
205+
load_balancer_id = "${baremetal_load_balancer.lb1.id}"
206+
ca_certificate = "-----BEGIN CERTIFICATE-----\nMIIBNzCB4gIJAKtwJkxUgNpzMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAoTGElu\ndGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0xNzA0MTIyMTU3NTZaFw0xODA0MTIy\nMTU3NTZaMCMxITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDBcMA0G\nCSqGSIb3DQEBAQUAA0sAMEgCQQDlM8lz3BFJA6zBlsF63k9ajPVq3Q1WQoHQ3j35\n08DRKIfwqfV+CxL63W3dZrwL4TrjqorP5CQ36+I6OWALH2zVAgMBAAEwDQYJKoZI\nhvcNAQELBQADQQCEjHVQJoiiVpIIvDWF+4YDRReVuwzrvq2xduWw7CIsDWlYuGZT\nQKVY6tnTy2XpoUk0fqUvMB/M2HGQ1WqZGHs6\n-----END CERTIFICATE-----"
207+
certificate_name = "certificate1"
208+
private_key = "-----BEGIN RSA PRIVATE KEY-----\nMIIBOgIBAAJBAOUzyXPcEUkDrMGWwXreT1qM9WrdDVZCgdDePfnTwNEoh/Cp9X4L\nEvrdbd1mvAvhOuOqis/kJDfr4jo5YAsfbNUCAwEAAQJAJz8k4bfvJceBT2zXGIj0\noZa9d1z+qaSdwfwsNJkzzRyGkj/j8yv5FV7KNdSfsBbStlcuxUm4i9o5LXhIA+iQ\ngQIhAPzStAN8+Rz3dWKTjRWuCfy+Pwcmyjl3pkMPSiXzgSJlAiEA6BUZWHP0b542\nu8AizBT3b3xKr1AH2nkIx9OHq7F/QbECIHzqqpDypa8/QVuUZegpVrvvT/r7mn1s\nddS6cDtyJgLVAiEA1Z5OFQeuL2sekBRbMyP9WOW7zMBKakLL3TqL/3JCYxECIAkG\nl96uo1MjK/66X5zQXBG7F2DN2CbcYEz0r3c3vvfq\n-----END RSA PRIVATE KEY-----"
209+
public_certificate = "-----BEGIN CERTIFICATE-----\nMIIBNzCB4gIJAKtwJkxUgNpzMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAoTGElu\ndGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0xNzA0MTIyMTU3NTZaFw0xODA0MTIy\nMTU3NTZaMCMxITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDBcMA0G\nCSqGSIb3DQEBAQUAA0sAMEgCQQDlM8lz3BFJA6zBlsF63k9ajPVq3Q1WQoHQ3j35\n08DRKIfwqfV+CxL63W3dZrwL4TrjqorP5CQ36+I6OWALH2zVAgMBAAEwDQYJKoZI\nhvcNAQELBQADQQCEjHVQJoiiVpIIvDWF+4YDRReVuwzrvq2xduWw7CIsDWlYuGZT\nQKVY6tnTy2XpoUk0fqUvMB/M2HGQ1WqZGHs6\n-----END CERTIFICATE-----"
210+
}
211+
212+
resource "baremetal_load_balancer_listener" "lb-listener1" {
213+
load_balancer_id = "${baremetal_load_balancer.lb1.id}"
214+
name = "http"
215+
default_backend_set_name = "${baremetal_load_balancer_backendset.lb-bes1.id}"
216+
port = 80
217+
protocol = "HTTP"
218+
}
219+
220+
resource "baremetal_load_balancer_listener" "lb-listener2" {
221+
load_balancer_id = "${baremetal_load_balancer.lb1.id}"
222+
name = "https"
223+
default_backend_set_name = "${baremetal_load_balancer_backendset.lb-bes1.id}"
224+
port = 443
225+
protocol = "HTTP"
226+
227+
ssl_configuration {
228+
certificate_name = "${baremetal_load_balancer_certificate.lb-cert1.certificate_name}"
229+
verify_peer_certificate = false
230+
}
231+
}
232+
233+
resource "baremetal_load_balancer_backend" "lb-be1" {
234+
load_balancer_id = "${baremetal_load_balancer.lb1.id}"
235+
backendset_name = "${baremetal_load_balancer_backendset.lb-bes1.id}"
236+
ip_address = "${baremetal_core_instance.instance1.private_ip}"
237+
port = 80
238+
backup = false
239+
drain = false
240+
offline = false
241+
weight = 1
242+
}
243+
244+
resource "baremetal_load_balancer_backend" "lb-be2" {
245+
load_balancer_id = "${baremetal_load_balancer.lb1.id}"
246+
backendset_name = "${baremetal_load_balancer_backendset.lb-bes1.id}"
247+
ip_address = "${baremetal_core_instance.instance2.private_ip}"
248+
port = 80
249+
backup = false
250+
drain = false
251+
offline = false
252+
weight = 1
253+
}
254+
255+
256+
output "lb_public_ip" {
257+
value = ["${baremetal_load_balancer.lb1.ip_addresses}"]
258+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
-----BEGIN CERTIFICATE-----
2+
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
32+
nAFzUqwVqYdpKXoTjd0lQfvnYw==
33+
-----END CERTIFICATE-----
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-----BEGIN PRIVATE KEY-----
2+
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
51+
R9HgsyT08fQo2mljRWUsdkpeAyzKiw==
52+
-----END PRIVATE KEY-----

0 commit comments

Comments
 (0)