
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Ambassador can be used as a "jumper" to connect remote services within a cluster that have dynmically changing hosts/ports. It assumes services are registering their host and port with an available DNS service using SRV records.
For example, you might have a mongodb container running somewhere in your cluster. It registers its own host and port to a DNS service under an SRV entry such as _mongodb._tcp.domain.local when it starts/restarts.
Say you have an api-server that wants to talk to _mongodb._tcp.domain.local. You can link this API server to mongodb using a sidekick:
docker run -d -name dns-server jkingyens/helixdns
docker run -d -link dns-server:dns -name db-amb jkingyens/ambassador _mongodb._tcp.domain.local
docker run -d -link db-amb:db api-server
HelixDNS provides a DNS service on top of etcd. If you already have DNS service at a particular ip:port, then:
docker run -d -dns <ip:port> -name db-amb jkingyens/ambassador _mongodb._tcp.domain.local
docker run -d -link db-amb:db api-server
In either case, api-server only needs to be concerned with connecting to the jumper defined by the enviornment variables:
DB_PORT_3000_TCP_ADDR
DB_PORT_3000_TCP_PORT
Ambassador takes care of ensuring this socket connection routes to wherever _mongodb._tcp.domain.local is running. api-server should be designed to handle network failures. This way, if your monogdb instance is scheduled onto a different host or port, the ambassador should properly route traffic to its new location when api-server attempts to reconnect.
You can use the ambassador directly as a node.js module if you want to build this dynmically linking behaviour into your application. You define the name of the service (as advertised in your DNS) and a local port you want to talk to the service on:
var amb = require('amb-dns');
amb(3000, '_mongodb._tcp.required.local', function (err) {
// mongo is now available at localhost:3000
});
FAQs
ambassador for dynamically linking sockets across hosts using DNS SRV records
We found that amb-dns demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.