- K8s manifests: namespace, PVC (local-path 2Gi), deployment, service, ingress - Ingress: repo-vis.oci.euphon.net with Let's Encrypt TLS via traefik - Cross-compile aarch64-unknown-linux-musl for OCI ARM64 host - make deploy: local Docker (x86_64) - make deploy-oci: SCP binary + web dist to OCI, native docker build, k3s import - Dockerfile accepts MUSL_TARGET build arg for multi-arch support
36 lines
766 B
YAML
36 lines
766 B
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: repo-vis
|
|
namespace: repo-vis
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: repo-vis
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: repo-vis
|
|
spec:
|
|
containers:
|
|
- name: repo-vis
|
|
image: repo-vis:latest
|
|
imagePullPolicy: Never
|
|
ports:
|
|
- containerPort: 8080
|
|
env:
|
|
- name: PORT
|
|
value: "8080"
|
|
- name: FRONTEND_DIR
|
|
value: "./web/dist"
|
|
- name: DATA_DIR
|
|
value: "/data"
|
|
volumeMounts:
|
|
- name: data
|
|
mountPath: /data
|
|
volumes:
|
|
- name: data
|
|
persistentVolumeClaim:
|
|
claimName: repo-vis-data
|