diff --git a/k8s/apps/furumi-server/app.yaml b/k8s/apps/furumi-server/app.yaml deleted file mode 100644 index 07bc8c0..0000000 --- a/k8s/apps/furumi-server/app.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: furumi-server - namespace: argocd -spec: - project: apps - destination: - namespace: furumi-server - server: https://kubernetes.default.svc - source: - repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git - targetRevision: HEAD - path: k8s/apps/furumi-server - syncPolicy: - automated: - selfHeal: true - prune: true - syncOptions: - - CreateNamespace=true diff --git a/k8s/apps/furumi-server/deployment.yaml b/k8s/apps/furumi-server/deployment.yaml deleted file mode 100644 index d63fca3..0000000 --- a/k8s/apps/furumi-server/deployment.yaml +++ /dev/null @@ -1,75 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: furumi-server - labels: - app: furumi-server -spec: - replicas: 1 - selector: - matchLabels: - app: furumi-server - template: - metadata: - labels: - app: furumi-server - spec: - nodeSelector: - kubernetes.io/hostname: master.tail2fe2d.ts.net - containers: - - name: furumi-server - image: ultradesu/furumi-server:trunk - imagePullPolicy: Always - env: - - name: FURUMI_TOKEN - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: TOKEN - - name: FURUMI_OIDC_CLIENT_ID - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_CLIENT_ID - - name: FURUMI_OIDC_CLIENT_SECRET - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_CLIENT_SECRET - - name: FURUMI_OIDC_ISSUER_URL - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_ISSUER_URL - - name: FURUMI_OIDC_REDIRECT_URL - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_REDIRECT_URL - - name: FURUMI_OIDC_SESSION_SECRET - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_SESSION_SECRET - - name: FURUMI_ROOT - value: "/media" - - name: RUST_LOG - value: "info" - ports: - - name: grpc - containerPort: 50051 - protocol: TCP - - name: metrics - containerPort: 9090 - protocol: TCP - - name: web-ui - containerPort: 8080 - protocol: TCP - volumeMounts: - - name: music - mountPath: /media - volumes: - - name: music - hostPath: - path: /k8s/media/downloads/Lidarr_Music - type: DirectoryOrCreate diff --git a/k8s/apps/furumi-server/external-secrets.yaml b/k8s/apps/furumi-server/external-secrets.yaml deleted file mode 100644 index 717807b..0000000 --- a/k8s/apps/furumi-server/external-secrets.yaml +++ /dev/null @@ -1,65 +0,0 @@ ---- -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: furumi-ng-creds -spec: - target: - name: furumi-ng-creds - deletionPolicy: Delete - template: - type: Opaque - data: - TOKEN: |- - {{ .token }} - OIDC_CLIENT_ID: |- - {{ .client_id }} - OIDC_CLIENT_SECRET: |- - {{ .client_secret }} - OIDC_ISSUER_URL: https://idm.hexor.cy/application/o/furumi-ng-web/ - OIDC_REDIRECT_URL: https://music.hexor.cy/auth/callback - OIDC_SESSION_SECRET: |- - {{ .session_secret }} - PG_STRING: |- - postgres://furumi:{{ .pg_pass }}@psql.psql.svc:5432/furumi - data: - - secretKey: token - sourceRef: - storeRef: - name: vaultwarden-login - kind: ClusterSecretStore - remoteRef: - key: b8b8c3a2-c3fe-42d3-9402-0ae305e1455f - property: fields[0].value - - secretKey: client_id - sourceRef: - storeRef: - name: vaultwarden-login - kind: ClusterSecretStore - remoteRef: - key: b8b8c3a2-c3fe-42d3-9402-0ae305e1455f - property: fields[1].value - - secretKey: client_secret - sourceRef: - storeRef: - name: vaultwarden-login - kind: ClusterSecretStore - remoteRef: - key: b8b8c3a2-c3fe-42d3-9402-0ae305e1455f - property: fields[2].value - - secretKey: session_secret - sourceRef: - storeRef: - name: vaultwarden-login - kind: ClusterSecretStore - remoteRef: - key: b8b8c3a2-c3fe-42d3-9402-0ae305e1455f - property: fields[3].value - - secretKey: pg_pass - sourceRef: - storeRef: - name: vaultwarden-login - kind: ClusterSecretStore - remoteRef: - key: 2a9deb39-ef22-433e-a1be-df1555625e22 - property: fields[16].value diff --git a/k8s/apps/furumi-server/ingress.yaml b/k8s/apps/furumi-server/ingress.yaml deleted file mode 100644 index 5e9f7c0..0000000 --- a/k8s/apps/furumi-server/ingress.yaml +++ /dev/null @@ -1,59 +0,0 @@ ---- -apiVersion: traefik.io/v1alpha1 -kind: Middleware -metadata: - name: admin-strip -spec: - stripPrefix: - prefixes: - - /admin ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: furumi-tls-ingress - annotations: - ingressClassName: traefik - 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: - rules: - - host: music.hexor.cy - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: furumi-web-player - port: - number: 8080 - tls: - - secretName: furumi-tls - hosts: - - '*.hexor.cy' ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: furumi-admin-ingress - annotations: - ingressClassName: traefik - traefik.ingress.kubernetes.io/router.middlewares: furumi-server-admin-strip@kubernetescrd,kube-system-https-redirect@kubernetescrd -spec: - rules: - - host: music.hexor.cy - http: - paths: - - path: /admin - pathType: Prefix - backend: - service: - name: furumi-metadata-agent - port: - number: 8090 - tls: - - secretName: furumi-tls - hosts: - - '*.hexor.cy' diff --git a/k8s/apps/furumi-server/kustomization.yaml b/k8s/apps/furumi-server/kustomization.yaml deleted file mode 100644 index 6cffc53..0000000 --- a/k8s/apps/furumi-server/kustomization.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - app.yaml - - deployment.yaml - - service.yaml - - servicemonitor.yaml - - external-secrets.yaml - - ingress.yaml - - web-player.yaml - - metadata-agent.yaml diff --git a/k8s/apps/furumi-server/metadata-agent.yaml b/k8s/apps/furumi-server/metadata-agent.yaml deleted file mode 100644 index fc00bf8..0000000 --- a/k8s/apps/furumi-server/metadata-agent.yaml +++ /dev/null @@ -1,59 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: furumi-metadata-agent - labels: - app: furumi-metadata-agent -spec: - replicas: 1 - selector: - matchLabels: - app: furumi-metadata-agent - template: - metadata: - labels: - app: furumi-metadata-agent - spec: - nodeSelector: - kubernetes.io/hostname: master.tail2fe2d.ts.net - containers: - - name: furumi-metadata-agent - image: ultradesu/furumi-metadata-agent:trunk - imagePullPolicy: Always - env: - - name: FURUMI_AGENT_DATABASE_URL - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: PG_STRING - - name: FURUMI_AGENT_INBOX_DIR - value: "/inbox" - - name: FURUMI_AGENT_STORAGE_DIR - value: "/media" - - name: FURUMI_AGENT_OLLAMA_URL - value: "http://100.120.76.49:1234" - - name: FURUMI_AGENT_OLLAMA_MODEL - value: "google/gemma-4-26b-a4b" - - name: FURUMI_AGENT_POLL_INTERVAL_SECS - value: "10" - - name: RUST_LOG - value: "info" - ports: - - name: admin-ui - containerPort: 8090 - protocol: TCP - volumeMounts: - - name: library - mountPath: /media - - name: inbox - mountPath: /inbox - volumes: - - name: library - hostPath: - path: /k8s/furumi/library - type: DirectoryOrCreate - - name: inbox - hostPath: - path: /k8s/furumi/inbox - type: DirectoryOrCreate - diff --git a/k8s/apps/furumi-server/service.yaml b/k8s/apps/furumi-server/service.yaml deleted file mode 100644 index 5166d5c..0000000 --- a/k8s/apps/furumi-server/service.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: furumi-server-grpc -spec: - type: LoadBalancer - selector: - app: furumi-server - ports: - - name: grpc - protocol: TCP - port: 50051 - targetPort: 50051 ---- -apiVersion: v1 -kind: Service -metadata: - name: furumi-server-metrics - labels: - app: furumi-server -spec: - type: ClusterIP - selector: - app: furumi-server - ports: - - name: metrics - protocol: TCP - port: 9090 - targetPort: 9090 ---- -apiVersion: v1 -kind: Service -metadata: - name: furumi-metadata-agent - labels: - app: furumi-metadata-agent -spec: - type: ClusterIP - selector: - app: furumi-metadata-agent - ports: - - name: admin-ui - protocol: TCP - port: 8090 - targetPort: 8090 ---- -apiVersion: v1 -kind: Service -metadata: - name: furumi-web-player - labels: - app: furumi-web-player -spec: - type: ClusterIP - selector: - app: furumi-web-player - ports: - - name: web-ui - protocol: TCP - port: 8080 - targetPort: 8080 diff --git a/k8s/apps/furumi-server/servicemonitor.yaml b/k8s/apps/furumi-server/servicemonitor.yaml deleted file mode 100644 index a844468..0000000 --- a/k8s/apps/furumi-server/servicemonitor.yaml +++ /dev/null @@ -1,21 +0,0 @@ ---- -apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor -metadata: - name: furumi-server-metrics - labels: - app: furumi-server - release: prometheus -spec: - selector: - matchLabels: - app: furumi-server - endpoints: - - port: metrics - path: /metrics - interval: 30s - scrapeTimeout: 10s - honorLabels: true - namespaceSelector: - matchNames: - - furumi-server diff --git a/k8s/apps/furumi-server/web-player.yaml b/k8s/apps/furumi-server/web-player.yaml deleted file mode 100644 index d494e3e..0000000 --- a/k8s/apps/furumi-server/web-player.yaml +++ /dev/null @@ -1,70 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: furumi-web-player - labels: - app: furumi-web-player -spec: - replicas: 1 - selector: - matchLabels: - app: furumi-web-player - template: - metadata: - labels: - app: furumi-web-player - spec: - nodeSelector: - kubernetes.io/hostname: master.tail2fe2d.ts.net - containers: - - name: furumi-web-player - image: ultradesu/furumi-web-player:trunk - imagePullPolicy: Always - env: - - name: FURUMI_PLAYER_OIDC_CLIENT_ID - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_CLIENT_ID - - name: FURUMI_PLAYER_OIDC_CLIENT_SECRET - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_CLIENT_SECRET - - name: FURUMI_PLAYER_OIDC_ISSUER_URL - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_ISSUER_URL - - name: FURUMI_PLAYER_OIDC_REDIRECT_URL - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_REDIRECT_URL - - name: FURUMI_PLAYER_OIDC_SESSION_SECRET - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: OIDC_SESSION_SECRET - - name: FURUMI_PLAYER_DATABASE_URL - valueFrom: - secretKeyRef: - name: furumi-ng-creds - key: PG_STRING - - name: FURUMI_PLAYER_STORAGE_DIR - value: "/media" - - name: RUST_LOG - value: "info" - ports: - - name: web-ui - containerPort: 8080 - protocol: TCP - volumeMounts: - - name: music - mountPath: /media - volumes: - - name: music - hostPath: - path: /k8s/furumi/library - type: DirectoryOrCreate - diff --git a/k8s/apps/furumi-dev/app.yaml b/k8s/apps/furumi/app.yaml similarity index 82% rename from k8s/apps/furumi-dev/app.yaml rename to k8s/apps/furumi/app.yaml index fc2e2c9..450a254 100644 --- a/k8s/apps/furumi-dev/app.yaml +++ b/k8s/apps/furumi/app.yaml @@ -1,17 +1,17 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: furumi-dev + name: furumi namespace: argocd spec: project: apps destination: - namespace: furumi-dev + namespace: furumi server: https://kubernetes.default.svc source: repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git targetRevision: HEAD - path: k8s/apps/furumi-dev + path: k8s/apps/furumi syncPolicy: automated: selfHeal: true diff --git a/k8s/apps/furumi-dev/deployment.yaml b/k8s/apps/furumi/deployment.yaml similarity index 70% rename from k8s/apps/furumi-dev/deployment.yaml rename to k8s/apps/furumi/deployment.yaml index dea8359..8c66d1c 100644 --- a/k8s/apps/furumi-dev/deployment.yaml +++ b/k8s/apps/furumi/deployment.yaml @@ -1,30 +1,30 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: furumi-dev-player + name: furumi-player labels: - app: furumi-dev-player + app: furumi-player spec: replicas: 1 selector: matchLabels: - app: furumi-dev-player + app: furumi-player template: metadata: labels: - app: furumi-dev-player + app: furumi-player spec: nodeSelector: - kubernetes.io/hostname: master.tail2fe2d.ts.net + kubernetes.io/hostname: music.tail2fe2d.ts.net containers: - - name: furumi-dev-player + - name: furumi-player image: ultradesu/furumusic:latest imagePullPolicy: Always env: - name: FURU_DATABASE_URL valueFrom: secretKeyRef: - name: furumi-dev-creds + name: furumi-creds key: PG_STRING ports: - containerPort: 8000 @@ -37,10 +37,10 @@ spec: volumes: - name: library hostPath: - path: /k8s/furumi-dev/library-new + path: /data/furumi/library type: DirectoryOrCreate - name: inbox hostPath: - path: /k8s/furumi-dev/inbox-new + path: /data/furumi/inbox type: DirectoryOrCreate diff --git a/k8s/apps/furumi-dev/external-secrets.yaml b/k8s/apps/furumi/external-secrets.yaml similarity index 88% rename from k8s/apps/furumi-dev/external-secrets.yaml rename to k8s/apps/furumi/external-secrets.yaml index 21b1f16..c6c9b56 100644 --- a/k8s/apps/furumi-dev/external-secrets.yaml +++ b/k8s/apps/furumi/external-secrets.yaml @@ -5,7 +5,7 @@ metadata: name: furumi-ng-creds spec: target: - name: furumi-dev-creds + name: furumi-creds deletionPolicy: Delete template: type: Opaque @@ -14,12 +14,12 @@ spec: # {{ .client_id }} #OIDC_CLIENT_SECRET: |- # {{ .client_secret }} - #OIDC_ISSUER_URL: https://idm.hexor.cy/application/o/furumi-dev/ - #OIDC_REDIRECT_URL: https://music-dev.hexor.cy/auth/callback + #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_dev:{{ .pg_pass }}@psql.psql.svc/furumi_dev + postgresql://furumi:{{ .pg_pass }}@psql.psql.svc/furumi data: # - secretKey: client_id # sourceRef: diff --git a/k8s/apps/furumi-dev/ingress.yaml b/k8s/apps/furumi/ingress.yaml similarity index 71% rename from k8s/apps/furumi-dev/ingress.yaml rename to k8s/apps/furumi/ingress.yaml index 41fa3a2..2b96339 100644 --- a/k8s/apps/furumi-dev/ingress.yaml +++ b/k8s/apps/furumi/ingress.yaml @@ -2,26 +2,26 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: furumi-dev-tls-ingress + name: furumi-tls-ingress annotations: - ingressClassName: traefik 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-dev.hexor.cy + - host: music.hexor.cy http: paths: - path: / pathType: Prefix backend: service: - name: furumi-dev-player + name: furumi-player port: number: 8000 tls: - - secretName: furumi-dev-tls + - secretName: furumi-tls hosts: - - music-dev.hexor.cy + - music.hexor.cy diff --git a/k8s/apps/furumi-dev/kustomization.yaml b/k8s/apps/furumi/kustomization.yaml similarity index 100% rename from k8s/apps/furumi-dev/kustomization.yaml rename to k8s/apps/furumi/kustomization.yaml diff --git a/k8s/apps/furumi-dev/service.yaml b/k8s/apps/furumi/service.yaml similarity index 68% rename from k8s/apps/furumi-dev/service.yaml rename to k8s/apps/furumi/service.yaml index e4f8896..4fa4873 100644 --- a/k8s/apps/furumi-dev/service.yaml +++ b/k8s/apps/furumi/service.yaml @@ -2,13 +2,13 @@ apiVersion: v1 kind: Service metadata: - name: furumi-dev-player + name: furumi-player labels: - app: furumi-dev-player + app: furumi-player spec: type: ClusterIP selector: - app: furumi-dev-player + app: furumi-player ports: - name: http protocol: TCP