Compare commits

...

8 Commits

Author SHA1 Message Date
Gitea Actions Bot
69c2fa0609 Auto-update README with current k8s applications
All checks were successful
Terraform / Terraform (pull_request) Successful in 32s
Generated by CI/CD workflow on 2025-12-28 12:44:18

This PR updates the README.md file with the current list of applications found in the k8s/ directory structure.
2025-12-28 12:44:18 +00:00
35c072471a Fixed KHM desktop
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 8s
Check with kubeconform / lint (push) Successful in 12s
Auto-update README / Generate README and Create MR (push) Successful in 7s
2025-12-28 12:43:47 +00:00
9c0458c020 Fixed KHM desktop
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 8s
Check with kubeconform / lint (push) Successful in 9s
Auto-update README / Generate README and Create MR (push) Successful in 7s
2025-12-28 12:41:35 +00:00
28d5bcfabd Added KHM desktop
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 17s
Check with kubeconform / lint (push) Successful in 23s
Auto-update README / Generate README and Create MR (push) Successful in 7s
2025-12-28 12:37:32 +00:00
65b2aaa91d Added xandikos calendar
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 8s
Check with kubeconform / lint (push) Successful in 11s
Auto-update README / Generate README and Create MR (push) Successful in 6s
2025-12-23 01:54:30 +00:00
50e54e5692 Merge branch 'main' of ssh://gt.hexor.cy:30022/ab/homelab
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 8s
Check with kubeconform / lint (push) Successful in 11s
Auto-update README / Generate README and Create MR (push) Successful in 7s
2025-12-23 01:51:35 +00:00
b79aa17856 Added xandikos calendar 2025-12-23 01:51:24 +00:00
ab
d91b0928b7 Update k8s/core/postgresql/external-secrets.yaml
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 8s
Check with kubeconform / lint (push) Successful in 12s
Auto-update README / Generate README and Create MR (push) Successful in 7s
2025-12-23 01:41:18 +00:00
9 changed files with 148 additions and 1 deletions

View File

@@ -56,6 +56,7 @@ 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) |
| **xandikos** | [![xandikos](https://ag.hexor.cy/api/badge?name=xandikos&revision=true)](https://ag.hexor.cy/applications/argocd/xandikos) |
</td> </td>
</tr> </tr>

View File

@@ -0,0 +1,31 @@
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: mmdl-secrets
spec:
target:
name: mmdl-secrets
deletionPolicy: Delete
template:
type: Opaque
data:
DB_DIALECT: 'postgres'
DB_HOST: psql.psql.svc
DB_USER: mmdl
DB_NAME: mmdl
DB_PORT: "5432"
DB_PASS: |-
{{ .pg_pass }}
AES_PASSWORD: |-
{{ .pg_pass }}
data:
- secretKey: pg_pass
sourceRef:
storeRef:
name: vaultwarden-login
kind: ClusterSecretStore
remoteRef:
key: 2a9deb39-ef22-433e-a1be-df1555625e22
property: fields[12].value

View File

@@ -7,5 +7,5 @@ resources:
- mmdl-deployment.yaml - mmdl-deployment.yaml
- mmdl-service.yaml - mmdl-service.yaml
- ingress.yaml - ingress.yaml
- external-secrets.yaml

View File

@@ -26,6 +26,9 @@ spec:
- name: mmdl - name: mmdl
image: intriin/mmdl:latest image: intriin/mmdl:latest
imagePullPolicy: Always imagePullPolicy: Always
envFrom:
- secretRef:
name: mmdl-secrets
env: env:
- name: NEXTAUTH_URL - name: NEXTAUTH_URL
value: "https://cal.hexor.cy" value: "https://cal.hexor.cy"

View File

@@ -47,3 +47,20 @@ spec:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
sourceRepos: sourceRepos:
- ssh://git@gt.hexor.cy:30022/ab/homelab.git - ssh://git@gt.hexor.cy:30022/ab/homelab.git
---
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: desktop
namespace: argocd
spec:
clusterResourceWhitelist:
- group: '*'
kind: '*'
description: Hexor Home Lab Desktop Apps
destinations:
- namespace: '*'
server: https://kubernetes.default.svc
sourceRepos:
- ssh://git@gt.hexor.cy:30022/ab/homelab.git

View File

@@ -123,6 +123,8 @@ spec:
{{ .remnawave }} {{ .remnawave }}
USER_umami: |- USER_umami: |-
{{ .umami }} {{ .umami }}
USER_mmdl: |-
{{ .mmdl }}
data: data:
- secretKey: authentik - secretKey: authentik
sourceRef: sourceRef:
@@ -245,3 +247,14 @@ spec:
metadataPolicy: None metadataPolicy: None
key: 2a9deb39-ef22-433e-a1be-df1555625e22 key: 2a9deb39-ef22-433e-a1be-df1555625e22
property: fields[11].value property: fields[11].value
- secretKey: mmdl
sourceRef:
storeRef:
name: vaultwarden-login
kind: ClusterSecretStore
remoteRef:
conversionStrategy: Default
decodingStrategy: None
metadataPolicy: None
key: 2a9deb39-ef22-433e-a1be-df1555625e22
property: fields[12].value

18
k8s/desktop/khm/app.yaml Normal file
View File

@@ -0,0 +1,18 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: khm-client
namespace: argocd
spec:
project: desktop
destination:
namespace: default
server: https://kubernetes.default.svc
source:
repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git
targetRevision: HEAD
path: k8s/desktop/khm
syncPolicy:
automated:
selfHeal: true
prune: true

View File

@@ -0,0 +1,58 @@
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: khm-client
labels:
app: khm-client
spec:
schedule: "* * * * *"
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
jobTemplate:
spec:
template:
metadata:
labels:
app: khm-client
spec:
restartPolicy: OnFailure
nodeSelector:
node-role.kubernetes.io/desktop: ""
tolerations:
- key: workload
operator: Equal
value: desktop
effect: NoSchedule
hostNetwork: false
containers:
- name: khm-client
image: 'ultradesu/khm:latest'
imagePullPolicy: Always
securityContext:
privileged: false
resources:
requests:
memory: "64Mi"
cpu: "50m"
limits:
memory: "256Mi"
cpu: "200m"
command:
- /usr/local/bin/khm
- --known-hosts
- /host-ssh/known_hosts
- --host
- https://khm.hexor.cy
- --flow=work
- --basic-auth=ultradesu:JiMkWGaA0UZRkzzqtdPvvE0D5vIMCrH7LZGvK2Ux6eGSWECrPlh7UH1khdEm
- --in-place
volumeMounts:
- name: known-hosts
mountPath: /host-ssh/known_hosts
subPath: known_hosts
volumes:
- name: known-hosts
hostPath:
path: /home/ab/.ssh/known_hosts

View File

@@ -0,0 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- app.yaml
- khm-client-cronjob.yaml