diff --git a/k8s/apps/furumi-server/app.yaml b/k8s/apps/furumi-server/app.yaml new file mode 100644 index 0000000..07bc8c0 --- /dev/null +++ b/k8s/apps/furumi-server/app.yaml @@ -0,0 +1,20 @@ +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 new file mode 100644 index 0000000..678f12e --- /dev/null +++ b/k8s/apps/furumi-server/deployment.yaml @@ -0,0 +1,42 @@ +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:latest + imagePullPolicy: Always + env: + - name: FURUMI_TOKEN + value: "f38387266e75effe891b7953eb9c06b4" + - name: FURUMI_ROOT + value: "/media" + ports: + - name: grpc + containerPort: 50051 + protocol: TCP + - name: metrics + containerPort: 9090 + 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/kustomization.yaml b/k8s/apps/furumi-server/kustomization.yaml new file mode 100644 index 0000000..f8d52aa --- /dev/null +++ b/k8s/apps/furumi-server/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - app.yaml + - deployment.yaml + - service.yaml + - servicemonitor.yaml diff --git a/k8s/apps/furumi-server/service.yaml b/k8s/apps/furumi-server/service.yaml new file mode 100644 index 0000000..6e14d53 --- /dev/null +++ b/k8s/apps/furumi-server/service.yaml @@ -0,0 +1,30 @@ +--- +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 diff --git a/k8s/apps/furumi-server/servicemonitor.yaml b/k8s/apps/furumi-server/servicemonitor.yaml new file mode 100644 index 0000000..a844468 --- /dev/null +++ b/k8s/apps/furumi-server/servicemonitor.yaml @@ -0,0 +1,21 @@ +--- +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