Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0894fa44c6 | |||
| f3b903f333 | |||
| a8a3bae597 | |||
| 2212876d14 | |||
| f1acf53b08 | |||
| 585614b493 | |||
| cd5bf09395 |
@@ -13,10 +13,13 @@ ArgoCD homelab project
|
|||||||
| Application | Status |
|
| Application | Status |
|
||||||
| :--- | :---: |
|
| :--- | :---: |
|
||||||
| **argocd** | [](https://ag.hexor.cy/applications/argocd/argocd) |
|
| **argocd** | [](https://ag.hexor.cy/applications/argocd/argocd) |
|
||||||
|
| **auth-proxy** | [](https://ag.hexor.cy/applications/argocd/auth-proxy) |
|
||||||
| **authentik** | [](https://ag.hexor.cy/applications/argocd/authentik) |
|
| **authentik** | [](https://ag.hexor.cy/applications/argocd/authentik) |
|
||||||
| **cert-manager** | [](https://ag.hexor.cy/applications/argocd/cert-manager) |
|
| **cert-manager** | [](https://ag.hexor.cy/applications/argocd/cert-manager) |
|
||||||
| **external-secrets** | [](https://ag.hexor.cy/applications/argocd/external-secrets) |
|
| **external-secrets** | [](https://ag.hexor.cy/applications/argocd/external-secrets) |
|
||||||
| **gpu** | [](https://ag.hexor.cy/applications/argocd/gpu) |
|
| **gpu** | [](https://ag.hexor.cy/applications/argocd/gpu) |
|
||||||
|
| **kanidm** | [](https://ag.hexor.cy/applications/argocd/kanidm) |
|
||||||
|
| **keycloak** | [](https://ag.hexor.cy/applications/argocd/keycloak) |
|
||||||
| **kube-system-custom** | [](https://ag.hexor.cy/applications/argocd/kube-system-custom) |
|
| **kube-system-custom** | [](https://ag.hexor.cy/applications/argocd/kube-system-custom) |
|
||||||
| **kubernetes-dashboard** | [](https://ag.hexor.cy/applications/argocd/kubernetes-dashboard) |
|
| **kubernetes-dashboard** | [](https://ag.hexor.cy/applications/argocd/kubernetes-dashboard) |
|
||||||
| **longhorn** | [](https://ag.hexor.cy/applications/argocd/longhorn) |
|
| **longhorn** | [](https://ag.hexor.cy/applications/argocd/longhorn) |
|
||||||
@@ -39,8 +42,7 @@ ArgoCD homelab project
|
|||||||
| Application | Status |
|
| Application | Status |
|
||||||
| :--- | :---: |
|
| :--- | :---: |
|
||||||
| **comfyui** | [](https://ag.hexor.cy/applications/argocd/comfyui) |
|
| **comfyui** | [](https://ag.hexor.cy/applications/argocd/comfyui) |
|
||||||
| **furumi-dev** | [](https://ag.hexor.cy/applications/argocd/furumi-dev) |
|
| **furumi** | [](https://ag.hexor.cy/applications/argocd/furumi) |
|
||||||
| **furumi-server** | [](https://ag.hexor.cy/applications/argocd/furumi-server) |
|
|
||||||
| **gitea** | [](https://ag.hexor.cy/applications/argocd/gitea) |
|
| **gitea** | [](https://ag.hexor.cy/applications/argocd/gitea) |
|
||||||
| **greece-notifier** | [](https://ag.hexor.cy/applications/argocd/greece-notifier) |
|
| **greece-notifier** | [](https://ag.hexor.cy/applications/argocd/greece-notifier) |
|
||||||
| **hexound** | [](https://ag.hexor.cy/applications/argocd/hexound) |
|
| **hexound** | [](https://ag.hexor.cy/applications/argocd/hexound) |
|
||||||
@@ -62,9 +64,12 @@ ArgoCD homelab project
|
|||||||
| **sonarr-stack** | [](https://ag.hexor.cy/applications/argocd/sonarr-stack) |
|
| **sonarr-stack** | [](https://ag.hexor.cy/applications/argocd/sonarr-stack) |
|
||||||
| **stirling-pdf** | [](https://ag.hexor.cy/applications/argocd/stirling-pdf) |
|
| **stirling-pdf** | [](https://ag.hexor.cy/applications/argocd/stirling-pdf) |
|
||||||
| **syncthing** | [](https://ag.hexor.cy/applications/argocd/syncthing) |
|
| **syncthing** | [](https://ag.hexor.cy/applications/argocd/syncthing) |
|
||||||
|
| **teamspeak** | [](https://ag.hexor.cy/applications/argocd/teamspeak) |
|
||||||
| **tg-bots** | [](https://ag.hexor.cy/applications/argocd/tg-bots) |
|
| **tg-bots** | [](https://ag.hexor.cy/applications/argocd/tg-bots) |
|
||||||
| **vaultwarden** | [](https://ag.hexor.cy/applications/argocd/vaultwarden) |
|
| **vaultwarden** | [](https://ag.hexor.cy/applications/argocd/vaultwarden) |
|
||||||
| **vpn** | [](https://ag.hexor.cy/applications/argocd/vpn) |
|
| **vpn** | [](https://ag.hexor.cy/applications/argocd/vpn) |
|
||||||
|
| **web-petting** | [](https://ag.hexor.cy/applications/argocd/web-petting) |
|
||||||
|
| **wedding** | [](https://ag.hexor.cy/applications/argocd/wedding) |
|
||||||
| **xandikos** | [](https://ag.hexor.cy/applications/argocd/xandikos) |
|
| **xandikos** | [](https://ag.hexor.cy/applications/argocd/xandikos) |
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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'
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: furumi-dev
|
name: furumi
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
spec:
|
spec:
|
||||||
project: apps
|
project: apps
|
||||||
destination:
|
destination:
|
||||||
namespace: furumi-dev
|
namespace: furumi
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
source:
|
source:
|
||||||
repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git
|
repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
path: k8s/apps/furumi-dev
|
path: k8s/apps/furumi
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
automated:
|
automated:
|
||||||
selfHeal: true
|
selfHeal: true
|
||||||
@@ -1,30 +1,30 @@
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: furumi-dev-player
|
name: furumi-player
|
||||||
labels:
|
labels:
|
||||||
app: furumi-dev-player
|
app: furumi-player
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: furumi-dev-player
|
app: furumi-player
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: furumi-dev-player
|
app: furumi-player
|
||||||
spec:
|
spec:
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
kubernetes.io/hostname: master.tail2fe2d.ts.net
|
kubernetes.io/hostname: music.tail2fe2d.ts.net
|
||||||
containers:
|
containers:
|
||||||
- name: furumi-dev-player
|
- name: furumi-player
|
||||||
image: ultradesu/furumusic:latest
|
image: ultradesu/furumusic:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
env:
|
env:
|
||||||
- name: FURU_DATABASE_URL
|
- name: FURU_DATABASE_URL
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: furumi-dev-creds
|
name: furumi-creds
|
||||||
key: PG_STRING
|
key: PG_STRING
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8000
|
- containerPort: 8000
|
||||||
@@ -37,10 +37,10 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: library
|
- name: library
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /k8s/furumi-dev/library-new
|
path: /data/furumi/library
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
- name: inbox
|
- name: inbox
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /k8s/furumi-dev/inbox-new
|
path: /data/furumi/inbox
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: furumi-ng-creds
|
name: furumi-ng-creds
|
||||||
spec:
|
spec:
|
||||||
target:
|
target:
|
||||||
name: furumi-dev-creds
|
name: furumi-creds
|
||||||
deletionPolicy: Delete
|
deletionPolicy: Delete
|
||||||
template:
|
template:
|
||||||
type: Opaque
|
type: Opaque
|
||||||
@@ -14,8 +14,8 @@ spec:
|
|||||||
# {{ .client_id }}
|
# {{ .client_id }}
|
||||||
#OIDC_CLIENT_SECRET: |-
|
#OIDC_CLIENT_SECRET: |-
|
||||||
# {{ .client_secret }}
|
# {{ .client_secret }}
|
||||||
#OIDC_ISSUER_URL: https://idm.hexor.cy/application/o/furumi-dev/
|
#OIDC_ISSUER_URL: https://idm.hexor.cy/application/o/furumi/
|
||||||
#OIDC_REDIRECT_URL: https://music-dev.hexor.cy/auth/callback
|
#OIDC_REDIRECT_URL: https://music.hexor.cy/auth/callback
|
||||||
#OIDC_SESSION_SECRET: |-
|
#OIDC_SESSION_SECRET: |-
|
||||||
# {{ .session_secret }}
|
# {{ .session_secret }}
|
||||||
PG_STRING: |-
|
PG_STRING: |-
|
||||||
@@ -2,26 +2,26 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
name: furumi-dev-tls-ingress
|
name: furumi-tls-ingress
|
||||||
annotations:
|
annotations:
|
||||||
ingressClassName: traefik
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt
|
cert-manager.io/cluster-issuer: letsencrypt
|
||||||
traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd
|
traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd
|
||||||
acme.cert-manager.io/http01-edit-in-place: "true"
|
acme.cert-manager.io/http01-edit-in-place: "true"
|
||||||
spec:
|
spec:
|
||||||
|
ingressClassName: traefik
|
||||||
rules:
|
rules:
|
||||||
- host: music-dev.hexor.cy
|
- host: music.hexor.cy
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
backend:
|
backend:
|
||||||
service:
|
service:
|
||||||
name: furumi-dev-player
|
name: furumi-player
|
||||||
port:
|
port:
|
||||||
number: 8000
|
number: 8000
|
||||||
tls:
|
tls:
|
||||||
- secretName: furumi-dev-tls
|
- secretName: furumi-tls
|
||||||
hosts:
|
hosts:
|
||||||
- music-dev.hexor.cy
|
- music.hexor.cy
|
||||||
|
|
||||||
@@ -2,13 +2,13 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: furumi-dev-player
|
name: furumi-player
|
||||||
labels:
|
labels:
|
||||||
app: furumi-dev-player
|
app: furumi-player
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
app: furumi-dev-player
|
app: furumi-player
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: http
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
---
|
---
|
||||||
image: &image 'pasarguard/node:v0.4.0'
|
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: DaemonSet
|
kind: DaemonSet
|
||||||
metadata:
|
metadata:
|
||||||
@@ -47,7 +46,7 @@ spec:
|
|||||||
mountPath: /scripts
|
mountPath: /scripts
|
||||||
containers:
|
containers:
|
||||||
- name: pasarguard-node
|
- name: pasarguard-node
|
||||||
image: *image
|
image: pasarguard/node:v0.4.0
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -220,4 +219,4 @@ roleRef:
|
|||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: pasarguard-node
|
name: pasarguard-node
|
||||||
namespace: pasarguard
|
namespace: pasarguard
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
---
|
---
|
||||||
image: &image 'pasarguard/panel:v4.0.2'
|
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
@@ -35,7 +34,7 @@ spec:
|
|||||||
mountPath: /templates/subscription
|
mountPath: /templates/subscription
|
||||||
containers:
|
containers:
|
||||||
- name: pasarguard-web
|
- name: pasarguard-web
|
||||||
image: *image
|
image: pasarguard/panel:v4.0.2
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
@@ -76,9 +75,6 @@ apiVersion: v1
|
|||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: pasarguard
|
name: pasarguard
|
||||||
annotations:
|
|
||||||
traefik.ingress.kubernetes.io/service.serversscheme: https
|
|
||||||
traefik.ingress.kubernetes.io/service.serverstransport: pasarguard-pasarguard-transport@kubernetescrd
|
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
app: pasarguard
|
app: pasarguard
|
||||||
|
|||||||
@@ -4,28 +4,23 @@ kind: ServersTransport
|
|||||||
metadata:
|
metadata:
|
||||||
name: pasarguard-transport
|
name: pasarguard-transport
|
||||||
spec:
|
spec:
|
||||||
|
serverName: ps.hexor.cy
|
||||||
insecureSkipVerify: true
|
insecureSkipVerify: true
|
||||||
---
|
---
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Ingress
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: pasarguard-ingress
|
name: pasarguard
|
||||||
annotations:
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: traefik
|
entryPoints:
|
||||||
rules:
|
- websecure
|
||||||
- host: ps.hexor.cy
|
routes:
|
||||||
http:
|
- match: Host(`ps.hexor.cy`)
|
||||||
paths:
|
kind: Rule
|
||||||
- path: /
|
services:
|
||||||
pathType: Prefix
|
- name: pasarguard
|
||||||
backend:
|
port: 80
|
||||||
service:
|
scheme: https
|
||||||
name: pasarguard
|
serversTransport: pasarguard-pasarguard-transport@kubernetescrd
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
tls:
|
tls:
|
||||||
- secretName: pasarguard-tls
|
secretName: pasarguard-tls
|
||||||
hosts:
|
|
||||||
- ps.hexor.cy
|
|
||||||
|
|||||||
@@ -41,6 +41,11 @@ oauth2_applications = {
|
|||||||
post_logout_redirect_uris = ["https://gf.hexor.cy/*"]
|
post_logout_redirect_uris = ["https://gf.hexor.cy/*"]
|
||||||
}
|
}
|
||||||
FuruMusic = {
|
FuruMusic = {
|
||||||
|
redirect_uris = ["https://music.hexor.cy/auth/oidc/callback"]
|
||||||
|
web_origins = ["https://music.hexor.cy"]
|
||||||
|
post_logout_redirect_uris = ["https://music.hexor.cy/*"]
|
||||||
|
}
|
||||||
|
FuruMusic-dev = {
|
||||||
redirect_uris = ["https://music-dev.hexor.cy/auth/oidc/callback", "http://127.0.0.1:3000/auth/oidc/callback", "http://10.0.5.103:3000/auth/oidc/callback"]
|
redirect_uris = ["https://music-dev.hexor.cy/auth/oidc/callback", "http://127.0.0.1:3000/auth/oidc/callback", "http://10.0.5.103:3000/auth/oidc/callback"]
|
||||||
web_origins = ["https://music-dev.hexor.cy", "http://127.0.0.1:3000", "http://10.0.5.103:3000"]
|
web_origins = ["https://music-dev.hexor.cy", "http://127.0.0.1:3000", "http://10.0.5.103:3000"]
|
||||||
post_logout_redirect_uris = ["https://music-dev.hexor.cy/*", "http://127.0.0.1:3000/*", "http://10.0.5.103:3000/*"]
|
post_logout_redirect_uris = ["https://music-dev.hexor.cy/*", "http://127.0.0.1:3000/*", "http://10.0.5.103:3000/*"]
|
||||||
|
|||||||
Reference in New Issue
Block a user