@@ -8,11 +8,11 @@ import (
8
8
9
9
func TestAccScalewayLbCertificate_Basic (t * testing.T ) {
10
10
/**
11
- * Note regarding the usage of xip.io
12
- * See the discussion on https://github.com/terraform-providers/terraform-provider-scaleway/pull/396
11
+ * See the discussion on https://github.com/scaleway/terraform-provider-scaleway/pull/396
13
12
* Long story short, scaleway API will not permit you to request a certificate in case common name is not pointed
14
13
* to the load balancer IP (which is unknown before creating it). In production, this can be overcome by introducing
15
- * an additional step which creates a DNS record and depending on it, but for test purposes, xip.io is an ideal solution.
14
+ * an additional step which creates a DNS record and depending on it
15
+ * We use a DNS name like: 195-154-70-235.lb.fr-par.scw.cloud
16
16
*/
17
17
tt := NewTestTools (t )
18
18
defer tt .Cleanup ()
@@ -23,17 +23,20 @@ func TestAccScalewayLbCertificate_Basic(t *testing.T) {
23
23
Steps : []resource.TestStep {
24
24
{
25
25
Config : `
26
- resource scaleway_lb_ip ip01 {}
26
+ resource scaleway_lb_ip ip01 {
27
+ }
28
+
27
29
resource scaleway_lb lb01 {
28
30
ip_id = scaleway_lb_ip.ip01.id
29
31
name = "test-lb"
30
32
type = "lb-s"
31
33
}
34
+
32
35
resource scaleway_lb_certificate cert01 {
33
36
lb_id = scaleway_lb.lb01.id
34
37
name = "test-cert"
35
38
letsencrypt {
36
- common_name = "${scaleway_lb.lb01.ip_address}.xip.io "
39
+ common_name = "${replace(scaleway_lb_ip.ip01.ip_address,".", "-")}.lb.${ scaleway_lb.lb01.region}.scw.cloud "
37
40
}
38
41
}
39
42
` ,
@@ -44,18 +47,21 @@ func TestAccScalewayLbCertificate_Basic(t *testing.T) {
44
47
},
45
48
{
46
49
Config : `
47
- resource scaleway_lb_ip ip01 {}
50
+ resource scaleway_lb_ip ip01 {
51
+ }
52
+
48
53
resource scaleway_lb lb01 {
49
- ip_id = scaleway_lb_ip.ip01.id
50
- name = "test-lb"
51
- type = "lb-s"
54
+ ip_id = scaleway_lb_ip.ip01.id
55
+ name = "test-lb"
56
+ type = "lb-s"
52
57
}
58
+
53
59
resource scaleway_lb_certificate cert01 {
54
60
lb_id = scaleway_lb.lb01.id
55
61
name = "test-cert-new"
56
- letsencrypt {
57
- common_name = "${scaleway_lb.lb01.ip_address}.xip.io "
58
- }
62
+ letsencrypt {
63
+ common_name = "${replace( scaleway_lb.lb01.ip_address, ".", "-")}.lb.${scaleway_lb.lb01.region}.scw.cloud "
64
+ }
59
65
}
60
66
` ,
61
67
Check : resource .ComposeTestCheckFunc (
@@ -64,24 +70,27 @@ func TestAccScalewayLbCertificate_Basic(t *testing.T) {
64
70
},
65
71
{
66
72
Config : `
67
- resource scaleway_lb_ip ip01 {}
73
+ resource scaleway_lb_ip ip01 {
74
+ }
75
+
68
76
resource scaleway_lb lb01 {
69
77
ip_id = scaleway_lb_ip.ip01.id
70
78
name = "test-lb"
71
79
type = "lb-s"
72
80
}
81
+
73
82
resource scaleway_lb_certificate cert01 {
74
83
lb_id = scaleway_lb.lb01.id
75
84
name = "test-cert"
76
- letsencrypt {
77
- common_name = "${scaleway_lb.lb01.ip_address}.xip.io "
85
+ letsencrypt {
86
+ common_name = "${replace( scaleway_lb.lb01.ip_address, ".", "-")}.lb.${scaleway_lb.lb01.region}.scw.cloud "
78
87
subject_alternative_name = [
79
- "sub1.${scaleway_lb.lb01.ip_address}.xip.io ",
80
- "sub2.${scaleway_lb.lb01.ip_address}.xip.io "
88
+ "sub1.${replace( scaleway_lb.lb01.ip_address, ".", "-")}.lb.${scaleway_lb.lb01.region}.scw.cloud ",
89
+ "sub2.${replace( scaleway_lb.lb01.ip_address, ".", "-")}.lb.${scaleway_lb.lb01.region}.scw.cloud "
81
90
]
82
- }
91
+ }
83
92
}
84
- ` ,
93
+ ` ,
85
94
Check : resource .ComposeTestCheckFunc (
86
95
resource .TestCheckResourceAttr ("scaleway_lb_certificate.cert01" , "name" , "test-cert" ),
87
96
resource .TestCheckResourceAttr ("scaleway_lb_certificate.cert01" , "letsencrypt.#" , "1" ),
@@ -90,12 +99,15 @@ func TestAccScalewayLbCertificate_Basic(t *testing.T) {
90
99
},
91
100
{
92
101
Config : `
93
- resource scaleway_lb_ip ip01 {}
102
+ resource scaleway_lb_ip ip01 {
103
+ }
104
+
94
105
resource scaleway_lb lb01 {
95
106
ip_id = scaleway_lb_ip.ip01.id
96
107
name = "test-lb"
97
108
type = "lb-s"
98
109
}
110
+
99
111
resource scaleway_lb_certificate cert01 {
100
112
lb_id = scaleway_lb.lb01.id
101
113
name = "test-custom-cert"
0 commit comments