refactor: simplify tls handling by always redirecting

This commit is contained in:
Jose Diaz-Gonzalez
2024-02-11 07:37:47 -05:00
parent 541eb1a1bc
commit bfccf60a37
4 changed files with 18 additions and 22 deletions

View File

@@ -161,12 +161,11 @@ type ProcessCron struct {
}
type ProcessPortMap struct {
ContainerPort int32 `yaml:"container_port"`
HostPort int32 `yaml:"host_port"`
Scheme string `yaml:"scheme"`
Protocol PortmapProtocol `yaml:"protocol"`
Name string `yaml:"name"`
RedirectToHttps bool `yaml:"redirect_to_https"`
ContainerPort int32 `yaml:"container_port"`
HostPort int32 `yaml:"host_port"`
Scheme string `yaml:"scheme"`
Protocol PortmapProtocol `yaml:"protocol"`
Name string `yaml:"name"`
}
type PortmapProtocol string

View File

@@ -26,16 +26,15 @@ metadata:
namespace: {{ $.Values.global.namespace }}
spec:
entryPoints:
{{- if and $config.web.tls.enabled (eq $port_map.scheme "https") }}
{{- if $config.web.tls.enabled }}
- websecure
{{- else }}
- web
{{- end }}
- web
routes:
{{- range $ddx, $domain := $config.web.domains }}
- kind: Rule
match: Host(`{{ $domain }}`)
{{- if and $config.web.tls.enabled (and (eq $port_map.scheme "http") $port_map.redirect_to_https) }}
{{- if $config.web.tls.enabled }}
middlewares:
- name: {{ $.Values.global.app_name}}-{{ $processName }}-redirect-to-https
namespace: {{ $.Values.global.namespace }}
@@ -47,7 +46,7 @@ spec:
port: {{ $port_map.name }}
scheme: http
{{- end }}
{{- if and $config.web.tls.enabled (eq $port_map.scheme "https") }}
{{- if $config.web.tls.enabled }}
tls:
secretName: tls-{{ $.Values.global.app_name }}-{{ $processName }}
{{- end }}

View File

@@ -18,6 +18,9 @@ metadata:
{{ $k }}: {{ $v | quote }}
{{- end }}
{{- end }}
{{- if $config.web.tls.enabled }}
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
{{- end }}
labels:
app.kubernetes.io/instance: {{ $.Values.global.app_name }}-{{ $processName }}
app.kubernetes.io/name: {{ $processName }}
@@ -26,7 +29,7 @@ metadata:
namespace: {{ $.Values.global.namespace }}
spec:
ingressClassName: nginx
{{- if and $config.web.tls.enabled (eq $port_map.scheme "https") }}
{{- if $config.web.tls.enabled }}
tls:
- hosts:
{{- range $ddx, $domain := $config.web.domains }}

View File

@@ -417,17 +417,12 @@ func TriggerSchedulerDeploy(scheduler string, appName string, imageTag string) e
protocol = PortmapProtocol_UDP
}
redirecToHttps := false
if _, ok := portMaps[fmt.Sprintf("https-443-%d", portMap.ContainerPort)]; ok && portMap.Scheme == "http" {
redirecToHttps = true
}
processValues.Web.PortMaps = append(processValues.Web.PortMaps, ProcessPortMap{
ContainerPort: portMap.ContainerPort,
HostPort: portMap.HostPort,
Name: portMap.String(),
Protocol: protocol,
RedirectToHttps: redirecToHttps,
Scheme: portMap.Scheme,
ContainerPort: portMap.ContainerPort,
HostPort: portMap.HostPort,
Name: portMap.String(),
Protocol: protocol,
Scheme: portMap.Scheme,
})
}