Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Add a global.rum section

  • Code Block
      rum:
        enabled: true
        
        # This is a list of names and UUIDs. The customer can generate any
        # UUID. The same UUID will need to be referenced in the Kfuse frontend SDK
        # initialization call.
        applications:
          - name: kf-frontend
            id: 944f6a58-dbc2-45ad-bf93-def505aaff62
        
        # only S3 is currently supported
        sessionReplayStorage:
          type: s3
          useSecret: true
          
          # Below secret name references the secret created earlier
          secretName: "kfuse-rum-s3"
          
          # Below references the bucket name and region that customer has
          # created for session replay storage
          s3:
            region: us-west-2
            bucket: rum-session-replay-playground
  • To generate a UUID above you can run command line uuidgen | tr 'A-Z' 'a-z'

  • Ensure RUM specific Kafka topics are listed in the customer YAML. You can use the configuration for the events stream as a reference for number of replicas and partitions. We have not done a performance evaluation for RUM so there is no proper guideline at the moment.

  • Code Block
        - name: kf_rum_session_replay_topic
          partitions: 3
          replicationFactor: 2
        - name: kf_rum_views_topic
          partitions: 3
          replicationFactor: 2
        - name: kf_rum_actions_topic
          partitions: 3
          replicationFactor: 2
        - name: kf_rum_resources_topic
          partitions: 3
          replicationFactor: 2
        - name: kf_rum_longtasks_topic
          partitions: 3
          replicationFactor: 2
        - name: kf_rum_errors_topic
          partitions: 3
          replicationFactor: 2
  • TLS and Ingress configuration. RUM requires a public ingest endpoint that frontend browser applications will post data to. Ensure that the customer has defined the tls section and has a public hostname. Ensure to enable external ingress and external traffic policy:

  • Code Block
    tls:
      enabled: true
      host: playground.kloudfuse.io
      email: admin@kloudfuse.com
      clusterIssuer: playground-letsencrypt-prod
      
    ingress:
      controller:
        service:
          external:
            enabled: true
          externalTrafficPolicy: Local
  • Enable RUM under ingester:

  • Code Block
    ingester:
      config:
        rum:
          enabled: true
          # you can ignore the datadog section below from the PR since 
          # this is the default
          datadog:
            proxyToDatadogEnabled: false
  • Add parsing rules under log-parser to accept frontend logs. You can include these rules verbatim along with any existing rules the customer already has

  • Enable RUM under ui:

  • Code Block
    ui:
      config:
        rum:
          enabled: true

...