diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-16 15:23:33 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-16 15:23:33 +0300 |
| commit | dcda17ded1d4580077f04ffb61767d3671c71b30 (patch) | |
| tree | aa0924c7af9bf83d421ba4b6ce83e1341067ac19 | |
| parent | 80259c162cdf5faca71815a396af29fe5e5aea77 (diff) | |
Deploy xplayer and update player image
| -rw-r--r-- | f3s/argocd-apps/services/xplayer.yaml | 28 | ||||
| -rw-r--r-- | f3s/player/helm-chart/Chart.yaml | 2 | ||||
| -rw-r--r-- | f3s/player/helm-chart/templates/deployment.yaml | 2 | ||||
| -rw-r--r-- | f3s/xplayer/helm-chart/Chart.yaml | 6 | ||||
| -rw-r--r-- | f3s/xplayer/helm-chart/templates/deployment.yaml | 81 | ||||
| -rw-r--r-- | f3s/xplayer/helm-chart/templates/ingress.yaml | 20 | ||||
| -rw-r--r-- | f3s/xplayer/helm-chart/templates/persistent-volume.yaml | 55 | ||||
| -rw-r--r-- | f3s/xplayer/helm-chart/templates/service.yaml | 15 |
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 |
