Hi all,
I deployed CIVITAS/CORE V2 (RC) to a Kubernetes cluster (AKS) and it went through without any major problems. As a first use case, I followed the Smart Meter guide from the docs: master data from a PostgreSQL data source, measurement data via MQTT, pipeline into the Sensor Data Storage, and published as a SensorThings API.
1. MQTT over TLS
The MQTT connector form has a „TLS Enabled“ switch, but when I released the dataset, it didn’t work. I checked the code, and it seems the TLS option isn’t fully implemented yet, and something is missing on the NiFi side. Currently, the portal offers an option that the pipeline engine rejects. Has anyone managed to use a TLS MQTT broker, or is plain tcp:// currently the only working option? Is TLS support planned?
2. NiFi vs. Redpanda Connect
Regarding NiFi and Redpanda Connect: does the platform currently use NiFi or Redpanda Connect? In the past, I noticed the platform seemed to mainly rely on Redpanda Connect.
3. Where do I see whether a data source connection works?
For both MQTT and SQL sources, the data source shows „Available“ and a „last active“ time, but I could not find a test-connection button or any error display. Is there a place in the portal where I can verify the connection is actually working, or is checking the logs the intended way for now?
4. How do I see whether a pipeline is deployed and processing data?
This one cost me the most time. When releasing the dataset failed (due to a mapping problem on my side), the dataset just went back to „Ready“ with no error shown anywhere in the portal. The API tile stayed visible too, so everything looked fine while nothing was actually deployed. I only found the real cause in the config-adapter logs on the cluster. Similarly, at runtime, records that fail in the pipeline are dropped silently and the portal shows nothing. Is there a recommended way to monitor pipeline health and throughput?
(Side note: I also hit the pipeline editor bug where deleting an edge doesn’t really delete it, so I had to rebuild the pipeline. I found that one already reported on GitLab, and the NiFi→FROST authentication issue also seems to be tracked already, so I won’t repeat those here.)
5. Superset / Grafana on top of FROST and GeoServer
What is the intended way to show data from the FROST server (or GeoServer) in Superset or Grafana? Superset is part of the deployment, but I found no documented integration path. Is there an official or planned integration?
6. Access tokens for the SensorThings API
For external applications that need to consume the dataset API (/v1/datasets//frost-server), what is the recommended way to obtain access tokens? I was not able to access the data from the API at all. Is it possible to change the settings to make it public and unprotected?
7. Modeling guidelines for SensorThings data structures
Are there guidelines for how to model the data structure used as the mapping target for the Sensor Data Storage? I learned by trial and error that the Thing needs a nested „properties“ class with an attribute flagged as {id} (the match key), that the Datastream tier needs the same, and that create fields are all-or-nothing per entity. The how-to guides describe the overall flow nicely, but I only figured out the concrete modeling rules for FROST targets from error messages. Did I miss a docs page, and if not, is one planned?
8. Questions about Add-ons
What is the intended purpose of add-ons? I checked the code and it looks like a really promising way to share applications between municipalities. What do you think about using add-ons for platforms like MQTT, Decidim, or ThingsBoard? Also, where can I see how to manage user roles? Do I need to write a custom integration to talk to Keycloak? Finally, is it possible for add-ons to change the Keycloak realm for intended applications? Some applications (e.g., citizen-facing ones) might need a different realm with less strict security policies.
Sorry for highlighting so many issues! I am really happy with the concept of add-ons because they offer an incredibly easy way to share open-source solutions across municipalities with high security practices and low maintenance costs.
My overall impression is very positive, and the platform does a lot out of the box. Most of my friction was about visibility: knowing whether connections, releases, and pipelines actually succeeded. I’m happy to provide details or open GitLab issues for anything that isn’t tracked yet.
Thanks!
Marek Mráz