summaryrefslogtreecommitdiff
path: root/f3s
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-07-31 15:23:02 +0300
committerPaul Buetow <paul@buetow.org>2025-07-31 15:23:02 +0300
commita90e8cc95a39003722cb6da5abc8a2118fbe8511 (patch)
tree44447cc431451cc2823803bf3f131997109345dd /f3s
parent6ff10a29ce04d2e603eac3e5bdd539affc42bdf9 (diff)
add anki
Diffstat (limited to 'f3s')
-rw-r--r--f3s/anki-sync-server/Makefile12
-rw-r--r--f3s/anki-sync-server/deployment.yaml30
-rw-r--r--f3s/anki-sync-server/ingress.yaml20
-rw-r--r--f3s/anki-sync-server/namespace.yaml4
-rw-r--r--f3s/anki-sync-server/persistent-volume.yaml27
-rw-r--r--f3s/anki-sync-server/service.yaml15
6 files changed, 108 insertions, 0 deletions
diff --git a/f3s/anki-sync-server/Makefile b/f3s/anki-sync-server/Makefile
new file mode 100644
index 0000000..a3b12c2
--- /dev/null
+++ b/f3s/anki-sync-server/Makefile
@@ -0,0 +1,12 @@
+apply:
+ kubectl apply -f namespace.yaml
+ kubectl apply -f persistent-volume.yaml
+ kubectl apply -f service.yaml
+ kubectl apply -f deployment.yaml
+ kubectl apply -f ingress.yaml
+
+delete:
+ kubectl delete -f ingress.yaml
+ kubectl delete -f service.yaml
+ kubectl delete -f deployment.yaml
+ kubectl delete -f persistent-volume.yaml
diff --git a/f3s/anki-sync-server/deployment.yaml b/f3s/anki-sync-server/deployment.yaml
new file mode 100644
index 0000000..982c4cb
--- /dev/null
+++ b/f3s/anki-sync-server/deployment.yaml
@@ -0,0 +1,30 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: anki-sync-server-deployment
+ namespace: services
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: anki-sync-server
+ template:
+ metadata:
+ labels:
+ app: anki-sync-server
+ spec:
+ containers:
+ - name: anki-sync-server
+ image: registry.lan.buetow.org:30001/anki-sync-server:latest
+ ports:
+ - containerPort: 8080
+ env:
+ - name: ANKISYNCD_PORT
+ value: "8080"
+ volumeMounts:
+ - name: anki-sync-server-data
+ mountPath: /data
+ volumes:
+ - name: anki-sync-server-data
+ persistentVolumeClaim:
+ claimName: anki-sync-server-pvc
diff --git a/f3s/anki-sync-server/ingress.yaml b/f3s/anki-sync-server/ingress.yaml
new file mode 100644
index 0000000..010c588
--- /dev/null
+++ b/f3s/anki-sync-server/ingress.yaml
@@ -0,0 +1,20 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: anki-sync-server-ingress
+ namespace: services
+ annotations:
+ spec.ingressClassName: traefik
+ traefik.ingress.kubernetes.io/router.entrypoints: web
+spec:
+ rules:
+ - host: anki.f3s.buetow.org
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: anki-sync-server-service
+ port:
+ number: 8080
diff --git a/f3s/anki-sync-server/namespace.yaml b/f3s/anki-sync-server/namespace.yaml
new file mode 100644
index 0000000..da390d0
--- /dev/null
+++ b/f3s/anki-sync-server/namespace.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: services
diff --git a/f3s/anki-sync-server/persistent-volume.yaml b/f3s/anki-sync-server/persistent-volume.yaml
new file mode 100644
index 0000000..043a16f
--- /dev/null
+++ b/f3s/anki-sync-server/persistent-volume.yaml
@@ -0,0 +1,27 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: anki-sync-server-pv
+spec:
+ capacity:
+ storage: 1Gi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ hostPath:
+ path: /data/nfs/k3svolumes/anki-sync-server
+ type: Directory
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: anki-sync-server-pvc
+ namespace: services
+spec:
+ storageClassName: ""
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi
diff --git a/f3s/anki-sync-server/service.yaml b/f3s/anki-sync-server/service.yaml
new file mode 100644
index 0000000..a8eb183
--- /dev/null
+++ b/f3s/anki-sync-server/service.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: anki-sync-server
+ name: anki-sync-server-service
+ namespace: services
+spec:
+ ports:
+ - name: web
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+ selector:
+ app: anki-sync-server