hscloud/personal/vibe/vibe97/prod.jsonnet

43 lines
907 B
Plaintext

local kube = import '../../../kube/hscloud.libsonnet';
{
local top = self,
local cfg = top.cfg,
cfg:: {
image: 'registry.k0.hswaw.net/vibe/vibe97:20231215220252',
name: 'vibe97',
namespace: 'personal-vibe',
domain: 'vibe97.vibe.hscloud.ovh',
},
// local ns = kube.Namespace(),
local ns = kube.Namespace(cfg.namespace),
deployment: ns.Contain(kube.Deployment(cfg.name)) {
spec+: {
template+: {
spec+: {
containers_: {
default: kube.Container('default') {
image: cfg.image,
ports_: {
http: { containerPort: 8080 },
},
},
},
},
},
},
},
service: ns.Contain(kube.Service(cfg.name)) {
target:: top.deployment,
},
ingress: ns.Contain(kube.SimpleIngress(cfg.name)) {
hosts:: [cfg.domain],
target:: top.service,
},
}