From 69fff5bc1f0210d140a34f0405b272bdfc9f7932 Mon Sep 17 00:00:00 2001 From: Ultradesu Date: Wed, 15 Apr 2026 12:54:48 +0300 Subject: [PATCH] Added teamspeak --- k8s/apps/teamspeak/app.yaml | 20 +++++++++++ k8s/apps/teamspeak/deployment.yaml | 49 +++++++++++++++++++++++++++ k8s/apps/teamspeak/kustomization.yaml | 8 +++++ k8s/apps/teamspeak/service.yaml | 22 ++++++++++++ k8s/apps/teamspeak/storage.yaml | 12 +++++++ 5 files changed, 111 insertions(+) create mode 100644 k8s/apps/teamspeak/app.yaml create mode 100644 k8s/apps/teamspeak/deployment.yaml create mode 100644 k8s/apps/teamspeak/kustomization.yaml create mode 100644 k8s/apps/teamspeak/service.yaml create mode 100644 k8s/apps/teamspeak/storage.yaml diff --git a/k8s/apps/teamspeak/app.yaml b/k8s/apps/teamspeak/app.yaml new file mode 100644 index 0000000..051aa50 --- /dev/null +++ b/k8s/apps/teamspeak/app.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: teamspeak + namespace: argocd +spec: + project: apps + destination: + namespace: teamspeak + server: https://kubernetes.default.svc + source: + repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git + targetRevision: HEAD + path: k8s/apps/teamspeak + syncPolicy: + automated: + selfHeal: true + prune: true + syncOptions: + - CreateNamespace=true diff --git a/k8s/apps/teamspeak/deployment.yaml b/k8s/apps/teamspeak/deployment.yaml new file mode 100644 index 0000000..5839e73 --- /dev/null +++ b/k8s/apps/teamspeak/deployment.yaml @@ -0,0 +1,49 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: teamspeak + labels: + app: teamspeak +spec: + selector: + matchLabels: + app: teamspeak + replicas: 1 + strategy: + type: Recreate + template: + metadata: + labels: + app: teamspeak + spec: + volumes: + - name: data + persistentVolumeClaim: + claimName: teamspeak-data + containers: + - name: teamspeak + image: 'teamspeak:latest' + env: + - name: TS3SERVER_LICENSE + value: "accept" + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "512Mi" + cpu: "1000m" + ports: + - name: voice + containerPort: 9987 + protocol: UDP + - name: filetransfer + containerPort: 30033 + protocol: TCP + - name: serverquery + containerPort: 10011 + protocol: TCP + volumeMounts: + - name: data + mountPath: /var/ts3server diff --git a/k8s/apps/teamspeak/kustomization.yaml b/k8s/apps/teamspeak/kustomization.yaml new file mode 100644 index 0000000..ce34f50 --- /dev/null +++ b/k8s/apps/teamspeak/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - app.yaml + - storage.yaml + - deployment.yaml + - service.yaml diff --git a/k8s/apps/teamspeak/service.yaml b/k8s/apps/teamspeak/service.yaml new file mode 100644 index 0000000..cfd3df6 --- /dev/null +++ b/k8s/apps/teamspeak/service.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: teamspeak +spec: + type: LoadBalancer + selector: + app: teamspeak + ports: + - name: voice + protocol: UDP + port: 9987 + targetPort: 9987 + - name: filetransfer + protocol: TCP + port: 30033 + targetPort: 30033 + - name: serverquery + protocol: TCP + port: 10011 + targetPort: 10011 diff --git a/k8s/apps/teamspeak/storage.yaml b/k8s/apps/teamspeak/storage.yaml new file mode 100644 index 0000000..9635136 --- /dev/null +++ b/k8s/apps/teamspeak/storage.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: teamspeak-data +spec: + accessModes: + - ReadWriteOnce + storageClassName: longhorn + resources: + requests: + storage: 5Gi