Compare commits

..

12 Commits

Author SHA1 Message Date
Gitea Actions Bot
1ace105757 Auto-update README with current k8s applications
All checks were successful
Terraform / Terraform (pull_request) Successful in 1m14s
Generated by CI/CD workflow on 2025-11-24 11:19:59

This PR updates the README.md file with the current list of applications found in the k8s/ directory structure.
2025-11-24 11:19:59 +00:00
Ultradesu
ce4172b435 Increase CPU limits
Some checks are pending
Auto-update README / Generate README and Create MR (push) Waiting to run
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
Check with kubeconform / lint (push) Successful in 23s
2025-11-24 13:19:04 +02:00
Ultradesu
c841f95bd2 Fixed iperf3 monitor
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
Check with kubeconform / lint (push) Successful in 12s
Auto-update README / Generate README and Create MR (push) Successful in 11s
2025-11-19 00:02:10 +02:00
Ultradesu
fb651bc6fe Fixed iperf3 monitor
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 13s
Check with kubeconform / lint (push) Successful in 13s
Auto-update README / Generate README and Create MR (push) Successful in 10s
2025-11-18 23:57:43 +02:00
Ultradesu
04330aa474 Fixed iperf3 monitor
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 13s
Check with kubeconform / lint (push) Successful in 15s
Auto-update README / Generate README and Create MR (push) Successful in 14s
2025-11-18 22:30:15 +02:00
Ultradesu
57d517af77 Fixed iperf3 monitor
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 58s
Check with kubeconform / lint (push) Successful in 1m20s
Auto-update README / Generate README and Create MR (push) Successful in 23s
2025-11-18 22:21:17 +02:00
Ultradesu
1f7d9e41c8 Fixed iperf3 monitor
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 30s
Check with kubeconform / lint (push) Successful in 1m8s
Auto-update README / Generate README and Create MR (push) Successful in 37s
2025-11-18 22:16:11 +02:00
Ultradesu
39a27c596f Fixed iperf3
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
Check with kubeconform / lint (push) Successful in 20s
Auto-update README / Generate README and Create MR (push) Successful in 11s
2025-11-18 22:13:12 +02:00
Ultradesu
353bb877be Fixed iperf3
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
Check with kubeconform / lint (push) Successful in 14s
Auto-update README / Generate README and Create MR (push) Successful in 15s
2025-11-18 21:45:26 +02:00
Ultradesu
e523bb8bea Fixed iperf3
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
Check with kubeconform / lint (push) Successful in 14s
Auto-update README / Generate README and Create MR (push) Successful in 12s
2025-11-18 21:44:00 +02:00
Ultradesu
b433373725 Fixed iperf3
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 13s
Check with kubeconform / lint (push) Successful in 13s
Auto-update README / Generate README and Create MR (push) Successful in 12s
2025-11-18 21:40:53 +02:00
Ultradesu
3026e53746 Added iperf3-server
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
Check with kubeconform / lint (push) Successful in 27s
Auto-update README / Generate README and Create MR (push) Successful in 11s
2025-11-18 21:37:09 +02:00
24 changed files with 272 additions and 42 deletions

View File

@@ -36,7 +36,7 @@ spec:
cpu: "200m" cpu: "200m"
limits: limits:
memory: "2Gi" memory: "2Gi"
cpu: "1000m" cpu: "1500m"
env: env:
- name: GITEA__service__REGISTER_MANUAL_CONFIRM - name: GITEA__service__REGISTER_MANUAL_CONFIRM
value: "true" value: "true"
@@ -129,7 +129,7 @@ spec:
memory: "256Mi" memory: "256Mi"
ephemeral-storage: "1Gi" # reserve ephemeral storage ephemeral-storage: "1Gi" # reserve ephemeral storage
limits: limits:
cpu: "2000m" cpu: "3000m"
memory: "4Gi" memory: "4Gi"
ephemeral-storage: "28Gi" # hard cap for /data usage ephemeral-storage: "28Gi" # hard cap for /data usage
volumeMounts: volumeMounts:

View File

@@ -30,7 +30,7 @@ spec:
cpu: "100m" cpu: "100m"
memory: "256Mi" memory: "256Mi"
limits: limits:
cpu: "2000m" cpu: "3000m"
memory: "1Gi" memory: "1Gi"
volumeMounts: volumeMounts:
- name: data - name: data

View File

@@ -30,7 +30,7 @@ spec:
cpu: "50m" cpu: "50m"
limits: limits:
memory: "128Mi" memory: "128Mi"
cpu: "200m" cpu: "300m"
command: command:
- git - git
- clone - clone
@@ -49,7 +49,7 @@ spec:
cpu: "50m" cpu: "50m"
limits: limits:
memory: "256Mi" memory: "256Mi"
cpu: "200m" cpu: "300m"
volumeMounts: volumeMounts:
- name: hexound-repo - name: hexound-repo
mountPath: /var/www/html mountPath: /var/www/html

View File

@@ -23,7 +23,7 @@ spec:
cpu: "500m" cpu: "500m"
limits: limits:
memory: "4Gi" memory: "4Gi"
cpu: "2000m" cpu: "3000m"
ports: ports:
- containerPort: 2283 - containerPort: 2283
env: env:
@@ -160,7 +160,7 @@ spec:
cpu: "1000m" cpu: "1000m"
limits: limits:
memory: "8Gi" memory: "8Gi"
cpu: "4000m" cpu: "6000m"
env: env:
- name: TZ - name: TZ
value: Asia/Nicosia value: Asia/Nicosia
@@ -201,7 +201,7 @@ spec:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "512Mi" memory: "512Mi"
cpu: "500m" cpu: "750m"
readinessProbe: readinessProbe:
exec: exec:
command: ["redis-cli", "ping"] command: ["redis-cli", "ping"]

View File

@@ -11,11 +11,64 @@ spec:
labels: labels:
app: iperf3-server app: iperf3-server
spec: spec:
hostname: iperf3-$(NODE_NAME) serviceAccountName: iperf3-server
subdomain: iperf3 subdomain: iperf3
initContainers:
- name: create-service
image: bitnami/kubectl:latest
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
command:
- /bin/bash
- -c
- |
# Clean node name for service name
NODE_CLEAN=$(echo "$NODE_NAME" | cut -d'.' -f1 | tr '[:upper:]' '[:lower:]' | tr '_' '-')
SERVICE_NAME="iperf3-${NODE_CLEAN}"
# Create service for this pod
kubectl apply -f - <<EOF
apiVersion: v1
kind: Service
metadata:
name: ${SERVICE_NAME}
namespace: iperf3
labels:
app: iperf3-node-service
target-node: "${NODE_NAME}"
spec:
type: ClusterIP
ports:
- name: iperf3
port: 5201
protocol: TCP
---
apiVersion: v1
kind: Endpoints
metadata:
name: ${SERVICE_NAME}
namespace: iperf3
labels:
app: iperf3-node-service
target-node: "${NODE_NAME}"
subsets:
- addresses:
- ip: ${POD_IP}
ports:
- name: iperf3
port: 5201
protocol: TCP
EOF
containers: containers:
- name: iperf3-server - name: iperf3-server
image: ghcr.io/edgard/iperf3_exporter:1.2.2 image: networkstatic/iperf3:latest
args: ["-s"] args: ["-s"]
ports: ports:
- containerPort: 5201 - containerPort: 5201
@@ -31,7 +84,7 @@ spec:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "256Mi" memory: "256Mi"
cpu: "500m" cpu: "750m"
tolerations: tolerations:
- effect: NoSchedule - effect: NoSchedule
operator: Exists operator: Exists

View File

@@ -14,9 +14,61 @@ spec:
labels: labels:
app: iperf3-exporter app: iperf3-exporter
spec: spec:
serviceAccountName: iperf3-server
initContainers:
- name: create-exporter-service
image: bitnami/kubectl:latest
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
command:
- /bin/bash
- -c
- |
NODE_CLEAN=$(echo "$NODE_NAME" | cut -d'.' -f1 | tr '[:upper:]' '[:lower:]' | tr '_' '-')
SERVICE_NAME="iperf3-exporter-${NODE_CLEAN}"
kubectl apply -f - <<EOF
apiVersion: v1
kind: Service
metadata:
name: ${SERVICE_NAME}
namespace: iperf3
labels:
app: iperf3-exporter-service
target-node: "${NODE_NAME}"
spec:
type: ClusterIP
ports:
- name: metrics
port: 9579
protocol: TCP
---
apiVersion: v1
kind: Endpoints
metadata:
name: ${SERVICE_NAME}
namespace: iperf3
labels:
app: iperf3-exporter-service
target-node: "${NODE_NAME}"
subsets:
- addresses:
- ip: ${POD_IP}
ports:
- name: metrics
port: 9579
protocol: TCP
EOF
containers: containers:
- name: iperf3-exporter - name: iperf3-exporter
image: edgardlt/iperf3_exporter:latest image: ghcr.io/edgard/iperf3_exporter:1.2.2
ports: ports:
- containerPort: 9579 - containerPort: 9579
name: metrics name: metrics
@@ -27,7 +79,7 @@ spec:
cpu: "50m" cpu: "50m"
limits: limits:
memory: "128Mi" memory: "128Mi"
cpu: "200m" cpu: "300m"
env: env:
- name: NODE_NAME - name: NODE_NAME
valueFrom: valueFrom:

View File

@@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- rbac.yaml
- daemonset.yaml - daemonset.yaml
- service-headless.yaml - service-headless.yaml
- iperf3-exporter-daemonset.yaml - iperf3-exporter-daemonset.yaml

36
k8s/apps/iperf3/rbac.yaml Normal file
View File

@@ -0,0 +1,36 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: iperf3-server
namespace: iperf3
labels:
app: iperf3-server
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: iperf3-service-manager
namespace: iperf3
labels:
app: iperf3-server
rules:
- apiGroups: [""]
resources: ["services", "endpoints"]
verbs: ["get", "list", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: iperf3-service-manager
namespace: iperf3
labels:
app: iperf3-server
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: iperf3-service-manager
subjects:
- kind: ServiceAccount
name: iperf3-server
namespace: iperf3

View File

@@ -3,7 +3,6 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: iperf3-exporter name: iperf3-exporter
namespace: default
labels: labels:
app: iperf3-exporter app: iperf3-exporter
release: prometheus release: prometheus
@@ -17,21 +16,107 @@ spec:
interval: 5m interval: 5m
scrapeTimeout: 30s scrapeTimeout: 30s
params: params:
duration: target: ['iperf3-ch.iperf3.svc.cluster.local:5201']
- "10" period: ['10s']
streams: streams: ['4']
- "4"
relabelings: relabelings:
- sourceLabels: [__address__]
targetLabel: __param_target
regex: (.+):9579
replacement: iperf3-${1}.iperf3.default.svc.cluster.local:5201
- sourceLabels: [__param_target] - sourceLabels: [__param_target]
targetLabel: instance targetLabel: instance
- targetLabel: __address__ - targetLabel: __address__
replacement: iperf3-exporter.default.svc.cluster.local:9579 replacement: iperf3-exporter-ch.iperf3.svc:9579
- port: metrics
path: /probe
interval: 5m
scrapeTimeout: 30s
params:
target: ['iperf3-us.iperf3.svc.cluster.local:5201']
period: ['10s']
streams: ['4']
relabelings:
- sourceLabels: [__param_target]
targetLabel: instance
- targetLabel: __address__
replacement: iperf3-exporter-us.iperf3.svc:9579
- port: metrics
path: /probe
interval: 5m
scrapeTimeout: 30s
params:
target: ['iperf3-iris.iperf3.svc.cluster.local:5201']
period: ['10s']
streams: ['4']
relabelings:
- sourceLabels: [__param_target]
targetLabel: instance
- targetLabel: __address__
replacement: iperf3-exporter-iris.iperf3.svc:9579
- port: metrics
path: /probe
interval: 5m
scrapeTimeout: 30s
params:
target: ['iperf3-home.iperf3.svc.cluster.local:5201']
period: ['10s']
streams: ['4']
relabelings:
- sourceLabels: [__param_target]
targetLabel: instance
- targetLabel: __address__
replacement: iperf3-exporter-home.iperf3.svc:9579
- port: metrics
path: /probe
interval: 5m
scrapeTimeout: 30s
params:
target: ['iperf3-master.iperf3.svc.cluster.local:5201']
period: ['10s']
streams: ['4']
relabelings:
- sourceLabels: [__param_target]
targetLabel: instance
- targetLabel: __address__
replacement: iperf3-exporter-master.iperf3.svc:9579
- port: metrics
path: /probe
interval: 5m
scrapeTimeout: 30s
params:
target: ['iperf3-it.iperf3.svc.cluster.local:5201']
period: ['10s']
streams: ['4']
relabelings:
- sourceLabels: [__param_target]
targetLabel: instance
- targetLabel: __address__
replacement: iperf3-exporter-it.iperf3.svc:9579
- port: metrics
path: /probe
interval: 5m
scrapeTimeout: 30s
params:
target: ['iperf3-nas.iperf3.svc.cluster.local:5201']
period: ['10s']
streams: ['4']
relabelings:
- sourceLabels: [__param_target]
targetLabel: instance
- targetLabel: __address__
replacement: iperf3-exporter-nas.iperf3.svc:9579
- port: metrics
path: /probe
interval: 5m
scrapeTimeout: 30s
params:
target: ['iperf3-spb.iperf3.svc.cluster.local:5201']
period: ['10s']
streams: ['4']
relabelings:
- sourceLabels: [__param_target]
targetLabel: instance
- targetLabel: __address__
replacement: iperf3-exporter-spb.iperf3.svc:9579
metricRelabelings: metricRelabelings:
- sourceLabels: [__name__] - sourceLabels: [__name__]
regex: iperf3_(.+) regex: iperf3_(.+)
targetLabel: __name__ targetLabel: __name__
replacement: network_${1} replacement: network_${1}

View File

@@ -80,7 +80,10 @@ spec:
resources: resources:
requests: requests:
memory: "64Mi" memory: "64Mi"
cpu: "200m" cpu: "300m"
limits:
memory: "128Mi"
cpu: "300m"
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service

View File

@@ -6,7 +6,7 @@ resources:
cpu: "1000m" cpu: "1000m"
limits: limits:
memory: "8Gi" memory: "8Gi"
cpu: "4000m" cpu: "6000m"
nodeSelector: nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net kubernetes.io/hostname: master.tail2fe2d.ts.net
persistence: persistence:

View File

@@ -40,7 +40,7 @@ spec:
cpu: "50m" cpu: "50m"
limits: limits:
memory: "128Mi" memory: "128Mi"
cpu: "100m" cpu: "150m"
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /health path: /health

View File

@@ -29,7 +29,7 @@ spec:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "1Gi" memory: "1Gi"
cpu: "500m" cpu: "750m"
command: command:
- /bin/sh - /bin/sh
- -c - -c

View File

@@ -13,7 +13,7 @@ resources:
cpu: "200m" cpu: "200m"
limits: limits:
memory: "2Gi" memory: "2Gi"
cpu: "1000m" cpu: "1500m"
service: service:
type: ClusterIP type: ClusterIP

View File

@@ -6,7 +6,7 @@ resources:
cpu: "500m" cpu: "500m"
limits: limits:
memory: "4Gi" memory: "4Gi"
cpu: "2000m" cpu: "3000m"
initContainers: initContainers:
install-tesseract-langs: install-tesseract-langs:
image: ghcr.io/paperless-ngx/paperless-ngx:2.18.2 image: ghcr.io/paperless-ngx/paperless-ngx:2.18.2
@@ -16,7 +16,7 @@ initContainers:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "1Gi" memory: "1Gi"
cpu: "500m" cpu: "750m"
command: ["/bin/sh", "-c"] command: ["/bin/sh", "-c"]
args: args:
- apt-get update && apt-get install -y --reinstall tesseract-ocr-rus tesseract-ocr-jpn tesseract-ocr-chi-sim tesseract-ocr-eng tesseract-ocr-ell && cp -v -r /usr/share/tesseract-ocr/5/tessdata/* /custom-tessdata/ - apt-get update && apt-get install -y --reinstall tesseract-ocr-rus tesseract-ocr-jpn tesseract-ocr-chi-sim tesseract-ocr-eng tesseract-ocr-ell && cp -v -r /usr/share/tesseract-ocr/5/tessdata/* /custom-tessdata/

View File

@@ -13,7 +13,7 @@ resources:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "1Gi" memory: "1Gi"
cpu: "500m" cpu: "750m"
service: service:
type: ClusterIP type: ClusterIP

View File

@@ -144,7 +144,7 @@ spec:
cpu: "50m" cpu: "50m"
limits: limits:
memory: "128Mi" memory: "128Mi"
cpu: "100m" cpu: "150m"
volumeMounts: volumeMounts:
- name: shared-data - name: shared-data
mountPath: /shared mountPath: /shared
@@ -204,7 +204,7 @@ spec:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "512Mi" memory: "512Mi"
cpu: "500m" cpu: "750m"
volumeMounts: volumeMounts:
- name: shared-data - name: shared-data
mountPath: /shared mountPath: /shared

View File

@@ -27,7 +27,7 @@ spec:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "512Mi" memory: "512Mi"
cpu: "500m" cpu: "750m"
command: ["hbbs"] command: ["hbbs"]
args: args:
- "--relay-servers" - "--relay-servers"
@@ -98,7 +98,7 @@ spec:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "512Mi" memory: "512Mi"
cpu: "500m" cpu: "750m"
command: ["hbbr"] command: ["hbbr"]
args: args:
- "--port" - "--port"

View File

@@ -4,7 +4,7 @@ resources:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "1Gi" memory: "1Gi"
cpu: "500m" cpu: "750m"
nodeSelector: nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net kubernetes.io/hostname: master.tail2fe2d.ts.net

View File

@@ -6,7 +6,7 @@ resources:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "1Gi" memory: "1Gi"
cpu: "500m" cpu: "750m"
nodeSelector: nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net kubernetes.io/hostname: master.tail2fe2d.ts.net

View File

@@ -6,7 +6,7 @@ resources:
cpu: "200m" cpu: "200m"
limits: limits:
memory: "2Gi" memory: "2Gi"
cpu: "1000m" cpu: "1500m"
nodeSelector: nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net kubernetes.io/hostname: master.tail2fe2d.ts.net

View File

@@ -33,7 +33,7 @@ resources:
cpu: "200m" cpu: "200m"
limits: limits:
memory: "2Gi" memory: "2Gi"
cpu: "1000m" cpu: "1500m"
probes: probes:
liveness: liveness:

View File

@@ -37,7 +37,7 @@ spec:
cpu: "100m" cpu: "100m"
limits: limits:
memory: "1Gi" memory: "1Gi"
cpu: "500m" cpu: "750m"
env: env:
- name: DOMAIN - name: DOMAIN
value: https://vw.hexor.cy value: https://vw.hexor.cy

View File

@@ -174,7 +174,7 @@ spec:
resources: resources:
limits: limits:
memory: "512Mi" memory: "512Mi"
cpu: "500m" cpu: "750m"
requests: requests:
memory: "256Mi" memory: "256Mi"
cpu: "250m" cpu: "250m"