Files
kubernetes/hudctrl/hudctrl.yaml
Dustin C. Hatch 8440c2a486 hudctrl: Update for v0.2.0
Version 0.2.0 of the HUD Controller is stateful.  It requires writable
storage for its configuration file, as it updates the file when display
settings and screen URLs are changed.

While we're making changes, let's move it to its own namespace.
2022-12-18 16:26:07 -06:00

114 lines
2.4 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: hudctrl
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: hudctrl
namespace: hudctrl
labels:
app.kubernetes.io/component: hudctrl
app.kubernetes.io/name: hudctrl
app.kubernetes.io/instance: hudctrl
app.kubernetes.io/part-of: hudctrl
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Mi
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app.kubernetes.io/component: hudctrl
app.kubernetes.io/name: hudctrl
app.kubernetes.io/instance: hudctrl
app.kubernetes.io/part-of: hudctrl
name: hudctrl
namespace: hudctrl
spec:
serviceName: hudctrl
selector:
matchLabels:
app.kubernetes.io/component: hudctrl
app.kubernetes.io/name: hudctrl
app.kubernetes.io/instance: hudctrl
template:
metadata:
labels:
app.kubernetes.io/component: hudctrl
app.kubernetes.io/name: hudctrl
app.kubernetes.io/instance: hudctrl
spec:
containers:
- image: git.pyrocufflink.blue/containerimages/hudctrl:latest
name: hudctrl
ports:
- containerPort: 80
name: http
env:
- name: HUDCTRL_CONFIG_PATH
value: /run/hudctrl/config.json
volumeMounts:
- mountPath: /run/hudctrl
name: config-vol
volumes:
- name: config-vol
persistentVolumeClaim:
claimName: hudctrl
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/component: hudctrl
app.kubernetes.io/name: hudctrl
app.kubernetes.io/instance: hudctrl
app.kubernetes.io/part-of: hudctrl
name: hudctrl
namespace: hudctrl
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app.kubernetes.io/component: hudctrl
app.kubernetes.io/instance: hudctrl
app.kubernetes.io/name: hudctrl
status:
loadBalancer: {}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hudctrl
namespace: hudctrl
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
tls:
- hosts:
- hudctrl.pyrocufflink.blue
secretName: pyrocufflink-cert
rules:
- host: hudctrl.pyrocufflink.blue
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hudctrl
port:
number: 80