backendRefs[].group and .weight get server-side defaulted by the Gateway
API admission webhook but are omitted from our manifest, so ArgoCD saw
permanent OutOfSync even though the route is Accepted/ResolvedRefs=True
and Grafana is reachable. ignoreDifferences on those two fields closes
the false diff.
Each platform/apps/<service>/ now holds its own application.yaml
(multi-source: chart + values + raw-manifest extras), values.yaml, and
any extra manifests (HTTPRoute, RBAC, ClusterSecretStore) together,
replacing the split apps/*.yaml + manifests/*/ + separate *-config
Application pattern.
Root platform-app.yaml now recurses platform/apps/*/application.yaml
only. Extras get a resource-level sync-wave (1) so they still land
after their service's Helm chart within the same Application sync.
Also adds an HTTPRoute for vault (vault.fireflylab.local) - exposed
same as every other service here, accepted as LAN-only exposure.