-
Notifications
You must be signed in to change notification settings - Fork 45
Description
I am experiencing issues configuring Google PubSub as the queue type in ThingsBoard PE running as microservices on GCP. While the logs indicate that the connection to PubSub is established, the following problems occur:
- JavaScript scripts do not execute.
- Integrations fail to work properly.
Changes Made to Deployment Files
To better suit my requirements, I modified the deployment files as follows:
- New Variables File:
- Added a new file, tb-variables-configmap.yml, exclusively for ThingsBoard-related variables.
- This file is mapped as a configMapRef in all workloads to ensure consistent variable injection.
- PubSub-Specific Changes:
- Renamed the original tb-kafka-configmap.yml to tb-pubsub-configmap.yml.
- Updated all references in deployment scripts and YAML files to use the new tb-pubsub-configmap.yml.
- Configurations in tb-pubsub-configmap.yml include:
- TB_QUEUE_TYPE set to pubsub.
- GCP-specific configurations like TB_QUEUE_PUBSUB_PROJECT_ID and TB_QUEUE_PUBSUB_SERVICE_ACCOUNT.
- Updated tb-services.yml and thirdparty.yml to align with the PubSub configuration.
Steps to Reproduce:
- Configure the database and set the URL at the HTTPS load balancer as usual.
- Deploy the manifests using the k8s-deploy-resources.sh script. I updated this script to include the application of tb-variables-configmap.yml.
Expected Behavior
According to the documentation, JavaScript scripts should execute without errors, and integrations should function correctly. However:
- No messages are processed by the system, even though I can see the PubSub topics being created.
- Scripts and integrations fail despite successful connection logs.
Supporting Files
You can review the files for further details on the changes. I have included only the folder for the GCP microservices configuration files in this ZIP:
tb-pe-gcp-microservices-pubsub.zip
Are there any additional configurations or changes required to make PubSub fully functional as the queue in ThingsBoard PE, beyond configuring the project variables and enabling the service on GCP?
The only parts where I am uncertain about the configuration are the workloads for Zookeeper and Redis. Any guidance on this would be greatly appreciated.