Bridge
A Bridge is a piece of software that bridges between ConfigHub and live resources in Kubernetes, AWS, Azure, GCP, and various other services or systems under management. It translates the ConfigHub concepts of Apply, Destroy, Refresh, and Import into the correct calls for a given API. It also receives events from the service about in-progress operations as well as resource data and status and passes it back to ConfigHub.
Bridges run inside Workers and expose a well-defined API to the Worker. Bridges don't need to worry about the specific communications protocol, authentication, connection heartbeating or connection failure handling. The Worker is responsible for this.
The Worker must run in an environment where the contained Bridges have the necessary access to infrastructure credentials and have network access to the infrastructure control planes they need to communicate with.
For example, if a Worker is hosting a Kubernetes API bridge, then the Bridge must be able to access the relevant Kubernetes API credentials, e.g. via a local kubeconfig file and the targeted Kubernetes API endpoint must be accesible from where the Worker is running. Such a worker would typically run in the Kubernetes cluster, similar to a GitOps Operator.
ConfigHub provides a prebuilt binary executable and container image consisting of a Worker and a number of Bridges, including a Kubernetes API bridge. Customers are able to implement their own Bridge code and compile it together with the ConfigHub provider Worker component and Bridge components. Currently, Go is the only supported programming language for this kind of customization.