diff --git a/music-assistant/ingress.yaml b/music-assistant/ingress.yaml new file mode 100644 index 0000000..35185e1 --- /dev/null +++ b/music-assistant/ingress.yaml @@ -0,0 +1,20 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: music-assistant + labels: + app.kubernetes.io/name: music-assistant + app.kubernetes.io/component: music-assistant +spec: + ingressClassName: nginx + rules: + - host: music.pyrocufflink.blue + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: music-assistant + port: + name: http diff --git a/music-assistant/kustomization.yaml b/music-assistant/kustomization.yaml new file mode 100644 index 0000000..9ce2daf --- /dev/null +++ b/music-assistant/kustomization.yaml @@ -0,0 +1,21 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: music-assistant + +labels: +- pairs: + app.kubernetes.io/instance: music-assistant + includeSelectors: true +- pairs: + app.kubernetes.io/part-of: music-assistant + includeTemplates: true + +resources: +- namespace.yaml +- music-assistant.yaml +- ingress.yaml + +images: +- name: ghcr.io/music-assistant/server + newTag: 2.6.0b18 diff --git a/music-assistant/music-assistant.yaml b/music-assistant/music-assistant.yaml new file mode 100644 index 0000000..5b8c752 --- /dev/null +++ b/music-assistant/music-assistant.yaml @@ -0,0 +1,78 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: music-assistant + labels: &labels + app.kubernetes.io/name: music-assistant + app.kubernetes.io/component: music-assistant +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + +--- +apiVersion: v1 +kind: Service +metadata: + name: music-assistant + labels: &labels + app.kubernetes.io/name: music-assistant + app.kubernetes.io/component: music-assistant +spec: + ports: + - port: 8095 + name: http + selector: *labels + +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: music-assistant + labels: &labels + app.kubernetes.io/name: music-assistant + app.kubernetes.io/component: music-assistant +spec: + serviceName: music-assistant + selector: + matchLabels: *labels + template: + metadata: + labels: *labels + spec: + containers: + - name: music-assistant + image: ghcr.io/music-assistant/server + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8095 + name: http + readinessProbe: &probe + httpGet: + port: http + path: / + failureThreshold: 3 + periodSeconds: 60 + successThreshold: 1 + timeoutSeconds: 1 + startupProbe: + <<: *probe + failureThreshold: 90 + periodSeconds: 1 + volumeMounts: + - mountPath: /data + name: music-assistant-data + subPath: data + dnsPolicy: ClusterFirstWithHostNet + hostNetwork: true + securityContext: + runAsNonRoot: true + runAsUser: 8095 + runAsGroup: 8095 + fsGroup: 8095 + volumes: + - name: music-assistant-data + persistentVolumeClaim: + claimName: music-assistant diff --git a/music-assistant/namespace.yaml b/music-assistant/namespace.yaml new file mode 100644 index 0000000..1f7c35f --- /dev/null +++ b/music-assistant/namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: music-assistant + labels: + app.kubernetes.io/name: music-assistant