[Service Monitor] Support multiple namespaces per Helm release
-
Change DiagnosisRequest.NameSpace (string) to ServiceNamespaces ([]string) and update validation rules.
-
Pass namespace list over Kafka headers: JSON-encode namespace lists into headers in buildKubeConfigRequestHeaders and resumeStateFromHeaders.
-
Update kubeconfigResumeState, sessions.New(), and Session to store namespace slices ([]string).
-
Create one dynamic informer factory per namespace and merge events into the main debounce channel.
-
Query resources per namespace per GVR in assessRelease and aggregate results before calling AggregateHealth. Align StopRequest: Rename StopRequest.NameSpace to ServiceNamespaces for consistency.