This repository has been archived on 2026-04-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
core/k8s/lite.yaml

105 lines
2.2 KiB
YAML

# k8s/lite.yaml
# ============================================
# Chat Switchboard - Lite (FE-Only)
# ============================================
# Static SPA with no backend. All data in localStorage.
# Deployed to lite.DOMAIN on push to main.
# ============================================
apiVersion: apps/v1
kind: Deployment
metadata:
name: switchboard-lite
namespace: ${NAMESPACE}
labels:
app: switchboard
component: frontend
env: lite
spec:
replicas: 1
selector:
matchLabels:
app: switchboard
component: frontend
env: lite
template:
metadata:
labels:
app: switchboard
component: frontend
env: lite
spec:
containers:
- name: frontend
image: ${FE_IMAGE}:${IMAGE_TAG}
imagePullPolicy: Always
ports:
- containerPort: 80
name: http
resources:
requests:
memory: "32Mi"
cpu: "10m"
limits:
memory: "64Mi"
cpu: "50m"
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 3
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
name: switchboard-lite
namespace: ${NAMESPACE}
labels:
app: switchboard
env: lite
spec:
selector:
app: switchboard
component: frontend
env: lite
ports:
- protocol: TCP
port: 80
targetPort: 80
name: http
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: switchboard-lite
namespace: ${NAMESPACE}
annotations:
cert-manager.io/cluster-issuer: "${CERT_ISSUER}"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
labels:
app: switchboard
env: lite
spec:
ingressClassName: "traefik"
tls:
- hosts:
- ${DEPLOY_HOST}
secretName: switchboard-lite-tls
rules:
- host: "${DEPLOY_HOST}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: switchboard-lite
port:
number: 80