From 0672f43e1cef527e3c95ca8114de53db3e93c761 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 7 Jan 2026 23:26:43 +0200 Subject: Migrate Grafana-Ingress to ArgoCD GitOps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Created ArgoCD Application for grafana-ingress - Simple custom Helm chart exposing Grafana via Traefik - Updated Justfile with ArgoCD commands - Status: Synced and Healthy - Ingress working at https://grafana.f3s.buetow.org 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- f3s/argocd-apps/grafana-ingress.yaml | 28 ++++++++++++++++++++++++++++ f3s/prometheus/grafana-ingress/Justfile | 26 ++++++++++++++++++-------- 2 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 f3s/argocd-apps/grafana-ingress.yaml (limited to 'f3s') diff --git a/f3s/argocd-apps/grafana-ingress.yaml b/f3s/argocd-apps/grafana-ingress.yaml new file mode 100644 index 0000000..bc99f02 --- /dev/null +++ b/f3s/argocd-apps/grafana-ingress.yaml @@ -0,0 +1,28 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: grafana-ingress + namespace: cicd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + source: + repoURL: https://codeberg.org/snonux/conf.git + targetRevision: master + path: f3s/prometheus/grafana-ingress + destination: + server: https://kubernetes.default.svc + namespace: monitoring + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=false + retry: + limit: 3 + backoff: + duration: 5s + factor: 2 + maxDuration: 1m diff --git a/f3s/prometheus/grafana-ingress/Justfile b/f3s/prometheus/grafana-ingress/Justfile index fd63af0..f807bf9 100644 --- a/f3s/prometheus/grafana-ingress/Justfile +++ b/f3s/prometheus/grafana-ingress/Justfile @@ -1,12 +1,22 @@ NAMESPACE := "monitoring" -RELEASE_NAME := "grafana-ingress" -CHART_PATH := "." +APP_NAME := "grafana-ingress" -install: - helm install {{RELEASE_NAME}} {{CHART_PATH}} --namespace {{NAMESPACE}} --create-namespace +status: + @echo "=== Ingress ===" + @kubectl get ingress -n {{NAMESPACE}} grafana-ingress + @echo "" + @echo "=== ArgoCD Status ===" + @kubectl get application {{APP_NAME}} -n cicd -o jsonpath='Sync: {.status.sync.status}, Health: {.status.health.status}' 2>/dev/null && echo "" -upgrade: - helm upgrade {{RELEASE_NAME}} {{CHART_PATH}} --namespace {{NAMESPACE}} +sync: + @echo "Triggering ArgoCD sync..." + @kubectl annotate application {{APP_NAME}} -n cicd argocd.argoproj.io/refresh=normal --overwrite + @sleep 2 + @kubectl get application {{APP_NAME}} -n cicd -o jsonpath='Sync: {.status.sync.status}, Health: {.status.health.status}' && echo "" -delete: - helm uninstall {{RELEASE_NAME}} --namespace {{NAMESPACE}} +argocd-status: + argocd app get {{APP_NAME}} --core + +test: + @echo "Testing Grafana ingress..." + curl -I https://grafana.f3s.buetow.org -- cgit v1.2.3