Sign inSign up

leapsight/bondy-connect

By leapsight

•Updated 1 day ago

Bondy Connect is open-source, highly scalable application networking platform

Image
Networking
Message queues
API management
0

10K+

leapsight/bondy-connect repository overview

Bondy Connect logo

Version License Docker Pulls
Architectures

⁠Bondy Connect

Bondy Connect is an open-source application networking platform. It connects the parts of a distributed application — web and mobile apps, IoT devices, backend services and AI agents — through one protocol. Each part calls and notifies the others without knowing where they run.

Bondy Connect implements the Web Application Messaging Protocol⁠ (WAMP), an open standard that combines Remote Procedure Calls (RPC) and Publish/Subscribe. Around the WAMP router, Bondy Connect adds an HTTP API Gateway, an MCP gateway, an HTTP connector, broker bridges, identity management and role-based access control. A Bondy Connect cluster replicates realms, identities, permissions and API specifications to every node.

Source, documentation and the full feature list: github.com/bondy-io/bondy-connect⁠.

Bondy is now Bondy Connect. From 1.0.0, the images are published here and at ghcr.io/bondy-io/bondy-connect. The image starts bondy-connect foreground; use bondy-connect in place of bondy in docker exec commands and probes. The /bondy paths, node names, BONDY_* environment variables and etc/bondy.conf keep their names. Releases before 1.0.0 remain at leapsight/bondy⁠ and are copied here under the same tags.

⁠Tags

TagContents
<version>, e.g. 1.0.0A release. Multi-arch: linux/amd64 and linux/arm64.
<version>-amd64, <version>-arm64The same release for one architecture.
mainThe latest build of the main branch.
developThe latest build of the develop branch. Not for production.

The same tags are published at ghcr.io/bondy-io/bondy-connect, with the same digests. To pin an exact build, pull by digest, e.g. leapsight/bondy-connect@sha256:<digest>.

⁠Quick start

Download the examples/custom_config⁠ folder, or clone the repository, and cd to the folder that contains examples/. Then run:

docker run \
--rm \
-e [email protected] \
-e BONDY_ERL_DISTRIBUTED_COOKIE=bondy \
-u 0:1000 \
-p 18080:18080 \
-p 18081:18081 \
-p 18082:18082 \
-v "$PWD/examples/custom_config/etc:/bondy/etc" \
-v "/tmp/data:/bondy/data" \
leapsight/bondy-connect:1.0.0

The example configuration runs a single node (cluster.enabled = off) with these listeners:

PortListenerServes
18080api_gateway_httpAPI Gateway, WAMP over WebSocket (/ws), SSE and Longpoll
18081adminAdmin API, WAMP over WebSocket, /ping, /ready, /metrics
18082wamp_tcpWAMP RawSocket over TCP

Use /ping (liveness) and /ready (readiness) on the admin listener for container health checks and Kubernetes probes.

⁠Image reference

Command. The entrypoint is bondy-connect foreground. Run other commands with docker exec <container> bondy-connect <command>, e.g. ping, eval or remote_console.

User. The image runs as bondy:bondy. The working directory is /bondy.

Volumes.

PathHolds
/bondy/etcConfiguration: bondy.conf and the files it references
/bondy/dataThe node's database. Mount persistent storage here.
/bondy/logLog files, when a file log handler is configured
/bondy/tmpTemporary files

Ports. The image exposes 18080 to 18086. Without a listeners.* section, a node declares three listeners and the cluster peer service:

PortListenerServes
18080api_gateway_httpAPI Gateway, WAMP over WebSocket (/ws), SSE and Longpoll
18081adminAdmin API, WAMP over WebSocket, /ping, /ready, /metrics
18082wamp_tcpWAMP RawSocket over TCP
18086Cluster peer service (cluster.peer_port)

Ports 18083 to 18085 are free for TLS listeners you declare in bondy.conf under listeners.$name.*; every enabled TLS listener names its certificate.

Environment variables.

VariableDefaultSets
BONDY_ERL_NODENAME[email protected]The Erlang node name
BONDY_ERL_DISTRIBUTED_COOKIEbondyThe Erlang distribution cookie. Change it in production.

⁠Clustering

A single-node deployment sets cluster.enabled = off. For a cluster, every node needs a unique BONDY_ERL_NODENAME, the same cookie, and a way to find its peers through DNS or a static list. The cluster peer service on port 18086 is plaintext by default; see Cluster mTLS⁠ and Clustering⁠.

⁠Upgrading from 1.0.0-rc.65 or earlier

Bondy Connect 1.0.0 cannot read the data directory of an earlier release. Take a backup on the old release, wipe the data directory, and import the backup into 1.0.0. Read the migration guide⁠ and the Action required section of the CHANGELOG⁠ first.

⁠Resources

⁠License

Bondy Connect is licensed under the Apache License 2.0⁠.

Tag summary

Content type

Image

Digest

sha256:f6774714e…

Size

62.6 MB

Last updated

1 day ago

docker pull leapsight/bondy-connect