forked from k-space/kube
will be interesting how the cname works out for ingress, it must be the same IP space as traefik is on, otherwise dns points to ip with nothing
83 lines
2.0 KiB
YAML
83 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-by-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
|
|
# 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"
|