Add K8s deployment for OCI (aarch64) and make deploy/deploy-oci targets

- 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
This commit is contained in:
2026-04-06 19:54:30 +01:00
parent 4aec9510e4
commit 0be0652a49
9 changed files with 139 additions and 14 deletions

35
k8s/deployment.yaml Normal file
View File

@@ -0,0 +1,35 @@
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