Compare commits
39 Commits
2b43c3b201
...
renovate/r
| Author | SHA1 | Date | |
|---|---|---|---|
| a7cda8f0dc | |||
| 67cf4c3278 | |||
| 06f2ebd169 | |||
| 2d47062519 | |||
| 389d5fdff5 | |||
| a83b2961ab | |||
| b54e0f2912 | |||
| a223f41f68 | |||
| b7043778d4 | |||
| e3d0cb7066 | |||
| f719a59bbb | |||
| 74fc958ac5 | |||
| 5fcb7ee681 | |||
| e0eba1bfdc | |||
| e485f136d5 | |||
| d6763b043d | |||
| e1f2e1b704 | |||
| 2d6dcdb9ac | |||
| 247601d9a3 | |||
| f192b6d000 | |||
| 736722a4b1 | |||
| 98088724e0 | |||
| 6f27b82367 | |||
| 19c94cf471 | |||
| 060f0f6b8f | |||
| 82ae7508ff | |||
| 103e8e8c88 | |||
| ac60b2994d | |||
| 84ba1b3d6f | |||
| f2e29969a1 | |||
| be00413b8d | |||
| 51acbbd54f | |||
| e26801182d | |||
| f487f5d23e | |||
| 3882fe6ccc | |||
| e962dd22a0 | |||
| 96dc9e9334 | |||
| f91e95b231 | |||
| c77439819f |
@@ -48,6 +48,12 @@ 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
|
||||
```
|
||||
|
||||
Restoring public/private keys:
|
||||
```shell
|
||||
kubectl apply -f BitnamiSealedSecrets.masterkey.yml
|
||||
kubectl rollout restart deployment -n kube-system sealed-secrets-controller
|
||||
```
|
||||
|
||||
### 5) Services
|
||||
##### 5.1) [Gitea](https://gitea.io/) <small>(git repository)</small>
|
||||
*Required for all other workloads*
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: argus
|
||||
@@ -1,18 +0,0 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: argus
|
||||
namespace: argo-cd
|
||||
spec:
|
||||
destination:
|
||||
namespace: argus
|
||||
server: https://kubernetes.default.svc
|
||||
project: default
|
||||
syncPolicy:
|
||||
automated: {}
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
sources:
|
||||
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
|
||||
path: services/Argus
|
||||
targetRevision: HEAD
|
||||
@@ -1,38 +0,0 @@
|
||||
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,18 +0,0 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: argus
|
||||
namespace: argus
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`release.spamasaurus.com`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: argus
|
||||
port: 8080
|
||||
middlewares:
|
||||
- name: 2fa-authentication@file
|
||||
- name: security-headers@file
|
||||
# - name: compression@file
|
||||
@@ -1,31 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
annotations:
|
||||
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
|
||||
name: csismb-argus-config
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: csismb-argus-config
|
||||
mountOptions:
|
||||
- dir_mode=0777
|
||||
- file_mode=0777
|
||||
- nobrl
|
||||
- cache=strict
|
||||
- mfsymlinks
|
||||
- noserverino # required to prevent data corruption
|
||||
csi:
|
||||
driver: smb.csi.k8s.io
|
||||
# volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name}
|
||||
# make sure this value is unique for every share in the cluster
|
||||
volumeHandle: 192.168.154.195#argus#config
|
||||
volumeAttributes:
|
||||
source: //192.168.154.195/K3s.Volumes
|
||||
subDir: argus/config
|
||||
nodeStageSecretRef:
|
||||
name: smb-credentials
|
||||
namespace: argus
|
||||
@@ -1,31 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
annotations:
|
||||
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
|
||||
name: csismb-argus-data
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: csismb-argus-data
|
||||
mountOptions:
|
||||
- dir_mode=0777
|
||||
- file_mode=0777
|
||||
- nobrl
|
||||
- cache=strict
|
||||
- mfsymlinks
|
||||
- noserverino # required to prevent data corruption
|
||||
csi:
|
||||
driver: smb.csi.k8s.io
|
||||
# volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name}
|
||||
# make sure this value is unique for every share in the cluster
|
||||
volumeHandle: 192.168.154.195#argus#data
|
||||
volumeAttributes:
|
||||
source: //192.168.154.195/K3s.Volumes
|
||||
subDir: argus/data
|
||||
nodeStageSecretRef:
|
||||
name: smb-credentials
|
||||
namespace: argus
|
||||
@@ -1,12 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: csismb-argus-config
|
||||
namespace: argus
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
storageClassName: csismb-argus-config
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
@@ -1,12 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: csismb-argus-data
|
||||
namespace: argus
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
storageClassName: csismb-argus-data
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
@@ -1,16 +0,0 @@
|
||||
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 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: argus
|
||||
namespace: argus
|
||||
spec:
|
||||
ports:
|
||||
- protocol: TCP
|
||||
name: web
|
||||
port: 8080
|
||||
selector:
|
||||
app: argus
|
||||
@@ -1,7 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: argus
|
||||
namespace: argus
|
||||
labels:
|
||||
app: argus
|
||||
@@ -28,4 +28,4 @@ spec:
|
||||
subDir: ddclient/config
|
||||
nodeStageSecretRef:
|
||||
name: smb-credentials
|
||||
namespace: argus
|
||||
namespace: ddclient
|
||||
|
||||
@@ -22,7 +22,7 @@ spec:
|
||||
- repoURL: https://dl.gitea.com/charts/
|
||||
chart: gitea
|
||||
# targetRevision: 11.0.0
|
||||
targetRevision: 12.4.0
|
||||
targetRevision: 12.5.0
|
||||
helm:
|
||||
valueFiles:
|
||||
- $values/services/Gitea/values.yaml
|
||||
|
||||
@@ -70,12 +70,15 @@ spec:
|
||||
- mountPath: /data
|
||||
name: data-act-runner
|
||||
- name: dind
|
||||
image: "docker:28.3.2-dind"
|
||||
# image: "docker:28.3.2-dind"
|
||||
image: "docker:29.7.2-dind"
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- dockerd
|
||||
- --host=tcp://127.0.0.1:2375
|
||||
- --host=unix:///var/run/docker.sock
|
||||
- --mtu=1450
|
||||
- --default-network-opt=bridge=com.docker.network.driver.mtu=1450
|
||||
env:
|
||||
- name: DOCKER_TLS_VERIFY
|
||||
value: ""
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`bessems.com`) || Host(`bessems.eu`) || Host(`gabaldon.eu`) || Host(`gabaldon.nl`) || Host(`sn.itch.fyi`) || Host(`spamasaurus.com`)
|
||||
- match: Host(`bessems.com`) || Host(`bessems.eu`) || Host(`gabaldon.eu`) || Host(`gabaldon.nl`) || Host(`spamasaurus.com`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: lighttpd
|
||||
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: app
|
||||
image: neosmemo/memos:0.25
|
||||
image: neosmemo/memos:0.26
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: MEMOS_PORT
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
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,8 +18,7 @@ spec:
|
||||
serviceAccountName: vaultwarden
|
||||
containers:
|
||||
- name: vaultwarden
|
||||
# image: vaultwarden/server:1.34.3
|
||||
image: vaultwarden/server:1.35.2
|
||||
image: vaultwarden/server:1.37.3
|
||||
env:
|
||||
- name: ENABLE_DB_WAL
|
||||
value: "false"
|
||||
|
||||
@@ -13,7 +13,7 @@ spec:
|
||||
sources:
|
||||
- repoURL: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
|
||||
chart: csi-driver-smb
|
||||
targetRevision: 1.19.1
|
||||
targetRevision: 1.20.3
|
||||
helm:
|
||||
valueFiles:
|
||||
- $values/storage/csi-driver-smb/values.yaml
|
||||
|
||||
@@ -14,7 +14,7 @@ spec:
|
||||
targetRevision: HEAD
|
||||
- repoURL: https://argoproj.github.io/argo-helm
|
||||
chart: argo-cd
|
||||
targetRevision: 9.1.9
|
||||
targetRevision: 9.3.7
|
||||
helm:
|
||||
valueFiles:
|
||||
- $values/system/ArgoCD/values.yaml
|
||||
|
||||
58
system/Harvester/ippool-vmn-lan.yaml
Normal file
58
system/Harvester/ippool-vmn-lan.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
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,7 +11,7 @@ spec:
|
||||
syncPolicy:
|
||||
automated: {}
|
||||
sources:
|
||||
- repoURL: https://bitnami-labs.github.io/sealed-secrets
|
||||
- repoURL: https://bitnami.github.io/sealed-secrets
|
||||
chart: sealed-secrets
|
||||
targetRevision: 2.17.7
|
||||
helm:
|
||||
|
||||
Reference in New Issue
Block a user