Uploaded image for project: 'Connectivity Link'
  1. Connectivity Link
  2. CONNLINK-521

Extension SDK: Support adding & exporting of data from the kuadrant pipeline to ext. Services

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None

      As a Policy Author I need to be able to add arbitrary data to the Kuadrant "data pipeline", e.g. auth

      The goal is provide means for policy author, thru the SDK, to control what data gets exported to which services. The data would be represented through CEL expressions, mapped to some context, e.g. telemetry.dimensions and resolve the CEL expressions to values for the different upstream services to leverage. 

      These services would in turn need to know how to use the data.

      Example use case TelemetryPolicy

      In order to prove out the concepts, let's implement an TelemetryPolicy which would add labels to all the metrics provided by our two current upstream services, namely Authorino and Limitador.

      Enabling users to add “custom” dimensions to their metrics, logs & traces

      Use-case coming from the AI work:
      TokenRateLimitPolicy with “usage” metrics by 
        - user 
        - group 
        - model

      In order to make this work the two services also need to support custom labels on all their metrics.

      Acceptance Criteria

      • As a Custom Policy Author, I can declare a new root binding, which is can be of any type, most important a Map - which is declared to be made available by my Custom Policy Type;
      • As a Custom Policy Author, I can add data to that Map while other "actions" are executed during a data plane request, e.g. my_data.username = auth.identity.username
      • All evaluation of data is optional, and non existing data is simply omitted from the Map;
      • Data can be provided by the "main" upstream, by exporting them as HTTP Headers;
      • Data can be resolved from the "main" upstream's response body.
      • The TelemetryPolicy should be a working example that lets users slice and dice Authorino & Limitador's metrics according to these data points. 

              rh-ee-asnaps Alex Snaps
              rh-ee-asnaps Alex Snaps
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated: