Pulsar Admin Console is a web based UI that administrates topics, namespaces, sources, sinks and various aspects of Apache Pulsar features.
There are three available configurations for auth_mode
: none
, k8s
, and openidconnect
.
In this auth mode, the dashboard will use your login credentials to attempt to retrieve a JWT from an authentication provider. In the DataStax Pulsar Helm Chart, this is implemented by integrating the Pulsar Admin Console with Keycloak. Upon successful retrieval of the JWT, the Pulsar Admin Console will use the retrieved JWT as the bearer token when making calls to Pulsar.
In addition to configuring the auth_mode
, you also need to configure the oauth_client_id
. This is the client id that
the Console will use when authenticating with Keycloak. Note that in Keycloak, it is important that this client exists
and that it has the sub
claim properly mapped to your desired Pulsar subject. Otherwise, the JWT won't work as desired.
When opening the Console, the first page is the login page. When using the openidconnect
auth mode, the auth call
needs to go to the Provider's server. In the current design, nginx must be configured to route the call to the provider.
The DataStax Pulsar Helm Chart does this automatically.
Use these versions of node and npm:
$ npm -v
6.7.0
$ node -v
v11.15.0
cd dashboard
npm install
npm install -g @vue/cli
npm run build-standalone
npm run serve
- Configure the Admin Console dashboard. By default the settings expect a Pulsar running standalone mode reachable on localhost (using the Docker static IP address). Configuration is controlled by these files:
- nginx.conf. This defines the forwarding rules. The name of the cluster in the form
/api/v1/cluster
(default: standalone) needs to forward to the actual Pulsar cluster for the various rules. - dashboard/public/config.js. This specifies the dashboard global configuration, including the cluster name (default: standalone), cluster_list (default: ["standaone]) and various other settings.
- Start nginx in Docker. Note that the compose file will also start the dashboard container, but it is not used for the development work flow.
docker-compose up -dashboard
- Start the development dashboard server.
cd dashboard
npm run serve
- Connect to the Admin Console dashboard on port 9080. The dashboard server will proxy Pulsar API calls to nginx which then forwards to the actual Pulsar cluster (local or remote, depending on configuration)