From cb70bf91b55d7b9856dff4dade0d9b691af9cc68 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Tue, 2 Sep 2025 09:30:37 -0500 Subject: [PATCH] pin gitea to pi --- scripts/longhorn_volume_usage.fish | 23 +++++++++++++++++++++++ services/gitea/deployment.yaml | 16 ++++++++++++++++ services/gitea/ingress.yaml | 1 + services/gitea/kustomization.yaml | 2 +- services/gitea/namespace.yaml | 1 + services/gitea/pvc.yaml | 1 + services/gitea/service.yaml | 1 + 7 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 scripts/longhorn_volume_usage.fish diff --git a/scripts/longhorn_volume_usage.fish b/scripts/longhorn_volume_usage.fish new file mode 100644 index 0000000..309e692 --- /dev/null +++ b/scripts/longhorn_volume_usage.fish @@ -0,0 +1,23 @@ +function pvc-usage --description "Show Longhorn PVC usage (human-readable) mapped to namespace/name" + begin + kubectl -n longhorn-system get volumes.longhorn.io -o json \ + | jq -r '.items[] | "\(.metadata.name)\t\(.status.actualSize)\t\(.spec.size)"' \ + | sed 's/^/V\t/' + + kubectl get pvc -A -o json \ + | jq -r '.items[] | "\(.spec.volumeName)\t\(.metadata.namespace)/\(.metadata.name)"' \ + | sed 's/^/P\t/' + end \ + | awk 'BEGIN{FS="\t"} + $1=="V"{vol=$2; vu[vol]=$3; vs[vol]=$4} + $1=="P"{vol=$2; name=$3; map[vol]=name} + END{ + for (v in vu){ + used=vu[v]+0; size=vs[v]+0; pct=(size>0?used/size*100:0); + cmd="numfmt --to=iec --suffix=B " used; cmd|getline hu; close(cmd); + cmd="numfmt --to=iec --suffix=B " size; cmd|getline hs; close(cmd); + n=(v in map?map[v]:v); + printf "%-40s %-10s / %-10s (%5.1f%%)\n", n, hu, hs, pct + } + }' | sort +end diff --git a/services/gitea/deployment.yaml b/services/gitea/deployment.yaml index ad6586d..1f6f088 100644 --- a/services/gitea/deployment.yaml +++ b/services/gitea/deployment.yaml @@ -1,3 +1,4 @@ +# services/gitea/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: @@ -22,6 +23,21 @@ spec: spec: nodeSelector: node-role.kubernetes.io/worker: "true" + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: hardware + operator: In + values: ["rpi4","rpi5"] + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 50 + preference: + matchExpressions: + - key: hardware + operator: In + values: ["rpi5"] containers: - name: gitea image: gitea/gitea:1.23 diff --git a/services/gitea/ingress.yaml b/services/gitea/ingress.yaml index 0bf4339..375dba3 100644 --- a/services/gitea/ingress.yaml +++ b/services/gitea/ingress.yaml @@ -1,3 +1,4 @@ +# services/gitea/ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: diff --git a/services/gitea/kustomization.yaml b/services/gitea/kustomization.yaml index 7285a5c..36d6c23 100644 --- a/services/gitea/kustomization.yaml +++ b/services/gitea/kustomization.yaml @@ -1,6 +1,6 @@ +# services/gitea/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -# namespace: gitea resources: - namespace.yaml - deployment.yaml diff --git a/services/gitea/namespace.yaml b/services/gitea/namespace.yaml index 09a988f..f01d987 100644 --- a/services/gitea/namespace.yaml +++ b/services/gitea/namespace.yaml @@ -1,3 +1,4 @@ +# services/gitea/namespace.yaml apiVersion: v1 kind: Namespace metadata: diff --git a/services/gitea/pvc.yaml b/services/gitea/pvc.yaml index 15019f7..c09060c 100644 --- a/services/gitea/pvc.yaml +++ b/services/gitea/pvc.yaml @@ -1,3 +1,4 @@ +# services/gitea/pvc.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: diff --git a/services/gitea/service.yaml b/services/gitea/service.yaml index 0067c8b..5b4f8a0 100644 --- a/services/gitea/service.yaml +++ b/services/gitea/service.yaml @@ -1,3 +1,4 @@ +# services/gitea/service.yaml apiVersion: v1 kind: Service metadata: