resmoio / kubernetes-event-exporter

Export Kubernetes events to multiple destinations with routing and filtering
Apache License 2.0
753 stars 149 forks source link

feat: receiver loki support basic_auth #145

Open dellnoantechnp opened 9 months ago

dellnoantechnp commented 9 months ago

kubernetes-event-exporter: v1.6.0 loki: 2.7.4 loki-helm-chart: loki-distributed

I have loki-gateway component, it's enabled 'basic_auth' used for multi tenant .

but kubernetes-event-exporter receiver loki can't support basic_auth filed.

I can uses headers field, Authorization: "Basic cHB75XRxc3Q6SjlWWUlp******"

receivers:
            - name: "dump"
              stdout: {}
            - name: "loki"
              loki:
                headers:
                  X-Scope-OrgID: pki-test
                  Authorization: "Basic cHB75XRxc3Q6SjlWWUlp******"
                streamLabels:
                  app: kube-api
                  .....
                url: "http://loki-loki-distributed-gateway.kubesphere-monitoring-system.svc.cluster.local/loki/api/v1/push"

and then , log out return 401 Authorization Required to me

{"level":"debug","error":"not successfull (2xx) response: <html>\r\n<head><title>401 Authorization Required</title></head>\r\n<body>\r\n<center><h1>401 Authorization Required</h1></center>\r\n<hr><center>nginx/1.20.2</center>\r\n</body>\r\n</html>\ │
│ r\n","sink":"loki","event":"Updated health status: Progressing -> Healthy","time":"2023-11-20T08:42:56Z","message":"Cannot send event"}

before that, I used webhook receiver, it's worked.

receivers:
            - name: "dump"
              stdout: {}
            - name: "loki"
              webhook:
                endpoint: "http://loki-loki-distributed-gateway.kubesphere-monitoring-system.svc.cluster.local/loki/api/v1/push"
                headers:
                  Content-type: application/json
                  User-Agent: "kubernetes-event-exporter"
                  X-Scope-OrgID: pki-test
                  Authorization: "Basic cHB75XRxc3Q6SjlWWUlp******"

Do you have plans to support this feature?

tgruenert commented 7 months ago

after using https://www.debugbear.com/basic-auth-header-generator for header it works like a charm

      - name: "loki"
        loki:
          headers: # optional
            X-Scope-OrgID: fake
            Authorization: "Basic bG9ra********************k0="