@@ -3,6 +3,8 @@ package test
3
3
import (
4
4
"encoding/json"
5
5
"fmt"
6
+ "html/template"
7
+ "os"
6
8
"os/exec"
7
9
"path/filepath"
8
10
"strings"
@@ -17,6 +19,36 @@ import (
17
19
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
18
20
)
19
21
22
+ var traefikIngress = `
23
+ ---
24
+ apiVersion: traefik.containo.us/v1alpha1
25
+ kind: IngressRoute
26
+ metadata:
27
+ name: platform
28
+ spec:
29
+ entryPoints:
30
+ - websecure
31
+ routes:
32
+ - match: Host('keycloak.opentdf.local')
33
+ kind: Rule
34
+ services:
35
+ - name: platform-keycloak
36
+ namespace: {{ .Namespace }}
37
+ port: 80
38
+ scheme: http
39
+ passHostHeader: true
40
+ - match: Host('platform.opentdf.local')
41
+ kind: Rule
42
+ services:
43
+ - name: opentdf-platform
44
+ namespace: {{ .Namespace }}
45
+ port: 9000
46
+ scheme: h2c
47
+ passHostHeader: true
48
+ tls:
49
+ secretName: platform-tls
50
+ `
51
+
20
52
type PlatformChartIntegrationSuite struct {
21
53
suite.Suite
22
54
chartPath string
@@ -126,6 +158,13 @@ func (suite *PlatformChartIntegrationSuite) TestBasicDeployment() {
126
158
ingresses := k8s .ListIngresses (suite .T (), kubectlOptions , metav1.ListOptions {})
127
159
suite .Require ().Len (ingresses , 0 )
128
160
161
+ ingFile , err := os .Create ("traefik.yaml" )
162
+ suite .Require ().NoError (err )
163
+ ingTmpl , err := template .New ("traefik" ).Parse (traefikIngress )
164
+ suite .Require ().NoError (err )
165
+ err = ingTmpl .Execute (ingFile , map [string ]string {"Namespace" : namespaceName })
166
+ suite .Require ().NoError (err )
167
+
129
168
traefikIngressCfg , err := filepath .Abs ("traefik.yaml" )
130
169
suite .Require ().NoError (err )
131
170
0 commit comments