From 6c85567a48df2ed8fe500147ad4f8c02f61e4eda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?c=C4=83t=C4=83lin?= Date: Wed, 19 Aug 2026 15:27:11 +0200 Subject: [PATCH] feaT: add pgadmin argo app --- k8s/argo-apps/audiobookshelf.yaml | 1 + k8s/argo-apps/authelia.yaml | 2 +- k8s/argo-apps/authentik.yaml | 4 +-- k8s/argo-apps/pgadmin.yaml | 48 +++++++++++++++++++++++++++++ k8s/argo-apps/portainer.yaml | 4 +++ k8s/services/argo/project-fuku.yaml | 1 + scripts/k8s-ports.sh | 45 +++++++++++++-------------- 7 files changed, 79 insertions(+), 26 deletions(-) create mode 100644 k8s/argo-apps/pgadmin.yaml diff --git a/k8s/argo-apps/audiobookshelf.yaml b/k8s/argo-apps/audiobookshelf.yaml index 835cc54..c1863e2 100644 --- a/k8s/argo-apps/audiobookshelf.yaml +++ b/k8s/argo-apps/audiobookshelf.yaml @@ -17,6 +17,7 @@ spec: valuesObject: service: type: LoadBalancer + port: 8081 ingress: enabled: true className: traefik diff --git a/k8s/argo-apps/authelia.yaml b/k8s/argo-apps/authelia.yaml index df6b385..c3096c2 100644 --- a/k8s/argo-apps/authelia.yaml +++ b/k8s/argo-apps/authelia.yaml @@ -15,7 +15,6 @@ spec: targetRevision: 0.11.6 helm: valuesObject: - enabled: true pod: autoscaling: @@ -30,6 +29,7 @@ spec: memory: 1024Mi service: type: LoadBalancer + port: 9091 ingress: enabled: true className: traefik diff --git a/k8s/argo-apps/authentik.yaml b/k8s/argo-apps/authentik.yaml index 193c947..9479e43 100644 --- a/k8s/argo-apps/authentik.yaml +++ b/k8s/argo-apps/authentik.yaml @@ -64,8 +64,8 @@ spec: minAvailable: 1 service: type: LoadBalancer - servicePortHttp: 9000 - servicePortHttps: 9443 + servicePortHttp: 9001 + servicePortHttps: 9444 annotations: traefik.ingress.kubernetes.io/service.serversscheme: https traefik.ingress.kubernetes.io/service.serverstransport: apps-fuku-skipverify-authentik@kubernetescrd # yamllint disable rule:line-length diff --git a/k8s/argo-apps/pgadmin.yaml b/k8s/argo-apps/pgadmin.yaml new file mode 100644 index 0000000..225898f --- /dev/null +++ b/k8s/argo-apps/pgadmin.yaml @@ -0,0 +1,48 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: pgadmin + namespace: argo-cd +spec: + destination: + name: '' + namespace: apps-fuku + server: https://kubernetes.default.svc + project: fuku + sources: + - chart: pgadmin4 + repoURL: https://helm.runix.net + targetRevision: 1.49.0 + helm: + valuesObject: + image: + tag: "9.7" + service: + type: LoadBalancer + port: 8010 + ingress: + enabled: true + ingressClassName: traefik + hosts: + - host: pgadmin.fuku + paths: + - path: / + pathType: Prefix + env: + email: admin@fukurokuju.dev + enhanced_cookie_protection: "False" + existingSecret: secrets-pgadmin + persistentVolume: + enabled: true + existingClaim: pgadmin-pgadmin4 + accessModes: + - ReadWriteMany + size: 10Gi + storageClass: truenas-nfs-csi + test: + enabled: false + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/k8s/argo-apps/portainer.yaml b/k8s/argo-apps/portainer.yaml index 3a16da4..691cbc9 100644 --- a/k8s/argo-apps/portainer.yaml +++ b/k8s/argo-apps/portainer.yaml @@ -20,6 +20,9 @@ spec: valuesObject: service: type: LoadBalancer + httpPort: 9002 + httpsPort: 9445 + edgePort: 8005 ingress: enabled: true ingressClassName: traefik @@ -27,6 +30,7 @@ spec: - host: containers.fukurokuju.dev paths: - path: / + port: 9002 tls: [] persistence: storageClass: truenas-nfs-csi diff --git a/k8s/services/argo/project-fuku.yaml b/k8s/services/argo/project-fuku.yaml index 5f3a9d8..5a1ac75 100644 --- a/k8s/services/argo/project-fuku.yaml +++ b/k8s/services/argo/project-fuku.yaml @@ -25,6 +25,7 @@ spec: - ghcr.io/antoniolago/charts - https://repo.helmforge.dev - https://harish2k01.github.io/helm-charts/ + - https://helm.runix.net - git.roboces.dev/catalin/fukuops - https://kubereboot.github.io/charts - https://charts.goauthentik.io/ diff --git a/scripts/k8s-ports.sh b/scripts/k8s-ports.sh index 534d980..ca5b2cf 100755 --- a/scripts/k8s-ports.sh +++ b/scripts/k8s-ports.sh @@ -92,6 +92,19 @@ fi SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" K8S_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" +extract_lb_port() { + local file="$1" + local field="$2" + local selector="$3" + local value + + value=$(yq -r '.. | objects | select(.type == "LoadBalancer") | '"$selector"' // empty' "$file" 2>/dev/null || true) + if [[ -n "$value" ]] && [[ "$value" != "null" ]] && [[ "$value" =~ ^[0-9]+$ ]]; then + PORTS+=("$value") + [[ $VERBOSE -eq 1 ]] && echo "[DEBUG] Found $field $value in $file" + fi +} + collect_ports() { PORTS=() @@ -104,29 +117,15 @@ collect_ports() { continue fi - lb_port=$(yq -r '.. | objects | select(.type == "LoadBalancer") | select(.port != null) | .port // empty' "$file" 2>/dev/null || true) - if [[ -n "$lb_port" ]] && [[ "$lb_port" != "null" ]] && [[ "$lb_port" =~ ^[0-9]+$ ]]; then - PORTS+=("$lb_port") - [[ $VERBOSE -eq 1 ]] && echo "[DEBUG] Found .port $lb_port in $file" - fi - - service_port_http=$(yq -r '.. | objects | select(.type == "LoadBalancer") | .servicePortHttp // empty' "$file" 2>/dev/null || true) - if [[ -n "$service_port_http" ]] && [[ "$service_port_http" != "null" ]] && [[ "$service_port_http" =~ ^[0-9]+$ ]]; then - PORTS+=("$service_port_http") - [[ $VERBOSE -eq 1 ]] && echo "[DEBUG] Found servicePortHttp $service_port_http in $file" - fi - - service_port_https=$(yq -r '.. | objects | select(.type == "LoadBalancer") | .servicePortHttps // empty' "$file" 2>/dev/null || true) - if [[ -n "$service_port_https" ]] && [[ "$service_port_https" != "null" ]] && [[ "$service_port_https" =~ ^[0-9]+$ ]]; then - PORTS+=("$service_port_https") - [[ $VERBOSE -eq 1 ]] && echo "[DEBUG] Found servicePortHttps $service_port_https in $file" - fi - - service_dns_port=$(yq -r '.. | objects | select(.type == "LoadBalancer") | .dns.port // empty' "$file" 2>/dev/null || true) - if [[ -n "$service_dns_port" ]] && [[ "$service_dns_port" != "null" ]] && [[ "$service_dns_port" =~ ^[0-9]+$ ]]; then - PORTS+=("$service_dns_port") - [[ $VERBOSE -eq 1 ]] && echo "[DEBUG] Found dns.port $service_dns_port in $file" - fi + extract_lb_port "$file" ".port" ".port" + extract_lb_port "$file" "servicePortHttp" ".servicePortHttp" + extract_lb_port "$file" "servicePortHttps" ".servicePortHttps" + extract_lb_port "$file" "dns.port" ".dns.port" + extract_lb_port "$file" "httpPort" ".httpPort" + extract_lb_port "$file" "httpsPort" ".httpsPort" + extract_lb_port "$file" "edgePort" ".edgePort" + extract_lb_port "$file" "ldapPort" ".ldapPort" + extract_lb_port "$file" "servicePort" ".servicePort" done < <(find "$K8S_DIR/k8s" -name "*.yaml" -type f 2>/dev/null) || true if command -v kubectl &>/dev/null && kubectl cluster-info &>/dev/null 2>&1; then