Compare commits

..
Author SHA1 Message Date
srv.renovate 5ef95f1d88 chore(deps): update helm release sealed-secrets to v2.17.9 2025-11-14 12:03:34 +00:00
37 changed files with 282 additions and 196 deletions
-6
View File
@@ -48,12 +48,6 @@ Retrieve public/private keys (*store these on a **secure** location!*):
kubectl get secret -n kube-system -l sealedsecrets.bitnami.com/sealed-secrets-key -o yaml > BitnamiSealedSecrets.masterkey.yml kubectl get secret -n kube-system -l sealedsecrets.bitnami.com/sealed-secrets-key -o yaml > BitnamiSealedSecrets.masterkey.yml
``` ```
Restoring public/private keys:
```shell
kubectl apply -f BitnamiSealedSecrets.masterkey.yml
kubectl rollout restart deployment -n kube-system sealed-secrets-controller
```
### 5) Services ### 5) Services
##### 5.1) [Gitea](https://gitea.io/) <small>(git repository)</small> ##### 5.1) [Gitea](https://gitea.io/) <small>(git repository)</small>
*Required for all other workloads* *Required for all other workloads*
-3
View File
@@ -8,8 +8,5 @@
"prHourlyLimit": 0, "prHourlyLimit": 0,
"argocd": { "argocd": {
"managerFilePatterns": ["/\\.yaml$/"] "managerFilePatterns": ["/\\.yaml$/"]
},
"kubernetes": {
"managerFilePatterns": ["/\\.yaml$/"]
} }
} }
@@ -1,4 +1,4 @@
apiVersion: v1 apiVersion: v1
kind: Namespace kind: Namespace
metadata: metadata:
name: nextexplorer name: argus
@@ -1,11 +1,11 @@
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata: metadata:
name: nextexplorer name: argus
namespace: argo-cd namespace: argo-cd
spec: spec:
destination: destination:
namespace: nextexplorer namespace: argus
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
project: default project: default
syncPolicy: syncPolicy:
@@ -14,5 +14,5 @@ spec:
- CreateNamespace=true - CreateNamespace=true
sources: sources:
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
path: services/NextExplorer path: services/Argus
targetRevision: HEAD targetRevision: HEAD
+38
View File
@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: argus
namespace: argus
labels:
app: argus
spec:
replicas: 1
selector:
matchLabels:
app: argus
template:
metadata:
labels:
app: argus
spec:
serviceAccountName: argus
containers:
- name: argus
image: releaseargus/argus:0.21.0
args:
- -config.file=/app/config/config.yml
ports:
- name: web
containerPort: 8080
volumeMounts:
- name: csismb-argus-config
mountPath: /app/config
- name: csismb-argus-data
mountPath: /app/data
volumes:
- name: csismb-argus-config
persistentVolumeClaim:
claimName: csismb-argus-config
- name: csismb-argus-data
persistentVolumeClaim:
claimName: csismb-argus-data
@@ -1,17 +1,18 @@
apiVersion: traefik.io/v1alpha1 apiVersion: traefik.io/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: nextexplorer name: argus
namespace: nextexplorer namespace: argus
spec: spec:
entryPoints: entryPoints:
- websecure - websecure
routes: routes:
- match: Host(`st.itch.fyi`) - match: Host(`release.spamasaurus.com`)
kind: Rule kind: Rule
services: services:
- name: nextexplorer - name: argus
port: 3000 port: 8080
middlewares: middlewares:
- name: 2fa-authentication@file
- name: security-headers@file - name: security-headers@file
# - name: compression@file # - name: compression@file
@@ -3,14 +3,14 @@ kind: PersistentVolume
metadata: metadata:
annotations: annotations:
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
name: csismb-nextexplorer-cache name: csismb-argus-config
spec: spec:
capacity: capacity:
storage: 1Gi storage: 1Gi
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
storageClassName: csismb-nextexplorer-cache storageClassName: csismb-argus-config
mountOptions: mountOptions:
- dir_mode=0777 - dir_mode=0777
- file_mode=0777 - file_mode=0777
@@ -22,10 +22,10 @@ spec:
driver: smb.csi.k8s.io driver: smb.csi.k8s.io
# volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name}
# make sure this value is unique for every share in the cluster # make sure this value is unique for every share in the cluster
volumeHandle: 192.168.154.195#nextexplorer#cache volumeHandle: 192.168.154.195#argus#config
volumeAttributes: volumeAttributes:
source: //192.168.154.195/K3s.Volumes source: //192.168.154.195/K3s.Volumes
subDir: nextexplorer/cache subDir: argus/config
nodeStageSecretRef: nodeStageSecretRef:
name: smb-credentials name: smb-credentials
namespace: nextexplorer namespace: argus
@@ -3,14 +3,14 @@ kind: PersistentVolume
metadata: metadata:
annotations: annotations:
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
name: csismb-nextexplorer-config name: csismb-argus-data
spec: spec:
capacity: capacity:
storage: 1Gi storage: 1Gi
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
storageClassName: csismb-nextexplorer-config storageClassName: csismb-argus-data
mountOptions: mountOptions:
- dir_mode=0777 - dir_mode=0777
- file_mode=0777 - file_mode=0777
@@ -22,10 +22,10 @@ spec:
driver: smb.csi.k8s.io driver: smb.csi.k8s.io
# volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name}
# make sure this value is unique for every share in the cluster # make sure this value is unique for every share in the cluster
volumeHandle: 192.168.154.195#nextexplorer#config volumeHandle: 192.168.154.195#argus#data
volumeAttributes: volumeAttributes:
source: //192.168.154.195/K3s.Volumes source: //192.168.154.195/K3s.Volumes
subDir: nextexplorer/config subDir: argus/data
nodeStageSecretRef: nodeStageSecretRef:
name: smb-credentials name: smb-credentials
namespace: nextexplorer namespace: argus
@@ -1,12 +1,12 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: csismb-nextexplorer-cache name: csismb-argus-config
namespace: nextexplorer namespace: argus
spec: spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
storageClassName: csismb-nextexplorer-cache storageClassName: csismb-argus-config
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi
@@ -1,12 +1,12 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: csismb-nextexplorer-config name: csismb-argus-data
namespace: nextexplorer namespace: argus
spec: spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
storageClassName: csismb-nextexplorer-config storageClassName: csismb-argus-data
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi
@@ -0,0 +1,16 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: smb-credentials
namespace: argus
spec:
encryptedData:
password: AgB8gU7Lj+Pn5B/oC8HtyKnKUzSvB7NRvxJOC2UmKjt3hj3pcRmfKrEh2khkcfSksb6x3f4ttIxYV2uFsXJfL4Wvi6zhsgvfgUHT12oD1/fuxD0LvHCm9otlGp8yyiQu5mPrFBdsGJswreBY53sD0UUdgu2riAlX0ESm+xKhzDJ6eSM8/Iz9Dq4GIhivLZ3OcZJw9hbgbelICIgvuxJZ3bWLfakPdeNDQUoayZuG3Z4GW0KPiqOMyaWz1/rljMHFaZHnFaszgKobwzPihsWWAnXEWmn54fwVBqfe/jNIo8CBvjlZGnMzinaS5lKTHObEVIG+F0XRI5VNFPa89NbsGKN71HJMFYU729lzdl58yy6B/5K789JRtxWUi/8I/7H8kLZWzUhUOqAcmLpVHKWnkH0Ub4MLtDyAaTJam5HqTtsvPDMW3+njiC+8vxC3n0X7q7pzAQQzM5JPZ7G/On6irFKe4LryfrphHiCB/gyJlLpBMXUqKJ4MvzUQU8G8e8W3OLMbtPl0O6oFuFxD8bUA4gdkoPO04bxlLvRmxlmavkbA0vFi60L6eyIOq5yzxvuEd7tzyD7SEO49hb8zW/LS/+H/PE/fCVT6crn+UbNOhgyaHR8pxlNpy6Z4PAti3mG8ZOtKVD0mx6fm8BCPHfWVFyC5YO6kNI285o4uuqsQI+SSZ+zkxwlFwvLcp1RdfJZFLUNyrQm3mlvMUY9xjZANlCHZ
username: AgB67La0V5HRLzZ1RqR0Y0nufYKq3z0SK/go4AQ0aaZwQEE/mIy0c6xhdkwup7ava4PzTyOavEEQoluhojOcrVTz9qKUHoMQHcnhS3NagBc/QCeA+2rL15qw9ZUn5+sSU4OhM3UNCTy2jF1kMoXr2cdCi9pALRdAXPLhrccPoaItmWkA4bMRIe3on78BQUOlhF+zJjcMciPlDo+9ywY8ArShMHj5YlRgWQ6uOJmIH5FFp2BcXKP5d0gALoVQ4/Ek4zIkk4YubtO1C0sqfbvkTW+oxeymUSLd2PddGyF18iohfrgje6PQAvvtkDBX2hUuVcp8h2oFj2JkeZld4neOYpDFbdKwe1aGep24GxbYIt24j+iFfs8txqXhQQsHJWJmwHNB2798gPvjIxPC+G90V4/drsjr7KiAgdWKUaqU5JMDVo2HTSplyWpS1LZIGQmloafWiAXvTWQVIEg2044TXQIq2X7k3npbHU/KcWmlMqR1546QawsZAnohWaOIskqEBkG7nXx/eeYk7LVppP2TqdRtt+VfuvptXgfFhkOB2wUSOwqWH7OkQu/k3jtPR0FVJni+Hc1/+fKfuStwvEX+/1bdjZuS8DUGelOb1d/pXrHw+KypfzXcOoDaO31hJMQOEalXZc2GNJleAvLAxv34s8fFWKWvnEXqwYIaNwRPvX64GtencJwyFo/rdO/HH7gVIhA2DCDQwB0=
template:
metadata:
creationTimestamp: null
name: smb-credentials
namespace: argus
type: Opaque
@@ -1,12 +1,12 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: nextexplorer name: argus
namespace: nextexplorer namespace: argus
spec: spec:
ports: ports:
- protocol: TCP - protocol: TCP
name: web name: web
port: 3000 port: 8080
selector: selector:
app: nextexplorer app: argus
+7
View File
@@ -0,0 +1,7 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: argus
namespace: argus
labels:
app: argus
@@ -28,4 +28,4 @@ spec:
subDir: ddclient/config subDir: ddclient/config
nodeStageSecretRef: nodeStageSecretRef:
name: smb-credentials name: smb-credentials
namespace: ddclient namespace: argus
+2 -1
View File
@@ -21,7 +21,8 @@ spec:
targetRevision: master targetRevision: master
- repoURL: https://dl.gitea.com/charts/ - repoURL: https://dl.gitea.com/charts/
chart: gitea chart: gitea
targetRevision: 12.7.0 # targetRevision: 11.0.0
targetRevision: 12.4.0
helm: helm:
valueFiles: valueFiles:
- $values/services/Gitea/values.yaml - $values/services/Gitea/values.yaml
@@ -70,15 +70,12 @@ spec:
- mountPath: /data - mountPath: /data
name: data-act-runner name: data-act-runner
- name: dind - name: dind
# image: "docker:28.3.2-dind" image: "docker:28.3.2-dind"
image: "docker:29.8.1-dind"
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: args:
- dockerd - dockerd
- --host=tcp://127.0.0.1:2375 - --host=tcp://127.0.0.1:2375
- --host=unix:///var/run/docker.sock - --host=unix:///var/run/docker.sock
- --mtu=1450
- --default-network-opt=bridge=com.docker.network.driver.mtu=1450
env: env:
- name: DOCKER_TLS_VERIFY - name: DOCKER_TLS_VERIFY
value: "" value: ""
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: ldapwrapper
@@ -0,0 +1,18 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: ldapwrapper
namespace: argo-cd
spec:
destination:
server: https://kubernetes.default.svc
namespace: ldapwrapper
project: default
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
sources:
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
path: services/LdapWrapper
targetRevision: HEAD
@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: ldapwrapper
namespace: ldapwrapper
labels:
app: ldapwrapper
spec:
replicas: 1
selector:
matchLabels:
app: ldapwrapper
template:
metadata:
labels:
app: ldapwrapper
spec:
containers:
- name: ldapwrapper
image: ahaen/azuread-ldap-wrapper:latest
env:
- name: GRAPH_IGNORE_MFA_ERRORS
value: 'true'
- name: LDAP_PORT
value: '389'
envFrom:
- secretRef:
name: ldapwrapper
ports:
- containerPort: 389
name: ldap
volumeMounts:
- mountPath: /app/.cache
name: csismb-ldapwrapper-cache
volumes:
- name: csismb-ldapwrapper-cache
persistentVolumeClaim:
claimName: csismb-ldapwrapper-cache
@@ -3,14 +3,14 @@ kind: PersistentVolume
metadata: metadata:
annotations: annotations:
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
name: csismb-nextexplorer-storage name: csismb-ldapwrapper-cache
spec: spec:
capacity: capacity:
storage: 1Gi storage: 1Gi
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
storageClassName: csismb-nextexplorer-storage storageClassName: csismb-ldapwrapper-cache
mountOptions: mountOptions:
- dir_mode=0777 - dir_mode=0777
- file_mode=0777 - file_mode=0777
@@ -22,10 +22,10 @@ spec:
driver: smb.csi.k8s.io driver: smb.csi.k8s.io
# volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name}
# make sure this value is unique for every share in the cluster # make sure this value is unique for every share in the cluster
volumeHandle: 192.168.154.195#nextexplorer#storage volumeHandle: 192.168.154.195#ldapwrapper#cache
volumeAttributes: volumeAttributes:
source: //192.168.154.195/K3s.Volumes source: //192.168.154.195/K3s.Volumes
subDir: nextexplorer/storage subDir: ldapwrapper/cache
nodeStageSecretRef: nodeStageSecretRef:
name: smb-credentials name: smb-credentials
namespace: nextexplorer namespace: ldapwrapper
@@ -1,12 +1,12 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: csismb-nextexplorer-storage name: csismb-ldapwrapper-cache
namespace: nextexplorer namespace: ldapwrapper
spec: spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
storageClassName: csismb-nextexplorer-storage storageClassName: csismb-ldapwrapper-cache
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi
@@ -0,0 +1,22 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: ldapwrapper
namespace: ldapwrapper
spec:
encryptedData:
AZURE_APP_ID: AgAiauqNLJ+JncVKWkTrnbHMXJnhO5Qb5NEOTTftQoSz9BEByAsHAM3XdU0HpgbrZgC2JBHVuzlPQ0AxvAowOMywXVsa51N/ck1KNt/KaANX1eJIRgVdhQtafJm+uoiePbTKHezvgHbQQE14fqw2hMa2zI7pdEJb9qeLh5nVGcNyFown0SAnTWYRmvZNyy8oDQZyBCs/g1IAZk+ok0QU/mrU4Jx7yDT7uFZnahQAxeBYO2/UXQxVVbGchba4B2IpNl9ae3eK/DYA7ZlSMpTvh27ELeatpB8A66hXutS3Srec4CLDI9ULbT87ua5ndQreRCzMTOcUEO+EPAB0u7Vvf+4TNJqBmixpLlt615ruLCX5DDIXksDgIu7x3KBVSqoKCl/8qcYfZM6QL8cIQIMS4AN3jmIhh4bQV1qAQIMq8IgcHwV2phQWv75eEGIAyvhoKqlmV9MmTbSkUVwiVSxClVXIdr6U32sU22v4h+NvjRRJoaZGGWNm1N9lEHio29HuvG+SRPCmzaUGk+oajz5EljX/QGvKHHYKHoeT2rgp3i0t+y2HSaS310o1zUfTF7KAyHWz+pzvOmgESimsPM9m3Wqw5BI6zd5wWAflaf1UvNr37413z1rrK83Qe0iMyqjpO8Hsko3suyWqQWM0ditwMIqIJ5Exs+KgfXDyCDgKuKH2AmBWQf0yT/gONvhT8SGPbGBXeto30avG4xQPg9QJy3/YV7TXJduxbhOwdwavj19xHOKfad8=
AZURE_APP_SECRET: AgATwUdeu7DQlQBa6CHe7B+FXjqUKosCAxhDr3fAxRONqJqPTWF8bv766V4G9ivcWWEL7nIpy+WrHduAnnpykHJTabZAkcXIzid7RcwmBdhVc4Ahj2VIYSSaxlAmHwbi4Xf0eEsH60CaqdGmLi/ZymxIHjfMhPxT3P3R1+pnIkVhnQcN55DcOeS6UTIC8dAZwkPqXdzU4Kobt28dpGNDTwLzeF/opQKj0aGGdK/vQb5VQXlId+iqhUUBZIIPeKI98QItEa4xj6lwbdAQbTxqBEYRZEvEfkNLt7owKUC/pmNIt6uSPtlJfC02bRG+JJRfO2nNqZ4sNYDh/aiWBR6ch8LELh1u2jYVsuP+wi6DvWE3KMCob1ZkqI1GkU8QqNjscsi8utnQsklymJMBAhastzyOEv2SOqLk6Uh9xRDKce8DNzAd/PdoMPObyXXAFO5zpHVjj5RlCcGrKgqirnJwm46HdSgoXFQ+k4mLOywoZd8pRV1Jz8VNL2Hclv50WkfSH+xNyV8P7fN8ITJA/kG5tgQDuNpeWWljc7DMYvlJ4LtnhU2Oo/iSTgfBW0ENRsvdGRXjXk+zGnl1KGYF1Rl2YaySdEPOB9VbeipR3CjDtJQzm1jd/Ro5ctL4Jol5yQM2cf1osG8FN+hQ7A4z3nfGx8meoUioWxccnOMyVNsanp3xRUL7ZzZSDbo2TtoFdIEvFlz22HjxsgWNptb2c3++QL9yF4DvBdzuLGG97HTDDnmJm2GMp+R5o8W5
AZURE_TENANTID: AgCXRjcsgulYe8XFjCSCS7fSjGvtrU3rQT9dQf/ZPo6/iVZYiA3fF9uapa+WiiAsNWbMCPaNMWySkcKb+h8mh7O7r6Nd8inVJ1WNHE9QXE7kZnPgKtnBFVRfTewwAL2H3YrLEGwKOABO9L5fb0kzcnu+ryH7bmWHRl2Vn5Qb7ibKveeqNGe5shB6OiwbX1amnuUAhadA1lCZQutmbLjdY2w6G6zjm6YkF2jDlwDGsybv1Vtcbh+7P1joNtQ8BA4RywWP8BRYWg7/YnB4abGoff8adGteqeLHuQ0L2clP7kpf32qNt4fl1NmZDH75GKEtUQzIQG9SdjpDqUTzGi83e7seqLKz2v2phMvkkjDoNmTU/MLCQ8vzhjUEhNYRPU9R0lCbnY/erxuBAwS6m2qHQZMapKsfic1aD2Ui4CRXCZeExo9pkMYI/ObvSJmNDfuYNu0fi9KCYimoEoWXX+GEs+zBSsRGE4ibMRIWdm4Z3nyUPuLZNWa2/NJG3a/Xnqmyq5vKJE8GnO1EJ+XnbGzUY9fg1RVQ0g/TQWyBWmOXrjS2lIb/caz/xrGnIt+4xGVfmck7GHgjWcGd2lQKH67Nd8k0BVZZaN8GKZyYNHc8rkLxuIbNBwRd/O6YB0d5RrHe2346oazpuy4w01La4lGDoXQDkUOX0PE4EKNYWkr+qYgbow0yLBC1ET0fyqb+DCuOQioByyiu9qkPjIjkCSP1N/7nGRrbifHLhY4LjiMYeZpeKk+15wY=
LDAP_BINDUSER: AgBGcYK7LLNTqwBkWEcDf+E2Zroaqs0dp/aXO7wIZQQ7sIpEAy1/P093SF8650MYmiHP2W7phYylWW617U/pjuUzV7zzhZz02eAePWH+LucWIOxxuHVICQEjhWvGLFD7fk1zdLy/qktYI4EvJix3HPq4SHTtUmrZm9qL8cFz6JqAsiVP0Y2NvlsgDN0uPPS5zoiGt5ifFkCMXWS5JdYnEGyWD6bENPKLmmJhDjLxG1JkDMaYuRnGFLPX+d9mvCENp5myWAeW7VyIsU7ZrI0woItc06pCicbNa2qDabiuWIkRR5ZeC6xSU05Xinx4pNasWD1yYs6sw/PA0ghcs0t4vlPTL1Iru0w4albylSTi68jA4IaBwkJIfEcvBVEUykmf9fE8EsiorABUEGUXn8SrZvPiwKTtD1NtZ39avnvXAqqR3tzzvplpCNKOta9ziWmaH+3TuMU/HmdRHEdESJxqcIz+Xl1bmiunOr74eT2n5W4FVGL1DdpYZvJSWlLFzKbdkg/XbvLRSc6f7UVbZe5S7f8yK7B0rknEg6U1cyaE7DuYAraT4o8NK0FgDtm/pH/1lj5gTSR3X9uJbVmCbvhwUI1F4+62aBVx5BNM16IIJHYd750QkTLbanhpdfWhu7PXf9vvW6ySYNWWW5CZFzKd2DJKIDOWPj228OuOavBQBevTrZNH9cj2jnofZB+3cKEfFEKx+jm8XgSlUX4I8NR4pMY7bsW5ndvlWA==
LDAP_DOMAIN: AgCgcQjDhBiTAif8gY4ohMzsfI9muB7eUs7YTIS2Ma0jNW6sD+C16ytk9QcslxnO4BM8nXcJXYE/yv0STHjvIRkhMHcUsvlEIsCWI3x9VAwBp2mpMazObLF89s4O+3oumcWJm44bDc9hMHzydqnl3PXhx+hUE3fgq5zIpyqflAQD/9jUGMSXoeEV8ccopJNwsz613kUb7CPfzGV63cpfuby7J3OVXruTYkn8kXth+i5Q/R+7nMZW62vxMXNhkHUITlp96ZgPau8+2vwtYhxDU/EOvVwLqLEuktrHX12pGp8zQ7sRKMoCjp+IXUD2v0CgK+RgikTO9upfGYkdMFLpY1TDqnksJnUuGrrXhqsRU4ziP0sqPz0G2vK+tUFjiMlQDc71oEGEKICdKXoMwVhlk4lOY6xAYu/B06zJyTE20LQiiQvfNVQZz6YJhe/kjNMKml/9KrOcuzBB+fcCFXAJKHrS16Wa9DHPl4QVdtwLsrWTl9hhP30IVQMDdFASHhCBZEld2H0y0ZMXI5tT2XI2rFzQYr7lQIK4Za2IdDlI1vjjqye1vKZ5/AeYunGGEciGjFRPCqhD3VvlWRRsoJxY5NAyVJdp+bIpjAKRrso4qJwtNc3NcMAKlKS/fNlS1k8w7R1K6yMqKwkrqNKoCXD5LfHPCDGTb/vVUaEB68+lCKXTlZsAQriOOB+AbAbtrYXpYlbcw0tMBkcr77qm
template:
data: null
metadata:
creationTimestamp: null
labels:
app: ldapwrapper
name: ldapwrapper
namespace: ldapwrapper
type: Opaque
@@ -0,0 +1,16 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: smb-credentials
namespace: ldapwrapper
spec:
encryptedData:
password: AgBc2k0pHG/YT8gHBugDzpAreGsVlDLQJeQnGEn6lzk97Gv1F2RSBy5pASx6WgMX1P/OU4+MPD1QkAIHRQowUTXH2/YDsEKUO/8n93kXnWRr3LOc0hjKGeHCUWdyzre8fU07g4+6dcKopNRGY53nCBNTSQG0DOQOiyCzkEgGDQYLFLk6cnN0B2n2sYRgkNJQCRXUbjKIWaNc8xbmzMrWb+qCBarP75J0c42249K0cpVS/u8txpmWOOtPfngIRh6wV+r5/3W7CwXuNBSUHa+Sm18j/guvIIloN2m5nHY/jXFopekIr02lHv4ANO24EZ1N4V4Uo9TvVV/agNGAU9nK0a0ebZ8W4wjvhiKwMiBOHWp55E3+oA8mP4C9ZC1hkhgbyBi9rK/9ZhVvoB+Q1rl+FD8bdbMcuTYDU9lt799MOThpbR1ti9gj3hO4Yz/GACN7rCJhpb+MIQywrdpRlO2eME1ssVKSmedEAVp/efLfNgfNhlLDl0rZ/I4vwwiQ5JBNsrNwKIoIhneC98ouRJdrZUWFWU0p95dbActr3qmAZQNJbfJ+UktPWSWxd+HW7LqvmYB1A0BT628GLBM5SvXWx0+ye7MLS/t8hJM/cqtOtdwdzoTZZfZv2dCnDQ0WtsZfXAdnigitA7UES3TzapIgdim3d6ujvnOY0OfJcKKSsKh7GQw451dKWUzTWafkciWoaWRBZnTmEgt6zz0Be0hQCfJm
username: AgAMIlu1M5O+fL3DJvdgSHkLpp8QDYXada4cFGTOGREY/1VonKhnmCDvgchsDzZY4DFiXn/nRxljlc8PalZsDmZ+6CZCmnJpMVSehrDw0gUigLgf0fFccJ8Sqk/kb3RTfZUYu906xUVHCQg7XeVaNyOaVZVfxB/SpPV33Y41nt4rjlwwIs+haQA1HoJLekANsR8YTDJABa/PFj/+oX2WS3OHXJvRtCeSSmPR3WJWJXQYQQewakMNqOuGTRjXSvHw95XJPnyYJiwHL8b+fdZRKxPpJwhRvKNmj+reosJkKeaq/M6cERLixJo8RpFATNAnv8BcKMbslMRQB+cn5HlfX5afMS8E1k/nPHa/3uSjNCuFoc1w4t9FjNMjfQrvDMxTIaJ78py0eZHznBO9uGdr1gDwZHzgcLJSFKL2aH8AdGTivRk7qKegCcWvFxtujGUWyXNnCV/6S1n9V4gvk62tnxNMbC5alCo8cAehJfJMyQrozyWH3mtnn7a61brPh+LVMeSne6dl6RRctQY7ZG0ypH7r1UxQczvkwuafVFvY+EfuKRM95SV41wo8Nyunb1MpXte77QLFpBnDxs/td14/i8QDJMjHIw0dItmtEbvPOaLMiyIk6kIGYRksyVwAQOHdEJISUJPnF8wcCeC3gpbXukSpgmQFQeyGsMgiRPlKYGFRq1nk8gIDMtUn5k1cZsMPX9G43vBGU4M=
template:
metadata:
creationTimestamp: null
name: smb-credentials
namespace: ldapwrapper
type: Opaque
@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: ldapwrapper
namespace: ldapwrapper
spec:
ports:
- protocol: TCP
name: ldap
port: 389
selector:
app: ldapwrapper
+1 -1
View File
@@ -7,7 +7,7 @@ spec:
entryPoints: entryPoints:
- websecure - websecure
routes: routes:
- match: Host(`bessems.com`) || Host(`bessems.eu`) || Host(`gabaldon.eu`) || Host(`gabaldon.nl`) || Host(`spamasaurus.com`) - match: Host(`bessems.com`) || Host(`bessems.eu`) || Host(`gabaldon.eu`) || Host(`gabaldon.nl`) || Host(`sn.itch.fyi`) || Host(`spamasaurus.com`)
kind: Rule kind: Rule
services: services:
- name: lighttpd - name: lighttpd
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
spec: spec:
containers: containers:
- name: app - name: app
image: neosmemo/memos:0.26 image: neosmemo/memos:0.25
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: MEMOS_PORT - name: MEMOS_PORT
@@ -1,50 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nextexplorer
namespace: nextexplorer
labels:
app: nextexplorer
spec:
replicas: 1
selector:
matchLabels:
app: nextexplorer
template:
metadata:
labels:
app: nextexplorer
spec:
containers:
- name: nextexplorer
image: ghcr.io/cerede2000/explorer:3.5.0-lean
env:
- name: PUBLIC_URL
# value: https://st.itch.fyi
value: https://st.itch.fyi
- name: SESSION_SECRET
value: VPd67z54NMceyvnPNaSCtktuePTbcIPU
ports:
- name: web
containerPort: 3000
volumeMounts:
- mountPath: /config
name: csismb-nextexplorer-config
- mountPath: /cache
name: csismb-nextexplorer-cache
- mountPath: /mnt/Storage
name: csismb-nextexplorer-storage
securityContext:
fsGroup: 1000
runAsUser: 1000
runAsGroup: 1000
volumes:
- name: csismb-nextexplorer-config
persistentVolumeClaim:
claimName: csismb-nextexplorer-config
- name: csismb-nextexplorer-cache
persistentVolumeClaim:
claimName: csismb-nextexplorer-cache
- name: csismb-nextexplorer-storage
persistentVolumeClaim:
claimName: csismb-nextexplorer-storage
@@ -1,14 +0,0 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: smb-credentials
namespace: nextexplorer
spec:
encryptedData:
password: AgAALnoFrXInmYq1KdcLcjbIyVHO+5GL9j/tDC/iOimKeW+ZfSY0EuXQnyDvk3a6F1qLObHTDv7Ur+aMQlvgZtg/FyAoQuzGYtf0DBgdRqFa0xIkz/zPOE0UaT2Tm1UFCm5TSrqWKlxg+T44z9aOJtW9KdWJEstLThmxVGNBZs5/QLrhWmke/WnDtcBz/GSGqS82YXntAl7kbygoG7/y/TNo91dhgPil7kB1ot7cQAsmCpncAFoWKN3Y1xjfs2zdWi8LqfdI5hNvY43AmOEeIirD+am53OgqsjdeQZ2xi+sTH5bHqLcH6Cjvw2HuKLyiDGnqBdAQhK+fZKwJp/GD3mdUWSrBtt6DHoyrYCBL/Sf0v+P7uyDDhdfMi+O+hZb2sEImKJNbzPTznKwVWL2fmCdiE/ga5pk2nW1YVzPCfAE3JywvtY3KJxyRuaybS9LLGYSC71PRJqZFcPs0gNzecb/YliN+Aexm6g+VXG13MN3o31ldLyk0zuo5/IX8m8KU5dWUH1iS1jN1Af1at6nk5hbJzs2GtxtlvV8AlfA74gRar+R4m6PesVFJ53EHQiqzNmr54yw4MF4hJiP9z82K3UWFlXWOY0YmOBwuAyJogxm+4ULcFAGE/4xrV/jpKHBFkowGBOMuIDBx2gLTG7IJjsRmgLJfhzOIHoVdvkuOvm69JqJIdPkOJTACVLJgZ07wcXYHdFgennlKwEY2r9lIZVdu
username: AgCFLkXZc0goPZNSCDbks1gT84rY4Gp/pWGg+64WAhKyCjq75o3oLJeaiQtXHbdcltFvklUQcXrn5Ee+QXqknZo6yLvD7NmRxJih4XuCQnpfci2ZHybABeQfrD3qSG1dgp2KFNv7BfSlUk++xC+jhOr5wyDG8vfVEORlpYcuVkV0oPJPKq4ujhexTFGlsbY7VKOHgzEmMn/X6e0ExO50qKCNnKBDsrnRwag3looV5CpG6cwvs8A6/jfnW6OMyBFi3I71snl65bZYnPst9nhurGpv8ueaWeUMkAei03UJwDi43P6+M2zU6H9xhTW85AHmaqfTpZUzrOgLXkSnm52J3wYshk/rD2K/kdMO9HL47NNDrzQbaA0gNyi+1xDwdoJ8zwbY1rO475SO6l4MGV/7y6OeM9fzgo5JSBA4aBoy34QBrjZ5OokAuUFZENJDxTIXSESf8Xnk9Eh7MKJXEsehrifc+q1Nw+PIyWHVPRU8LlBMn8VbGvwrbk/mqaq1cv1CgSIZok7c9YTnWTvcMO+2lKu5DFLvC/M4JNnc3x0OxehQbEQjahWz5Hmia1vremJy9TIEP267/bXF5E/ZNH2UxUqxSA8KDXTER1nVO2Yvfjenu2DFdnfCXYN/6URXf7sBWsG5pLfb4qBeVSYEtTT+pI2CfpjcGyGlxGabEDxDgFpDb6PuMuO26geKmlRfflje73V66StczwM=
template:
metadata:
name: smb-credentials
namespace: nextexplorer
type: Opaque
+1 -1
View File
@@ -14,5 +14,5 @@ spec:
- CreateNamespace=true - CreateNamespace=true
sources: sources:
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
path: services/PVR/Bazarr path: services/PVR/bazarr
targetRevision: HEAD targetRevision: HEAD
@@ -13,15 +13,12 @@ spec:
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
sources: sources:
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
path: services/PVR/Jellyfin
targetRevision: HEAD
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
path: services/PVR/Jellyfin/manifests path: services/PVR/Jellyfin/manifests
targetRevision: HEAD targetRevision: HEAD
- repoURL: https://jellyfin.github.io/jellyfin-helm - repoURL: https://jellyfin.github.io/jellyfin-helm
chart: jellyfin chart: jellyfin
targetRevision: 3.2.0 targetRevision: 2.3.0
helm: helm:
valueFiles: valueFiles:
- $values/services/PVR/Jellyfin/values.yaml - $values/services/PVR/Jellyfin/values.yaml
-3
View File
@@ -1,6 +1,3 @@
deploymentStrategy:
type: Recreate
ingress: ingress:
enabled: true enabled: true
className: traefik className: traefik
+57
View File
@@ -0,0 +1,57 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: kubectl-rolloutrestart
namespace: pvr
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kubectl-rolloutrestart
namespace: pvr
rules:
- apiGroups: ["apps", "extensions"]
resources: ["deployments", "statefulsets"]
verbs: ["get", "list", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: kubectl-rolloutrestart-pvr
namespace: pvr
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubectl-rolloutrestart
subjects:
- kind: ServiceAccount
name: kubectl-rolloutrestart
namespace: pvr
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: kubectl-rolloutrestart
namespace: pvr
spec:
concurrencyPolicy: Forbid
failedJobsHistoryLimit: 1
successfulJobsHistoryLimit: 1
schedule: '30 2 * * *'
jobTemplate:
spec:
backoffLimit: 2
activeDeadlineSeconds: 600
template:
spec:
serviceAccountName: kubectl-rolloutrestart
restartPolicy: Never
containers:
- name: kubectl
image: bitnami/kubectl
command:
- '/bin/bash'
- '-c'
args:
- for workload in `kubectl get deployments -n pvr --no-headers | cut -d " " -f 1`; do kubectl rollout restart deployment -n pvr $workload; done;
for workload in `kubectl get statefulsets -n pvr --no-headers | cut -d " " -f 1`; do kubectl rollout restart statefulsets -n pvr $workload; done;
@@ -18,7 +18,7 @@ spec:
serviceAccountName: vaultwarden serviceAccountName: vaultwarden
containers: containers:
- name: vaultwarden - name: vaultwarden
image: vaultwarden/server:1.37.3 image: vaultwarden/server:1.33.2
env: env:
- name: ENABLE_DB_WAL - name: ENABLE_DB_WAL
value: "false" value: "false"
@@ -13,11 +13,10 @@ spec:
sources: sources:
- repoURL: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts - repoURL: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
chart: csi-driver-smb chart: csi-driver-smb
targetRevision: 1.20.3 targetRevision: 1.19.1
helm: helm:
valueFiles: valueFiles:
- $values/storage/csi-driver-smb/values.yaml - $values/storage/csi-driver-smb/values.yaml
# - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
- repoURL: https://github.com/djpbessems/Kubernetes.K3s.installLog
targetRevision: master targetRevision: master
ref: values ref: values
+2 -4
View File
@@ -9,12 +9,10 @@ spec:
namespace: argo-cd namespace: argo-cd
project: default project: default
sources: sources:
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
path: system/ArgoCD
targetRevision: HEAD
- repoURL: https://argoproj.github.io/argo-helm - repoURL: https://argoproj.github.io/argo-helm
chart: argo-cd chart: argo-cd
targetRevision: 10.9.1 # targetRevision: 8.1.2
targetRevision: 8.6.4
helm: helm:
valueFiles: valueFiles:
- $values/system/ArgoCD/values.yaml - $values/system/ArgoCD/values.yaml
-58
View File
@@ -1,58 +0,0 @@
apiVersion: network.harvesterhci.io/v1alpha1
kind: IPPool
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"network.harvesterhci.io/v1alpha1","kind":"IPPool","metadata":{"annotations":{},"name":"vmn-lan","namespace":"default"},"spec":{"ipv4Config":{"cidr":"192.168.154.0/24","dns":["192.168.154.200"],"leaseTime":86400,"pool":{"end":"192.168.154.99","exclude":["192.168.154.99"],"start":"192.168.154.50"},"router":"192.168.154.1","serverIP":"192.168.154.99"},"networkName":"default/vmn-lan"}}
creationTimestamp: "2025-12-29T22:22:23Z"
generation: 1
name: vmn-lan
namespace: default
resourceVersion: "277614389"
uid: 8400a6ec-9f7a-4570-934d-1ee3299e04aa
spec:
ipv4Config:
cidr: 192.168.154.0/24
dns:
- 192.168.154.150
leaseTime: 86400
pool:
end: 192.168.154.99
exclude:
- 192.168.154.99
start: 192.168.154.50
router: 192.168.154.1
serverIP: 192.168.154.99
networkName: default/vmn-lan
status:
agentPodRef:
image: rancher/harvester-vm-dhcp-agent:v1.8.2
name: default-vmn-lan-agent
namespace: harvester-system
uid: fde98493-a67c-4279-b48e-f7a70ea089b7
conditions:
- lastUpdateTime: "2025-12-29T22:22:23Z"
status: "True"
type: Registered
- lastUpdateTime: "2025-12-29T22:23:00Z"
status: "True"
type: CacheReady
- lastUpdateTime: "2025-12-29T22:22:26Z"
status: "True"
type: AgentReady
- lastUpdateTime: "2025-12-29T22:22:23Z"
status: "False"
type: Stopped
ipv4:
allocated:
192.168.154.50: ce:73:61:52:b7:35
192.168.154.56: d2:f6:70:98:42:6e
192.168.154.57: ea:ad:6d:52:3e:b9
192.168.154.58: 9a:b4:56:2d:57:7d
192.168.154.66: c2:a3:f7:c4:13:95
192.168.154.87: 0a:59:bb:81:a7:6d
192.168.154.98: 0a:15:10:a2:78:22
192.168.154.99: EXCLUDED
available: 42
used: 7
lastUpdate: "2025-12-30T05:10:35Z"
@@ -11,13 +11,12 @@ spec:
syncPolicy: syncPolicy:
automated: {} automated: {}
sources: sources:
- repoURL: https://bitnami.github.io/sealed-secrets - repoURL: https://bitnami-labs.github.io/sealed-secrets
chart: sealed-secrets chart: sealed-secrets
targetRevision: 2.17.7 targetRevision: 2.17.9
helm: helm:
valueFiles: valueFiles:
- $values/system/SealedSecrets/values.yaml - $values/system/SealedSecrets/values.yaml
# - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
- repoURL: https://github.com/djpbessems/Kubernetes.K3s.installLog
targetRevision: master targetRevision: master
ref: values ref: values