API Reference Reactive Interaction Gateway v3.0.0-alpha.2

Modules

Uses an external endpoint for deciding authorization.

Decides whether to accept or deny a request for publishing an event.

Decides whether to allow or reject a subscription request.

Module responsible to start Peerage application if relevant. Peerage will be auto-configured by values from environment variables.

Distributed grow-only set with per key time-to-live support.

JSON Web Token handling.

Read JSON Web Tokens.

HTTP header parser.

Utility module for obtaining a request body.

A session is defined by a user's JWT.

Associate a connection to a session, and terminate sessions along with their associated connections.

Common request handler for HTTP endpoints that accept CloudEvents.

Event subscriptions.

Converts input into valid subscriptions.

Create subscriptions based on JWT and extractor file

Module that handle trace-context according to W3C.

Distributed Tracing instrumenter for cloudevents

Wrapper Module for Opencensus.Plug.Trace from opencensus_plug

Tools for working with result tuples.

Interface to any publish-subscribe capable broker service.

Rig module configuration that provides settings/0.

Encode and decode a connection token, e.g., for correlation.

Check point between connection processes and event sources.

Configuration object for event filters.

Filter for the event subscription mechanism.

Starts filter processes on the local node on demand.

Consumes events and forwards them to the event filter by event type.

Consumes events and forwards them to the event filter by event type.

Subscribes to a NATS topic and forwards messages to the event filter by event type.

Boiler plate for initializing Kafka client configuration.

Boiler plate for initializing a Kafka client from RIG's configuration values.

Plug to deal with multiple tokens in the authorization header.

The entrypoint for defining your web interface, such as controllers, views, channels and so on.

Translates controller action results into valid Plug.Conn responses.

Controller for the health endpoint.

Module with named helpers generated from RigApi.Router.

CRUD controller for the reverse-proxy settings.

Controller for submitting (backend) events to potential (frontend) subscribers.

Controller for submitting (backend) responses to asynchronous (frontend) requests.

Controller that allows blocking "sessions" for a specific period of time.

CRUD controller for the reverse-proxy settings.

Controller for submitting (backend) events to potential (frontend) subscribers.

Controller for submitting (backend) responses to asynchronous (frontend) requests.

Controller that allows blocking "sessions" for a specific period of time.

CloudEvents is a vendor-neutral specification for defining the format of event data.

Tolerant reader for JSON encoded CloudEvents.

Fast reader for JSON encoded CloudEvents.

Error-tolerant reader for JSON encoded CloudEvents.

Common code for dealing with CloudEvents in controllers.

Service definitions for the proxy.

Authentication check for proxied requests.

JWT based authentication check for proxied requests.

HTTP wrapper for HTTPoison library. Possible to extend functions for outgoing/ingoing headers, body, etc. at this place. https://github.com/edgurgel/httpoison, Wrapping HTTPoison.Base section

Request handler that proxies the request according to the implementation.

Handles requests for HTTP targets.

HTTP header modification to be applied, according to the spec.

Handles requests for Kafka targets.

Handles requests for Kinesis targets.

Handles requests for NATS targets.

Module responsible for catching and forwarding all traffic to Proxy Router. Possible to do transformations to requests before they get to Proxy Router for further processing & forwarding.

Handles Phoenix Presence events.

Handles parsing of messages coming from different sources (e.g. Kafka)

Provides middleware proxy for incoming REST requests at specific endpoints. Initial API definitions are loaded from Phoenix Presence under topic "proxy". Matches all incoming HTTP requests and checks if such endpoint is defined in any API. If endpoint needs authentication, it is automatically triggered. Valid HTTP requests are forwarded to given service and their response is sent back to client.

Works as (de)serializer/formatter/encoder for API endpoints. Abstracts data transformation logic from router logic.

Encapsulates Phoenix Presence, mainly to ease testing.

Used to validate APIs configuration for reverse proxy. Validates use cases such as setting "target" to "kafka" but not "topic", which is required in such case.

Utility functions used in more than one controller.

Enables persisting and CRUD operations for Proxy's API definitions in presence.

Interface for request logging backends.

Module responsible for global validation of environment variables and provides utility functions to validate configuration in respective modules.

Example request logger implementation.

Kafka request logger implementation.

The entrypoint for defining your web interface, such as controllers, views, channels and so on.

Cowboy WebSocket handler.

Used to enforce a limit on the maximum connections per minute

A circular buffer for events.

Helper functions around media type handling.

Module with named helpers generated from RigInboundGatewayWeb.Router.

Maintains subscriptions and buffers incoming events.

Handling of Longpolling functionalitiy

Server-Sent Events (SSE) handler.

Cowboy WebSocket handler.

Kafka client for RIG.

Module responsible for event serialization and deserialization. Manages also connection to Kafka Schema Registry and caching of used schemas.

The Kafka client that holds connections to one or more brokers.

The group subscriber process handles messages from none or many partitions.

Kafka connection configuration.

Interface for event serialization and deserialization. Used to decide which serializer to use, such as Apache Avro.

Metrics instrumenter for the Rig Distributed Sets, for example backlist.

Metrics instrumenter for the Rig Events (consume, produce).

Wrapper Module for Prometheus.PlugExporter from ex_prometheus

Metrics instrumenter for the Rig Proxy

Metrics instrumenter for the Rig Subscriptions (Websocket, Server-Sent Events, Long Polling).

Telemtry instrumentation for Phoenix LiveDashboard

Manages the external Java-based Kinesis client application.

Converts the Java-client output to Elixir log messages.

Mix Tasks

Compiles the Java-based Kinesis client.

Publishes the API reference documentation (mix docs) to the gh-pages branch.

Runs the smoke test.

Uses actual configuration defaults for updating the operator's guide.