Skip to content

Commit

Permalink
Separate domains, add dyndns annotation
Browse files Browse the repository at this point in the history
  • Loading branch information
malcolmholmes committed Apr 9, 2020
1 parent d7de330 commit 54f981a
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions wordpress/ingress.libsonnet
Expand Up @@ -3,36 +3,42 @@ local k = import 'ksonnet-util/kausal.libsonnet';
{
local ingress = k.extensions.v1beta1.ingress,

withIngress(domains=[], extraDomains=[]):: {
addIngress(name, domains=[], extraDomains=[], zone=null, domain='', service='')::

local serviceName = if service == '' then name else service;

local name = super.config.name,
local domainlist = (if std.length(domains) == 0 then
[ super.config.domain, 'www.%s' % super.config.domain]
[ domain, 'www.%s' % domain]
else domains
) + extraDomains,
) + extraDomains;

local rule(dom) = ingress.mixin.specType.rulesType.mixin.http.withPaths(
ingress.mixin.spec.rulesType.mixin.httpType.pathsType.withPath('/')
+ ingress.mixin.specType.mixin.backend.withServiceName(name)
+ ingress.mixin.specType.mixin.backend.withServiceName(serviceName)
+ ingress.mixin.specType.mixin.backend.withServicePort(80))
+ ingress.mixin.spec.rulesType.withHost(dom)
,
;

ingress: ingress.new()
ingress.new()
+ ingress.mixin.metadata.withName(name)
+ ingress.mixin.spec.withTls({hosts: domainlist, secretName: name})
+ ingress.mixin.metadata.withAnnotationsMixin({
'kubernetes.io/tls-acme': 'true',
'kubernetes.io/ingress.class': 'nginx',
'nginx.ingress.kubernetes.io/affinity-mode': 'persistent',
[if zone != null then 'odoko.com/dyn-dns-zone' else null]: zone,
})
+ ingress.mixin.spec.backend.mixinInstance({serviceName: name, servicePort: 80})
+ ingress.mixin.spec.backend.mixinInstance({serviceName: serviceName, servicePort: 80})
+ ingress.mixin.spec.withRules(
[
rule(dom)
for dom in domainlist
]
)
,
}

withIngress(domains=[], extraDomains=[], zone=null):: {
local name = super.config.name,
ingress: $.addIngress(name, domains, extraDomains, zone, domain = super.config.domain),
},
}

0 comments on commit 54f981a

Please sign in to comment.