Compare commits

..

14 Commits

Author SHA1 Message Date
Gitea Actions Bot adf87ccbf7 Auto-update README with current k8s applications
Terraform / Terraform (pull_request) Failing after 13s
Generated by CI/CD workflow on 2026-04-20 08:54:45

This PR updates the README.md file with the current list of applications found in the k8s/ directory structure.
2026-04-20 08:54:45 +00:00
Ultradesu 9db4eb9a0b Fixed gitea
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
Check with kubeconform / lint (push) Successful in 8s
Auto-update README / Generate README and Create MR (push) Successful in 6s
2026-04-20 11:53:36 +03:00
Ultradesu b46dc07dbf Fix zola restart
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 8s
Check with kubeconform / lint (push) Successful in 8s
Auto-update README / Generate README and Create MR (push) Successful in 8s
2026-04-20 11:42:27 +03:00
Ultradesu 0e933a50d6 Fix zola version
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 13s
Check with kubeconform / lint (push) Successful in 6s
Auto-update README / Generate README and Create MR (push) Successful in 7s
2026-04-20 11:25:49 +03:00
Ultradesu 7955561b98 Fix zola nodeselector
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 5s
Check with kubeconform / lint (push) Successful in 6s
Auto-update README / Generate README and Create MR (push) Successful in 5s
2026-04-20 11:22:37 +03:00
Ultradesu 28f6924218 Fix zola ГКД
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 8s
Check with kubeconform / lint (push) Successful in 8s
Auto-update README / Generate README and Create MR (push) Successful in 11s
2026-04-20 11:17:12 +03:00
Ultradesu a2be6f6593 Fix zola mounts
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 19s
Check with kubeconform / lint (push) Successful in 8s
Auto-update README / Generate README and Create MR (push) Successful in 6s
2026-04-20 11:12:12 +03:00
Ultradesu 86817e5c94 Fix zola autostart
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 6s
Check with kubeconform / lint (push) Successful in 6s
Auto-update README / Generate README and Create MR (push) Successful in 7s
2026-04-20 11:09:01 +03:00
Ultradesu 16010ea70e Fix zola autostart
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 5s
2026-04-20 11:08:09 +03:00
ab 7d322103cf Merge branch 'main' of ssh://gt.hexor.cy:30022/ab/homelab
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 13s
Check with kubeconform / lint (push) Successful in 58s
Auto-update README / Generate README and Create MR (push) Successful in 11s
2026-04-19 16:22:59 +03:00
ab f7e763b3c2 Added wedding site 2026-04-19 16:22:25 +03:00
Ultradesu 69fff5bc1f Added teamspeak
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 13s
Check with kubeconform / lint (push) Successful in 9s
Auto-update README / Generate README and Create MR (push) Successful in 10s
2026-04-15 12:54:48 +03:00
ab 75a61a1889 Update k8s/games/minecraft/deployments.yaml
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 27s
Check with kubeconform / lint (push) Successful in 32s
Auto-update README / Generate README and Create MR (push) Successful in 8s
2026-04-14 20:12:37 +00:00
ab 06ec36d718 Merge pull request 'Auto-update README with k8s applications' (#293) from auto-update-readme-20260412-115128 into main
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 10s
Reviewed-on: #293
2026-04-12 14:25:45 +00:00
15 changed files with 366 additions and 1 deletions
+2
View File
@@ -62,9 +62,11 @@ ArgoCD homelab project
| **sonarr-stack** | [![sonarr-stack](https://ag.hexor.cy/api/badge?name=sonarr-stack&revision=true)](https://ag.hexor.cy/applications/argocd/sonarr-stack) |
| **stirling-pdf** | [![stirling-pdf](https://ag.hexor.cy/api/badge?name=stirling-pdf&revision=true)](https://ag.hexor.cy/applications/argocd/stirling-pdf) |
| **syncthing** | [![syncthing](https://ag.hexor.cy/api/badge?name=syncthing&revision=true)](https://ag.hexor.cy/applications/argocd/syncthing) |
| **teamspeak** | [![teamspeak](https://ag.hexor.cy/api/badge?name=teamspeak&revision=true)](https://ag.hexor.cy/applications/argocd/teamspeak) |
| **tg-bots** | [![tg-bots](https://ag.hexor.cy/api/badge?name=tg-bots&revision=true)](https://ag.hexor.cy/applications/argocd/tg-bots) |
| **vaultwarden** | [![vaultwarden](https://ag.hexor.cy/api/badge?name=vaultwarden&revision=true)](https://ag.hexor.cy/applications/argocd/vaultwarden) |
| **vpn** | [![vpn](https://ag.hexor.cy/api/badge?name=vpn&revision=true)](https://ag.hexor.cy/applications/argocd/vpn) |
| **wedding** | [![wedding](https://ag.hexor.cy/api/badge?name=wedding&revision=true)](https://ag.hexor.cy/applications/argocd/wedding) |
| **xandikos** | [![xandikos](https://ag.hexor.cy/api/badge?name=xandikos&revision=true)](https://ag.hexor.cy/applications/argocd/xandikos) |
</td>
+2
View File
@@ -48,6 +48,8 @@ spec:
value: "true"
- name: GITEA__service__CAPTCHA_TYPE
value: "hcaptcha"
- name: GITEA__webhook__ALLOWED_HOST_LIST
value: "loopback,private_addresses"
envFrom:
- secretRef:
name: gitea-recapcha-creds
+20
View File
@@ -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
+49
View File
@@ -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
+8
View File
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- app.yaml
- storage.yaml
- deployment.yaml
- service.yaml
+22
View File
@@ -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
+12
View File
@@ -0,0 +1,12 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: teamspeak-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 5Gi
+20
View File
@@ -0,0 +1,20 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: wedding
namespace: argocd
spec:
project: apps
destination:
namespace: wedding
server: https://kubernetes.default.svc
source:
repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git
targetRevision: HEAD
path: k8s/apps/wedding
syncPolicy:
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true
+69
View File
@@ -0,0 +1,69 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wedding
labels:
app: wedding
spec:
replicas: 1
selector:
matchLabels:
app: wedding
template:
metadata:
labels:
app: wedding
spec:
nodeSelector:
kubernetes.io/hostname: spb.tail2fe2d.ts.net
initContainers:
- name: git-clone
image: alpine/git:latest
command:
- sh
- -c
- git clone --depth 1 https://gt.hexor.cy/ab/wedding.git /src
volumeMounts:
- name: source
mountPath: /src
- name: zola-build
image: ghcr.io/getzola/zola:v0.22.1
command:
- /bin/zola
args:
- --root
- /src
- build
- --base-url
- https://wedding.hexor.cy/
- --output-dir
- /public/html
volumeMounts:
- name: source
mountPath: /src
- name: public
mountPath: /public
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
protocol: TCP
volumeMounts:
- name: public
mountPath: /usr/share/nginx/html
subPath: html
readOnly: true
resources:
requests:
memory: 32Mi
cpu: 10m
limits:
memory: 64Mi
cpu: 100m
volumes:
- name: source
emptyDir: {}
- name: public
emptyDir: {}
+26
View File
@@ -0,0 +1,26 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: wedding-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: wedding.hexor.cy
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: wedding
port:
number: 80
tls:
- secretName: wedding-tls
hosts:
- wedding.hexor.cy
+10
View File
@@ -0,0 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- app.yaml
- rbac.yaml
- deployment.yaml
- service.yaml
- ingress.yaml
- webhook.yaml
+42
View File
@@ -0,0 +1,42 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: wedding-deployer
namespace: wedding
---
apiVersion: v1
kind: Secret
metadata:
name: wedding-deployer-token
namespace: wedding
annotations:
kubernetes.io/service-account.name: wedding-deployer
type: kubernetes.io/service-account-token
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: wedding-restart
namespace: wedding
rules:
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["get", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: wedding-deployer-restart
namespace: wedding
subjects:
- kind: ServiceAccount
name: wedding-deployer
namespace: wedding
roleRef:
kind: Role
name: wedding-restart
apiGroup: rbac.authorization.k8s.io
+12
View File
@@ -0,0 +1,12 @@
---
apiVersion: v1
kind: Service
metadata:
name: wedding
spec:
selector:
app: wedding
ports:
- port: 80
targetPort: 80
protocol: TCP
+71
View File
@@ -0,0 +1,71 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: webhook-script
data:
serve.sh: |
#!/bin/sh
echo "Webhook server listening on :8080"
while true; do
echo -e "HTTP/1.1 200 OK\r\nContent-Length: 2\r\nConnection: close\r\n\r\nok" \
| nc -l -p 8080 > /dev/null
echo "Received webhook, restarting deployment..."
kubectl rollout restart deployment/wedding
done
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wedding-webhook
labels:
app: wedding-webhook
spec:
replicas: 1
selector:
matchLabels:
app: wedding-webhook
template:
metadata:
labels:
app: wedding-webhook
spec:
nodeSelector:
kubernetes.io/hostname: spb.tail2fe2d.ts.net
serviceAccountName: wedding-deployer
containers:
- name: webhook
image: alpine/k8s:1.32.3
command: ["sh", "/scripts/serve.sh"]
ports:
- containerPort: 8080
protocol: TCP
volumeMounts:
- name: script
mountPath: /scripts
readOnly: true
resources:
requests:
memory: 16Mi
cpu: 5m
limits:
memory: 32Mi
cpu: 50m
volumes:
- name: script
configMap:
name: webhook-script
---
apiVersion: v1
kind: Service
metadata:
name: wedding-webhook
spec:
selector:
app: wedding-webhook
ports:
- port: 8080
targetPort: 8080
protocol: TCP
+1 -1
View File
@@ -35,7 +35,7 @@ spec:
terminationGracePeriodSeconds: 10
containers:
- name: minecraft
image: 'openjdk:8-jdk-alpine'
image: 'eclipse-temurin:8-jdk-ubi10-minimal'
command: ["java"]
args:
- -Xms4G