mirror of
https://gerrit.hackerspace.pl/hscloud
synced 2024-10-18 05:27:44 +00:00
radex
d45584aa6d
Rename `target_service` to `target` to mirror Service's `target`; rename `extra_paths` to `extraPaths` to follow the camelCase convention used everywhere except for a few places in kube.upstream (assumed to be a mistake) Change-Id: Icfcb70ef889e3359bf0391c465034817f4b70cce Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1809 Reviewed-by: q3k <q3k@hackerspace.pl>
34 lines
1.1 KiB
Text
34 lines
1.1 KiB
Text
// HSWAW / hscloud / k0-specific extensions to kube.libsonnet
|
|
|
|
local kube = import "kube.libsonnet";
|
|
|
|
kube {
|
|
// Basic Ingress config pointing `hosts` to the `target` service, with HTTPS set up
|
|
SimpleIngress(name): kube.Ingress(name) {
|
|
local ingress = self,
|
|
hosts:: error "SimpleIngress.hosts must be defined",
|
|
target:: error "SimpleIngress.target service must be defined",
|
|
extraPaths:: [],
|
|
metadata+: {
|
|
annotations+: {
|
|
'kubernetes.io/tls-acme': 'true',
|
|
'cert-manager.io/cluster-issuer': 'letsencrypt-prod',
|
|
'nginx.ingress.kubernetes.io/proxy-body-size': '0',
|
|
},
|
|
},
|
|
spec+: {
|
|
tls: [{ hosts: ingress.hosts, secretName: name + '-tls' }],
|
|
rules: [
|
|
{
|
|
host: host,
|
|
http: {
|
|
paths: [
|
|
{ path: '/', backend: ingress.target.name_port },
|
|
] + ingress.extraPaths,
|
|
},
|
|
}
|
|
for host in ingress.hosts
|
|
],
|
|
},
|
|
},
|
|
}
|