summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--f3s/argocd-apps/services/xplayer.yaml28
-rw-r--r--f3s/player/helm-chart/Chart.yaml2
-rw-r--r--f3s/player/helm-chart/templates/deployment.yaml2
-rw-r--r--f3s/xplayer/helm-chart/Chart.yaml6
-rw-r--r--f3s/xplayer/helm-chart/templates/deployment.yaml81
-rw-r--r--f3s/xplayer/helm-chart/templates/ingress.yaml20
-rw-r--r--f3s/xplayer/helm-chart/templates/persistent-volume.yaml55
-rw-r--r--f3s/xplayer/helm-chart/templates/service.yaml15
8 files changed, 207 insertions, 2 deletions
diff --git a/f3s/argocd-apps/services/xplayer.yaml b/f3s/argocd-apps/services/xplayer.yaml
new file mode 100644
index 0000000..519a3c5
--- /dev/null
+++ b/f3s/argocd-apps/services/xplayer.yaml
@@ -0,0 +1,28 @@
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: xplayer
+ namespace: cicd
+ finalizers:
+ - resources-finalizer.argocd.argoproj.io
+spec:
+ project: default
+ source:
+ repoURL: http://git-server.cicd.svc.cluster.local/conf.git
+ targetRevision: master
+ path: f3s/xplayer/helm-chart
+ destination:
+ server: https://kubernetes.default.svc
+ namespace: services
+ syncPolicy:
+ automated:
+ prune: true
+ selfHeal: true
+ syncOptions:
+ - CreateNamespace=false
+ retry:
+ limit: 3
+ backoff:
+ duration: 5s
+ factor: 2
+ maxDuration: 1m
diff --git a/f3s/player/helm-chart/Chart.yaml b/f3s/player/helm-chart/Chart.yaml
index 0c9ed8a..2134dad 100644
--- a/f3s/player/helm-chart/Chart.yaml
+++ b/f3s/player/helm-chart/Chart.yaml
@@ -3,4 +3,4 @@ name: player
description: Player media app for f3s
type: application
version: 0.1.0
-appVersion: "c4de92d"
+appVersion: "df224ef"
diff --git a/f3s/player/helm-chart/templates/deployment.yaml b/f3s/player/helm-chart/templates/deployment.yaml
index db72e1f..74d03bb 100644
--- a/f3s/player/helm-chart/templates/deployment.yaml
+++ b/f3s/player/helm-chart/templates/deployment.yaml
@@ -24,7 +24,7 @@ spec:
fsGroup: 65534
containers:
- name: player
- image: registry.lan.buetow.org:30001/player:c4de92d
+ image: registry.lan.buetow.org:30001/player:df224ef
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false
diff --git a/f3s/xplayer/helm-chart/Chart.yaml b/f3s/xplayer/helm-chart/Chart.yaml
new file mode 100644
index 0000000..c946ab6
--- /dev/null
+++ b/f3s/xplayer/helm-chart/Chart.yaml
@@ -0,0 +1,6 @@
+apiVersion: v2
+name: xplayer
+description: Extra Player media app instance for f3s
+type: application
+version: 0.1.0
+appVersion: "df224ef"
diff --git a/f3s/xplayer/helm-chart/templates/deployment.yaml b/f3s/xplayer/helm-chart/templates/deployment.yaml
new file mode 100644
index 0000000..fb7dd28
--- /dev/null
+++ b/f3s/xplayer/helm-chart/templates/deployment.yaml
@@ -0,0 +1,81 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: xplayer
+ namespace: services
+spec:
+ replicas: 1
+ # Recreate so the old pod fully terminates before the new one starts —
+ # avoids NFS-lock races on the hostPath-backed PVC during rolling updates.
+ strategy:
+ type: Recreate
+ selector:
+ matchLabels:
+ app: xplayer
+ template:
+ metadata:
+ labels:
+ app: xplayer
+ spec:
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 65534
+ runAsGroup: 65534
+ fsGroup: 65534
+ containers:
+ - name: xplayer
+ image: registry.lan.buetow.org:30001/player:df224ef
+ imagePullPolicy: IfNotPresent
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ runAsUser: 65534
+ runAsGroup: 65534
+ ports:
+ - containerPort: 8080
+ name: http
+ env:
+ - name: PORT
+ value: "8080"
+ - name: DB_PATH
+ value: "/data/media.db"
+ - name: MEDIA_ROOT
+ value: "/media"
+ - name: SECURE_COOKIES
+ value: "true"
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: http
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ readinessProbe:
+ httpGet:
+ path: /readyz
+ port: http
+ initialDelaySeconds: 3
+ periodSeconds: 5
+ resources:
+ requests:
+ memory: 128Mi
+ cpu: 100m
+ limits:
+ memory: 512Mi
+ cpu: "1"
+ volumeMounts:
+ - name: xplayer-data
+ mountPath: /data
+ - name: xplayer-media
+ mountPath: /media
+ - name: tmp
+ mountPath: /tmp
+ volumes:
+ - name: xplayer-data
+ persistentVolumeClaim:
+ claimName: xplayer-data-pvc
+ - name: xplayer-media
+ persistentVolumeClaim:
+ claimName: xplayer-media-pvc
+ - name: tmp
+ emptyDir: {}
diff --git a/f3s/xplayer/helm-chart/templates/ingress.yaml b/f3s/xplayer/helm-chart/templates/ingress.yaml
new file mode 100644
index 0000000..df8420d
--- /dev/null
+++ b/f3s/xplayer/helm-chart/templates/ingress.yaml
@@ -0,0 +1,20 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: xplayer-ingress
+ namespace: services
+ annotations:
+ spec.ingressClassName: traefik
+ traefik.ingress.kubernetes.io/router.entrypoints: web
+spec:
+ rules:
+ - host: xplayer.f3s.buetow.org
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: xplayer-service
+ port:
+ number: 8080
diff --git a/f3s/xplayer/helm-chart/templates/persistent-volume.yaml b/f3s/xplayer/helm-chart/templates/persistent-volume.yaml
new file mode 100644
index 0000000..c2e09f2
--- /dev/null
+++ b/f3s/xplayer/helm-chart/templates/persistent-volume.yaml
@@ -0,0 +1,55 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: xplayer-data-pv
+spec:
+ capacity:
+ storage: 1Gi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ hostPath:
+ path: /data/nfs/k3svolumes/xplayer/data
+ type: Directory
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: xplayer-data-pvc
+ namespace: services
+spec:
+ storageClassName: ""
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: xplayer-media-pv
+spec:
+ capacity:
+ storage: 10Gi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ hostPath:
+ path: /data/nfs/k3svolumes/xplayer/media
+ type: Directory
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: xplayer-media-pvc
+ namespace: services
+spec:
+ storageClassName: ""
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
diff --git a/f3s/xplayer/helm-chart/templates/service.yaml b/f3s/xplayer/helm-chart/templates/service.yaml
new file mode 100644
index 0000000..0be2875
--- /dev/null
+++ b/f3s/xplayer/helm-chart/templates/service.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: xplayer
+ name: xplayer-service
+ namespace: services
+spec:
+ ports:
+ - name: web
+ port: 8080
+ protocol: TCP
+ targetPort: http
+ selector:
+ app: xplayer