Files
kube/hackerspace/goredirect.yaml

84 lines
2.0 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: goredirect
spec:
replicas: 2
revisionHistoryLimit: 0
selector:
matchLabels:
app: goredirect
template:
metadata:
labels:
app: goredirect
spec:
containers:
- image: harbor.k-space.ee/k-space/goredirect:latest
imagePullPolicy: Always
env:
- name: GOREDIRECT_NOT_FOUND
value: https://inventory.k-space.ee/m/inventory/add-slug/%s
- name: GOREDIRECT_FOUND
value: https://inventory.k-space.ee/m/inventory/%s/view
- name: GOREDIRECT_NOPATH
value: https://inventory.k-space.ee/m/inventory
- name: MONGO_URI
valueFrom:
secretKeyRef:
key: MONGO_URI
name: inventory-mongodb
name: goredirect
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: "1"
memory: 500Mi
requests:
cpu: 100m
memory: 200Mi
securityContext:
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1000
---
apiVersion: v1
kind: Service
metadata:
name: goredirect
spec:
type: ClusterIP
selector:
app: goredirect
ports:
- protocol: TCP
port: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: goredirect
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.entrypoints: websecure
# external-dns.alpha.kubernetes.io/target: traefik.k-space.ee
# ^ ommitting for direct ip. Root level can't have CNAME.
external-dns.alpha.kubernetes.io/hostname: k6.ee
spec:
rules:
- host: k6.ee
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: goredirect
port:
number: 8080
tls:
- hosts:
- "k6.ee"