I have created an out of process adapter for Mixer. It performs basic authentication check based on the headers. I can see the request coming in from the ingress gateway and routing to my service that requires the authentication check. If I read it correctly, the service then sends the request to mixer based on rule match and my adapter handler is invoked. I can see in my adapter logs that the request is coming through and my adapter is able to handle authentication. The services are functioning perfectly fine. The only thing missing is that Kiali is unable to see traffic going into the adapter. I added
promhttp handler to my adapter and exposed 9090 port as well. I can see that /metrics endpoint is returning the data and I have added following to the deployment.yaml
annotations: prometheus.io/scrape: "true" prometheus.io/port: "9090"
Given the above case, I have two questions:
Is there any specific configuration that Kiali is looking for in case of an adapter without sidecar? Prometheus is able to scrape the pod for metrics. Kiali doesn’t see any traffic.
Can out of process adapter work with a sidecar? I noticed if I inject sidecar to the adapter pod, Kiali sees it but then my adapter functionality breaks. I noticed that grafana, prometheus show up in the Kiali dashboard even when they don’t have a sidecar.
This is what I see in prometheus query dashboard: