Compare commits

..

1 Commits

Author SHA1 Message Date
Gitea Actions Bot adf4c7764b Auto-update README with current k8s applications
Terraform / Terraform (pull_request) Successful in 1m3s
Generated by CI/CD workflow on 2026-04-19 13:25:05

This PR updates the README.md file with the current list of applications found in the k8s/ directory structure.
2026-04-19 13:25:05 +00:00
16 changed files with 15 additions and 277 deletions
-1
View File
@@ -66,7 +66,6 @@ ArgoCD homelab project
| **tg-bots** | [![tg-bots](https://ag.hexor.cy/api/badge?name=tg-bots&revision=true)](https://ag.hexor.cy/applications/argocd/tg-bots) | | **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) | | **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) | | **vpn** | [![vpn](https://ag.hexor.cy/api/badge?name=vpn&revision=true)](https://ag.hexor.cy/applications/argocd/vpn) |
| **web-petting** | [![web-petting](https://ag.hexor.cy/api/badge?name=web-petting&revision=true)](https://ag.hexor.cy/applications/argocd/web-petting) |
| **wedding** | [![wedding](https://ag.hexor.cy/api/badge?name=wedding&revision=true)](https://ag.hexor.cy/applications/argocd/wedding) | | **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) | | **xandikos** | [![xandikos](https://ag.hexor.cy/api/badge?name=xandikos&revision=true)](https://ag.hexor.cy/applications/argocd/xandikos) |
-2
View File
@@ -48,8 +48,6 @@ spec:
value: "true" value: "true"
- name: GITEA__service__CAPTCHA_TYPE - name: GITEA__service__CAPTCHA_TYPE
value: "hcaptcha" value: "hcaptcha"
- name: GITEA__webhook__ALLOWED_HOST_LIST
value: "*"
envFrom: envFrom:
- secretRef: - secretRef:
name: gitea-recapcha-creds name: gitea-recapcha-creds
+8 -8
View File
@@ -60,8 +60,8 @@ synapse:
storage: storage:
size: 20Gi size: 20Gi
maxUploadSize: 100M maxUploadSize: 100M
nodeSelector: # nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net # kubernetes.io/hostname: nas.homenet
## Matrix Authentication Service ## Matrix Authentication Service
matrixAuthenticationService: matrixAuthenticationService:
@@ -88,24 +88,24 @@ matrixAuthenticationService:
1-oidc: 1-oidc:
configSecret: matrix-oidc-config configSecret: matrix-oidc-config
configSecretKey: mas-oidc.yaml configSecretKey: mas-oidc.yaml
nodeSelector: # nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net # kubernetes.io/hostname: nas.homenet
## Element Web client ## Element Web client
elementWeb: elementWeb:
enabled: true enabled: true
ingress: ingress:
host: chat.matrix.hexor.cy host: chat.matrix.hexor.cy
nodeSelector: # nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net # kubernetes.io/hostname: nas.homenet
## Element Admin panel ## Element Admin panel
elementAdmin: elementAdmin:
enabled: true enabled: true
ingress: ingress:
host: admin.matrix.hexor.cy host: admin.matrix.hexor.cy
nodeSelector: # nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net # kubernetes.io/hostname: nas.homenet
## Well-known delegation on the base domain (host is derived from serverName) ## Well-known delegation on the base domain (host is derived from serverName)
wellKnownDelegation: wellKnownDelegation:
+1 -4
View File
@@ -34,7 +34,7 @@ spec:
mountPath: /templates/subscription mountPath: /templates/subscription
containers: containers:
- name: pasarguard-web - name: pasarguard-web
image: 'pasarguard/panel:v3.0.1' image: 'pasarguard/panel:dev'
imagePullPolicy: Always imagePullPolicy: Always
envFrom: envFrom:
- secretRef: - secretRef:
@@ -75,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
-31
View File
@@ -1,31 +0,0 @@
---
apiVersion: traefik.io/v1alpha1
kind: ServersTransport
metadata:
name: pasarguard-transport
spec:
insecureSkipVerify: true
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pasarguard-ingress
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
spec:
ingressClassName: traefik
rules:
- host: ps.hexor.cy
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: pasarguard
port:
number: 80
tls:
- secretName: pasarguard-tls
hosts:
- ps.hexor.cy
-1
View File
@@ -9,4 +9,3 @@ resources:
- ./certificate.yaml - ./certificate.yaml
- ./configmap-scripts.yaml - ./configmap-scripts.yaml
- ./servicemonitor.yaml - ./servicemonitor.yaml
- ./ingress.yaml
-21
View File
@@ -1,21 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: web-petting
namespace: argocd
spec:
project: apps
destination:
namespace: web-petting
server: https://kubernetes.default.svc
source:
repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git
targetRevision: HEAD
path: k8s/apps/web-petting
syncPolicy:
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true
-54
View File
@@ -1,54 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-petting
labels:
app: web-petting
spec:
replicas: 1
selector:
matchLabels:
app: web-petting
template:
metadata:
labels:
app: web-petting
spec:
nodeSelector:
kubernetes.io/os: linux
volumes:
- name: data
persistentVolumeClaim:
claimName: web-petting-data
containers:
- name: web-petting
image: ultradesu/web-petting:0.1.0
imagePullPolicy: Always
args:
- "web-petting"
- "-l"
- "0.0.0.0:3000"
ports:
- containerPort: 3000
name: http
volumeMounts:
- name: data
mountPath: /data
env:
- name: RUST_LOG
value: "info"
resources:
requests:
memory: "64Mi"
cpu: "50m"
limits:
memory: "128Mi"
cpu: "150m"
securityContext:
runAsNonRoot: true
runAsUser: 1000
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
-27
View File
@@ -1,27 +0,0 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-petting-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: pet.hexor.cy
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web-petting
port:
number: 80
tls:
- secretName: web-petting-tls
hosts:
- pet.hexor.cy
-10
View File
@@ -1,10 +0,0 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- app.yaml
- deployment.yaml
- service.yaml
- ingress.yaml
- storage.yaml
-15
View File
@@ -1,15 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: web-petting
labels:
app: web-petting
spec:
type: ClusterIP
selector:
app: web-petting
ports:
- port: 80
targetPort: 3000
protocol: TCP
name: http
-12
View File
@@ -1,12 +0,0 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: web-petting-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 10Gi
+4 -13
View File
@@ -15,8 +15,6 @@ spec:
labels: labels:
app: wedding app: wedding
spec: spec:
nodeSelector:
kubernetes.io/hostname: spb.tail2fe2d.ts.net
initContainers: initContainers:
- name: git-clone - name: git-clone
image: alpine/git:latest image: alpine/git:latest
@@ -28,17 +26,11 @@ spec:
- name: source - name: source
mountPath: /src mountPath: /src
- name: zola-build - name: zola-build
image: ghcr.io/getzola/zola:v0.22.1 image: ghcr.io/getzola/zola:v0.19.2
command: command:
- /bin/zola - sh
args: - -c
- --root - cd /src && zola build --output-dir /public
- /src
- build
- --base-url
- https://wedding.hexor.cy/
- --output-dir
- /public/html
volumeMounts: volumeMounts:
- name: source - name: source
mountPath: /src mountPath: /src
@@ -53,7 +45,6 @@ spec:
volumeMounts: volumeMounts:
- name: public - name: public
mountPath: /usr/share/nginx/html mountPath: /usr/share/nginx/html
subPath: html
readOnly: true readOnly: true
resources: resources:
requests: requests:
-1
View File
@@ -7,4 +7,3 @@ resources:
- deployment.yaml - deployment.yaml
- service.yaml - service.yaml
- ingress.yaml - ingress.yaml
- webhook.yaml
-71
View File
@@ -1,71 +0,0 @@
---
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
+2 -6
View File
@@ -7,8 +7,6 @@ metadata:
spec: spec:
concurrency: 1 concurrency: 1
cordon: true cordon: true
tolerations:
- operator: Exists
nodeSelector: nodeSelector:
matchExpressions: matchExpressions:
- key: node-role.kubernetes.io/control-plane - key: node-role.kubernetes.io/control-plane
@@ -18,7 +16,7 @@ spec:
serviceAccountName: system-upgrade serviceAccountName: system-upgrade
upgrade: upgrade:
image: rancher/k3s-upgrade image: rancher/k3s-upgrade
version: v1.35.4+k3s1 version: v1.35.2+k3s1
--- ---
# Agent plan # Agent plan
apiVersion: upgrade.cattle.io/v1 apiVersion: upgrade.cattle.io/v1
@@ -29,8 +27,6 @@ metadata:
spec: spec:
concurrency: 1 concurrency: 1
cordon: true cordon: true
tolerations:
- operator: Exists
nodeSelector: nodeSelector:
matchExpressions: matchExpressions:
- key: node-role.kubernetes.io/control-plane - key: node-role.kubernetes.io/control-plane
@@ -43,4 +39,4 @@ spec:
serviceAccountName: system-upgrade serviceAccountName: system-upgrade
upgrade: upgrade:
image: rancher/k3s-upgrade image: rancher/k3s-upgrade
version: v1.35.4+k3s1 version: v1.35.2+k3s1