forked from hswaw/hscloud
personal/q3k/annoyatron: init
Change-Id: I130ed08b753cad95114df48328206adc8afeb0c1
This commit is contained in:
parent
7fb4acb690
commit
0a275da86d
1 changed files with 73 additions and 0 deletions
73
personal/q3k/annoyatron/prod.jsonnet
Normal file
73
personal/q3k/annoyatron/prod.jsonnet
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
local kube = import '../../../kube/kube.libsonnet';
|
||||||
|
{
|
||||||
|
local annoyatron = self,
|
||||||
|
local cfg = self.cfg,
|
||||||
|
cfg:: {
|
||||||
|
image: "registry.k0.hswaw.net/q3k/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 },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
Loading…
Reference in a new issue