Support for UNS Bridges (with Admin UI Integration)#586
Open
AlexGodbehere wants to merge 17 commits intomainfrom
Open
Support for UNS Bridges (with Admin UI Integration)#586AlexGodbehere wants to merge 17 commits intomainfrom
AlexGodbehere wants to merge 17 commits intomainfrom
Conversation
amrc-benmorrow
previously approved these changes
Jan 22, 2026
Contributor
amrc-benmorrow
left a comment
There was a problem hiding this comment.
I've approved despite a few comments; I presume it actually works.
- Introduced a new Helm chart for UNS Bridge and its configuration. - Updated `acs-service-setup` files to register UNS Bridge as a deployment option. - Created deployment templates and associated values for UNS Bridge. - Enhanced documentation to guide deployment and configuration processes for UNS Bridge. Admin UI changes will be added later and will automate the creation of the KerberosKey and facilitate correct entry of data.
- Added `edgeService` definition to Helm values in `acs-service-setup`. - Modified `kerberos-key.yaml` to reference the dynamic `edgeService` from Helm values.
- Registered UNS Bridge class in `helm.yaml` under `acs-service-setup`. - Updated `uuids.js` to include UUID for UNS Bridge.
- Added "Bridges" section to the navigation menu. - Introduced `NewBridgeDialog.vue` for creating UNS Bridges. - Added `Bridges.vue` page for Bridge management with a table view.
…ote broker credential requirements. Removed deployment guide and installation instructions to align with edge-deployment automation.
Align the UNS Bridge chart lookup with the pattern used for other system charts by fetching it from the Manager's ServiceConfig instead of hardcoding a name-based lookup in the UI. - Update `acs-service-setup` to include `unsBridge` in the Manager's helm configuration. - Refactor NewBridgeDialog.vue to fetch the chart UUID from ConfigDB on mount. - Remove redundant `HelmChartStore` dependency from `NewBridgeDialog.vue`.
Classify the UNS Bridge as a SystemHelmChart in helm.yaml. This ensures it is handled correctly as a system component and is filtered out of generic deployment menus in the Admin UI.
…ility Convert .Values.topics from an array to an object keyed by topic filter. This provides a place to add direction/qos settings per topic in the future without breaking existing configurations.
…pty topic for non-outgoing bridges
Normalize the cluster name using RFC 1123 subdomain rules before using it as a HelmRelease name in the cluster manager. This fixes issues where names with underscores (e.g. "Test_Cluster") would fail Kubernetes validation.
…toryplus/service-client`.
… its implementation in `@amrc-factoryplus/service-client`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This Pull Request introduces a UNS Bridge feature, enabling the bridging of Unified Namespace (UNS) topics between Factory+ ACS MQTT brokers and remote brokers. It encompasses everything from the underlying Helm charts and service configuration to a complete management interface within the Admin UI.
Key Changes
UNS Bridge Helm Chart
Introduced the
uns-bridgeedge Helm chart, which deploys a Mosquitto-based MQTT bridge. The bridge supports forwarding local Factory+ topics to remote brokers (Outgoing).The Helm chart creates
KerberosKeysto access the local broker and supports TLS and basic authentication for remote broker connections. The basic authentication credentials are encrypted using Sealed Secrets, aligning with the standard edge deployment workflow.Admin UI Management
Introduced a management interface within the Admin UI to streamline bridge operations. A new Bridges Page allows users to view and search all active bridge deployments across the cluster.
To simplify the setup process, a Bridge Creation Dialog (wizard) has been added. This guides the user through selecting the bridge direction (Incoming/Outgoing), defining topic filters, and configuring remote broker connection details. Behind the scenes, this creates the Edge Deployment.
Service Configuration & UUIDs
Updated the core service configuration to support the new bridge architecture. This includes the addition of the Bridge Class and UNS Ingester Group UUIDs to
uuids.jsin the in-treeservice-client.acs-service-setuphas been expanded to include theUNSBridgerole, ensuring that bridge instances have the correct ACLs to subscribe to local UNS topics without manual permission intervention.How to Test
KerberosKeycommand for the remote environment.