Adding components to the Eclipse Streamsheets architecture is possible. These can be Streamsheets specific plugins like OpenID or general usuful additions to your IoT architecture like databases.
Open ID Connect
OpenID Connect is a professional feature
Streamsheets allows the coupling of existing user bases to your Streamsheets installation by using OpenID Connect. OpenID Connect is an open standard and decentralized authentication protocol on top of OAuth 2.0. It allows clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner. To get more information on OpenID click here.
OpenID in Streamsheets
OpenID Connect is available as a separate professional plugin and not part of the standard professional image. After activating this plugin, users are automatically created on the first sign-in. The initial role and workspace for new users can be configured via environment variables.
To use this plugin, put the "openid" plugin folder into the streamsheets directory and add the required configuration in the
- Create a "plugins" directory in your streamsheets installation directory (i.e.
- Put the "openid" directory into the
npm installin the "openid" plugin directory.
- Add the following volume and environment variables to the
# URL of the issuer
# Client ID provided by the issuer
# Client Secret provided by the issuer
# Streamsheets host, e.g 'https://streamsheets.example.org' or `http://localhost:8080`
# Make OpenID the default auth mechanism
Additional Configuration of the Plugin
The following environment variables can be set to configure how users are handled the first time they sign into streamsheets via OpenID Connect.
true, all new users have full administrative rights.
STREAMSHEETS_OPENID_INITIAL_WORKSPACE. If set to a workspace ID, the user is automatically added to the workspace and is assigned the role specified by
viewer, allowed values
developer. The role a user is assigned in the workspace specified by
The Streamsheets login page is still reachable by navigating to
Configuration at the Issuer
Streamsheets requires the following configuration parameters to be set:
- Callback URL:
Streamsheets come with the option to connect to any MongoDB you need. If you don´t have a MongoDB yet, it is fairly simple to setup. While Streamsheets run with docker, the same possibility exists for MongoDB.
Setup Mongo Database
Open a terminal of your choice and enter:
docker run --name <container-name> --net streamsheets mongo
docker run --name mymongodb --net streamsheets mongo
If you have the Raspberry Pi version use:
sudo docker run --name <container-name> --net streamsheets andresvidal/rpi3-mongodb3
sudo docker run --name mymongodb --net streamsheets andresvidal/rpi3-mongodb3
This command downloads a MongoDB image and runs it in a container named
container-name in the docker network “streamsheets”. It is
important that the container name does not contain capital letters!
Now you can create a new MongoDB Connector in the Administration Menu of
your Streamsheet installation. Check the “External Host” checkbox and
container-name under “Host(s)”. All other settings are
optional. Add a Producer and use the MONGO.STORE function to safe your
first datapoints to your very own MongoDB.
Start Stop MongoDB
To properly stop and start your created container enter:
docker stop <container-name>
docker start <container-name>
docker stop mymongodb
docker start mymongodb
You can add these commands to the
docker run command above.
|set the MongoDB port to 27017
|adds root user
|adds root password
|add the container data to a folder outside of the docker environment. (change <directory> to a real path)
More can be found here.