From df2277467439e9c6f3c3256dfd77021aa8303aee Mon Sep 17 00:00:00 2001 From: Codex Date: Thu, 7 May 2026 10:11:20 -0500 Subject: [PATCH] fix(infra): unstick fc-updater + monitoring ArgoCD apps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fc-updater PVC: bump updatecenter-data storage 10Gi → 25Gi. The cluster PVC was already manually expanded to 20Gi to fit Mike Bundle (~5.1 GiB) plus the LocalFsBundleStore.MaxTotalBytes soft cap of 25 GiB (see project_uc_remaining_4_apps_signed_2026_05_06). PVCs cannot shrink, so ArgoCD couldn't sync the smaller git value (OutOfSync, retried 5x with "field can not be less than status.capacity"). Setting git to 25Gi gives headroom matching the soft cap. monitoring .argocdignore: skip bare dashboard JSON files. Both fc-updatecenter-dashboard.json and flowercore-remotedesktop-grafana- dashboard.json live in apps/monitoring/ as source-of-truth for file- provisioning to noc1's /opt/monitoring/grafana/dashboards/. ArgoCD's manifest parser tries to unmarshal every file and chokes on bare dashboard JSON ("Object 'Kind' is missing"), which then poisoned the whole infra-monitoring Application status (Unknown sync, no comparison possible). The .argocdignore tells ArgoCD to skip *.json — actual K8s deploys happen via ConfigMap wrappers like grafana-dashboard-remotedesktop.yaml. Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/fc-updater/fc-updater.yaml | 7 ++++++- apps/monitoring/.argocdignore | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 apps/monitoring/.argocdignore diff --git a/apps/fc-updater/fc-updater.yaml b/apps/fc-updater/fc-updater.yaml index fd0cf94..c904b2e 100644 --- a/apps/fc-updater/fc-updater.yaml +++ b/apps/fc-updater/fc-updater.yaml @@ -24,7 +24,12 @@ spec: volumeMode: Filesystem resources: requests: - storage: 10Gi + # Sized for fleet bundle storage (LocalFsBundleStore.MaxTotalBytes + # soft cap at 25 GiB per project_uc_remaining_4_apps_signed_2026_05_06). + # Mike Bundle alone is ~5.1 GiB; cluster live capacity is already + # 20 GiB after a manual expand. PVCs cannot shrink, so git must track + # at least the live size to avoid the OutOfSync loop. + storage: 25Gi --- apiVersion: apps/v1 kind: Deployment diff --git a/apps/monitoring/.argocdignore b/apps/monitoring/.argocdignore new file mode 100644 index 0000000..e3a3587 --- /dev/null +++ b/apps/monitoring/.argocdignore @@ -0,0 +1,15 @@ +# Bare Grafana dashboard JSON files are kept here as a CONVENIENCE source +# for the file-provisioning path on noc1 (per +# feedback_grafana_dashboard_shape_depends_on_noc1_delivery_path and +# feedback_monitoring_k8s_target_vs_live_podman). They are NOT K8s +# manifests — they have no `apiVersion` / `kind` / `metadata`. ArgoCD's +# kubernetesIngress provider tries to unmarshal every file in the +# directory and chokes on raw dashboard JSON with "Object 'Kind' is +# missing", which then poisons manifest generation for the whole +# infra-monitoring Application. +# +# When a dashboard needs to be K8s-deployed (i.e. file-provisioned via +# Grafana sidecar in noc-monitoring.yaml), wrap the JSON in a ConfigMap +# YAML next to it (see grafana-dashboard-remotedesktop.yaml as the +# canonical pattern). +*.json