Pulsar

Infinitic is still in active development. Subscribe here to follow its progress.

Pulsar installation

To install Pulsar, please see the prerequisistes or refer to the Pulsar documentation.

Infinitic can run on managed Pulsar cluster. It has been tested on StreamNative, Datastax and CleverCloud. We recommend using them if you are new to Pulsar.

Pulsar setup

Infinitic does not require specific settings, nevertheless it's recommended to setup retention policies to avoid losing messages when workers are not connected.

We recommend using Infinitic using a dedicated Pulsar tenant; and use namespaces to distinguish production environment from dev or staging. For example, we may want to create one namespace per developer, plus one for staging and one for production.

If they do not exist already, tenant and namespace are automaticaly created by Infinitic workers at launch time.

Connecting to a Pulsar cluster

Infinitic clients are workers need to know how to connect to our Pulsar cluster. This is done through a pulsar entry within their configuration file.

Minimal configuration

The minimal configuration - typically needed for developement - contains:

pulsar:
  brokerServiceUrl: pulsar://localhost:6650
  webServiceUrl: http://localhost:8080
  tenant: infinitic
  namespace: dev

Transport encryption

Transport Encryption using TLS can be configured with those additional parameters:

pulsar:
  ...
  useTls: true
  tlsAllowInsecureConnection: false
  tlsTrustCertsFilePath: /path/to/ca.cert.pem
  tlsEnableHostnameVerification: false

If we use a KeyStore, it can be configured with:

pulsar:
  ...
  useKeyStoreTls: true
  tlsTrustStoreType: JKS
  tlsTrustStorePath: /var/private/tls/client.truststore.jks
  tlsTrustStorePassword: clientpw

Authentication

Using Json Web Token:

pulsar:
  ...
  authentication:
    token: our_token

Using Athen:

pulsar:
  ...
  authentication:
    tenantDomain: shopping
    tenantService: some_app
    providerDomain: pulsar
    privateKey: file:///path/to/private.pem
    keyId: v1

Using OAuth2

pulsar:
  ...
  authentication:
    privateKey: file:///path/to/key/file.json
    issuerUrl: https://dev-kt-aa9ne.us.auth0.com
    audience: https://dev-kt-aa9ne.us.auth0.com/api/v2/
Edit this page on GitHub Updated at Mon, Oct 25, 2021