mirror of https://gerrit.hackerspace.pl/hscloud
74 lines
2.2 KiB
Plaintext
74 lines
2.2 KiB
Plaintext
local kube = import '../../../kube/kube.libsonnet';
|
|
{
|
|
local annoyatron = self,
|
|
local cfg = self.cfg,
|
|
cfg:: {
|
|
image: "derq3k/card10-annoyatron:latest",
|
|
domain: "annoyatron-prod.q3k.org",
|
|
},
|
|
|
|
deploy: kube.Deployment("annoyatron") {
|
|
metadata+: {
|
|
namespace: "q3k",
|
|
},
|
|
spec+: {
|
|
template+: {
|
|
spec+: {
|
|
containers_: {
|
|
annoyatron: kube.Container("annoyatron") {
|
|
image: cfg.image,
|
|
env_: {
|
|
TOKEN: {
|
|
secretKeyRef: { name: "annoyatron-token", key: "token" },
|
|
},
|
|
},
|
|
command: [
|
|
"/app/annoyatron",
|
|
"-token=$(TOKEN)",
|
|
],
|
|
ports_: {
|
|
client: { containerPort: 8080 },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
svc: kube.Service("annoyatron") {
|
|
metadata+: {
|
|
namespace: "q3k",
|
|
},
|
|
target_pod:: annoyatron.deploy.spec.template,
|
|
spec+: {
|
|
ports: [
|
|
{ name: "client", port: 8080, targetPort: 8080, protocol: "TCP" },
|
|
],
|
|
},
|
|
},
|
|
ingress: kube.Ingress("annoyatron") {
|
|
metadata+: {
|
|
namespace: "q3k",
|
|
annotations+: {
|
|
"kubernetes.io/tls-acme": "true",
|
|
"certmanager.k8s.io/cluster-issuer": "letsencrypt-prod",
|
|
},
|
|
},
|
|
spec+: {
|
|
tls: [
|
|
{ hosts: [cfg.domain], secretName: "annoyatron-tls" },
|
|
],
|
|
rules: [
|
|
{
|
|
host: cfg.domain,
|
|
http: {
|
|
paths: [
|
|
{ path: "/", backend: annoyatron.svc.name_port },
|
|
],
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|