Moved furumi to music
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 7s
Check with kubeconform / lint (push) Successful in 6s
Auto-update README / Generate README and Create MR (push) Successful in 7s

This commit is contained in:
2026-06-01 13:25:20 +03:00
parent 5e8649b6fd
commit cd5bf09395
15 changed files with 25 additions and 468 deletions
+20
View File
@@ -0,0 +1,20 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: furumi
namespace: argocd
spec:
project: apps
destination:
namespace: furumi
server: https://kubernetes.default.svc
source:
repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git
targetRevision: HEAD
path: k8s/apps/furumi
syncPolicy:
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true
+46
View File
@@ -0,0 +1,46 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: furumi-player
labels:
app: furumi-player
spec:
replicas: 1
selector:
matchLabels:
app: furumi-player
template:
metadata:
labels:
app: furumi-player
spec:
nodeSelector:
kubernetes.io/hostname: music.tail2fe2d.ts.net
containers:
- name: furumi-player
image: ultradesu/furumusic:latest
imagePullPolicy: Always
env:
- name: FURU_DATABASE_URL
valueFrom:
secretKeyRef:
name: furumi-creds
key: PG_STRING
ports:
- containerPort: 8000
name: http
volumeMounts:
- name: library
mountPath: /media
- name: inbox
mountPath: /inbox
volumes:
- name: library
hostPath:
path: /data/furumi/library
type: DirectoryOrCreate
- name: inbox
hostPath:
path: /data/furumi/inbox
type: DirectoryOrCreate
+55
View File
@@ -0,0 +1,55 @@
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: furumi-ng-creds
spec:
target:
name: furumi-creds
deletionPolicy: Delete
template:
type: Opaque
data:
#OIDC_CLIENT_ID: |-
# {{ .client_id }}
#OIDC_CLIENT_SECRET: |-
# {{ .client_secret }}
#OIDC_ISSUER_URL: https://idm.hexor.cy/application/o/furumi/
#OIDC_REDIRECT_URL: https://music.hexor.cy/auth/callback
#OIDC_SESSION_SECRET: |-
# {{ .session_secret }}
PG_STRING: |-
postgresql://furumi:{{ .pg_pass }}@psql.psql.svc/furumi
data:
# - secretKey: client_id
# sourceRef:
# storeRef:
# name: vaultwarden-login
# kind: ClusterSecretStore
# remoteRef:
# key: 960735e6-2cc9-4b68-9bd3-e6786e5a0cd6
# property: fields[0].value
# - secretKey: client_secret
# sourceRef:
# storeRef:
# name: vaultwarden-login
# kind: ClusterSecretStore
# remoteRef:
# key: 960735e6-2cc9-4b68-9bd3-e6786e5a0cd6
# property: fields[1].value
# - secretKey: session_secret
# sourceRef:
# storeRef:
# name: vaultwarden-login
# kind: ClusterSecretStore
# remoteRef:
# key: 960735e6-2cc9-4b68-9bd3-e6786e5a0cd6
# property: fields[2].value
- secretKey: pg_pass
sourceRef:
storeRef:
name: vaultwarden-login
kind: ClusterSecretStore
remoteRef:
key: 2a9deb39-ef22-433e-a1be-df1555625e22
property: fields[17].value
+27
View File
@@ -0,0 +1,27 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: furumi-tls-ingress
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd
acme.cert-manager.io/http01-edit-in-place: "true"
spec:
ingressClassName: traefik
rules:
- host: music.hexor.cy
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: furumi-player
port:
number: 8000
tls:
- secretName: furumi-tls
hosts:
- music.hexor.cy
+9
View File
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- app.yaml
- service.yaml
- external-secrets.yaml
- ingress.yaml
- deployment.yaml
+16
View File
@@ -0,0 +1,16 @@
---
apiVersion: v1
kind: Service
metadata:
name: furumi-player
labels:
app: furumi-player
spec:
type: ClusterIP
selector:
app: furumi-player
ports:
- name: http
protocol: TCP
port: 8000
targetPort: 8000