Skip to content

stellio-hub/stellio-context-broker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Stellio context broker

FIWARE Core Context Management License: Apache-2.0 Status NGSI-LD badge SOF support badge
Quay badge Docker badge
Documentation badge Build Quality Gate Status CodeQL CII Best Practices

Stellio is an NGSI-LD compliant context broker developed by EGM. NGSI-LD is an Open API and Datamodel specification for context management published by ETSI.

Stellio is a FIWARE Generic Enabler. Therefore, it can be integrated as part of any platform “Powered by FIWARE”. FIWARE is a curated framework of open source platform components which can be assembled together with other third-party platform components to accelerate the development of Smart Solutions. For more information check the FIWARE Catalogue entry for Core Context. The roadmap of this FIWARE GE is described here.

You can find more info at the FIWARE developers website and the FIWARE website. The complete list of FIWARE GEs and Incubated FIWARE GEs can be found in the FIWARE Catalogue.

NGSI-LD Context Broker Feature Comparison

The NGSI-LD Specification is regularly updated and published by ETSI. The latest specification is version 1.9.1 which was published in July 2025.

  • An Excel file detailing the current compatibility of the development version of the Stellio Context Broker against the features of the 1.8.1 specification can be downloaded here
📚 Documentation 🐳 Docker Hub 🎯 Roadmap

Overview

Stellio is composed of 2 business services:

  • Search service is in charge of managing the information context and handling the temporal (and geospatial) queries, it is backed by a TimescaleDB database
  • Subscription service is in charge of managing subscriptions and subsequent notifications, it is backed by a TimescaleDB database

It is completed with:

  • An API Gateway module that dispatches requests to downstream services
  • A Kafka streaming engine that decouples communication inside the broker (and allows plugging other services seamlessly)

The services are based on the Spring Boot framework, developed in Kotlin, and built with Gradle.

Quick start

A quick way to start using Stellio is to use the provided docker-compose.yml file in the root directory (feel free to change the default passwords defined in the .env file):

docker compose up -d && docker compose logs -f

It will start all the services composing the Stellio context broker platform and expose them on the following ports:

  • API Gateway: 8080
  • Search service: 8083
  • Subscription service: 8084

Please note that the environment and scripts are validated on Ubuntu and macOS. Some errors may occur on other platforms.

We also provide a configuration to deploy Stellio in a k8s cluster. For more information, please look at the stellio-k8s project

Docker images tagging

Starting from version 2.0.0, the following scheme is used for tagging of Docker images:

  • Releases are tagged with the version number, e.g., stellio/stellio-search-service:2.0.0
  • latest tag is no longer used for releases as it can be dangerous (for instance, triggering an unwanted major upgrade)
  • On each commit on the develop branch, an image with the latest-dev tag is produced, e.g., stellio/stellio-search-service:latest-dev

The version number is obtained during the build process by using the version information in the build.gradle.kts file.

Usage

You can follow the API walkthrough to have a tutorial on the NGSI-LD API implemented by Stellio.

Minimal hardware requirements

The recommended system requirements may vary depending on factors such as the scale of deployment, usage patterns, and specific use cases. That said, here are the general guidelines for the minimum computer requirements:

  • Processor: Dual-core processor or higher
  • RAM: 4GB or higher (1.8GB is needed to just run it)
  • Storage: At least 4GB of free disk space (3.8GB is needed to just run it)
  • Operating System: Linux (recommended), macOS (also recommended), or Windows

Please note that these requirements may vary based on factors such as the size of your dataset, the number of concurrent users, and the overall complexity of your use case.

Further resources

For more detailed explanations on NGSI-LD or FIWARE:

License

Stellio is licensed under APL-2.0.

It mainly makes use of the following libraries and frameworks (dependencies of dependencies have been omitted):

Library / Framework Licence
Spring APL v2
Titanium JSON-LD APL v2
Reactor APL v2
Jackson APL v2
JUnit EPL v2
Mockk APL v2
JsonPath APL v2
WireMock APL v2
Testcontainers MIT

© 2020 - 2025 EGM

Contribution and development

Stellio is an open-source project, and contributions are welcome!

  • You can find the development guidelines here.
  • You can find the documentation guideline here.
  • For best practices on contributing, check out the contribution guide.

About

Stellio is an NGSI-LD compatible context broker

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 14

Languages