- Galtea reaches your AI product. Your endpoint stays private, reachable only inside your own network, and there is no public URL and no source address to allowlist.
- Your team reaches the platform. The dashboard and API stay internal, with no public ingress.
What it is
A WireGuard mesh. WireGuard is the encryption and tunnelling protocol built into the Linux kernel; the mesh on top of it is NetBird, which Galtea self-hosts rather than consuming as a service. Self-hosting matters here: the control plane runs inside the Galtea infrastructure for your deployment, so no third-party SaaS sits in the path of your credentials or your traffic. Two planes, and the distinction decides your firewall rules:
The control plane never carries application traffic. It hands out keys and policy. Peers then
talk to each other directly.
The endpoints you connect to
Both are per deployment, with<tenant> replaced by your deployment’s name, which Galtea gives
you:
What you open on your side:
If no direct path can be established, and a strict NAT or a symmetric gateway on either side is
enough to prevent one, the tunnel falls back to the relay over TLS 443. The relay forwards
packets it cannot decrypt, so the fallback costs latency, never confidentiality.
Three ways to connect
Pick by what you need to reach, not by preference.
They combine. A routing peer for your cloud network and a client on two engineers’ laptops is a
normal setup, and each peer is authorized separately.
You install and run the peers. Galtea operates the control plane. That split is the same in
all three, and it means you need no account, no console and no administrative access to the mesh
itself:
So every step below that needs a change in the control plane is a request to Galtea, which
makes it.
Galtea agrees the routes and groups with you before anything is enabled, and holds them in
configuration rather than clicking them in, so what is reachable can be reviewed at any time.
All three are standard NetBird client-side setups: Galtea operates and validates the management,
signal and relay services, and each mode follows NetBird’s own documentation in your environment.
Galtea works with your team on the client-side setup for whichever mode you choose.
Host to host
One machine joins the mesh and gets an address on it. Nothing else in your network becomes reachable, and nothing else needs to change. Pick it when a named machine is the endpoint: a jump host your engineers use, or a single server that hosts the AI product you want evaluated. How it is done:- Install the client. There are packages for Linux, macOS and Windows, and a Docker image. See Installation.
-
Join the mesh, pointing it at your management address instead of the hosted service.
- A browser opens for you to sign in. On a machine with no browser, use a setup key instead, as in Authentication and enrolment below.
-
Confirm it worked.
netbird statuslists the peers you can reach and whether each path is direct or relayed.
netbird down leaves the mesh
without uninstalling anything. The full command set is in the
CLI reference.
Routing peer on a node in your cloud network
One virtual machine inside your own virtual network joins the mesh and advertises routes to subnets behind it. Traffic to those subnets flows through it, so the machines behind it need no client installed and no change at all. Pick it when the platform must reach several services, or something that cannot run a client, such as a managed database or an appliance. This is the usual answer for a cloud network, and the least intrusive: one VM, and no change to any workload. How it is done:- Create a small virtual machine in the network you want reachable. It forwards packets rather than running workloads, so the smallest instance type is normally enough.
- Enable IP forwarding on it, at the operating system level and, on most clouds, on the network interface as well. A cloud that drops traffic whose destination is not the instance itself will silently break the route otherwise.
- Install the client and join the mesh with a setup key, so the peer needs no interactive login and survives a reboot without a person.
-
Galtea declares the route, in the control plane. Tell Galtea:
That last one decides one setting. By default the routing peer replaces the source address of forwarded traffic, which needs no configuration on your side. Preserving the original address is possible and then your network needs a return route back to the mesh, so it is worth saying up front rather than discovering it during a test.
- Check from the other side that the destination answers, rather than that the peer is connected. A connected peer with a route not yet in place looks identical to a working one until traffic flows.
Kubernetes
The NetBird operator runs in your cluster and exposes selected Kubernetes services to the mesh, resolvable by name, without giving the mesh access to the rest of the cluster. Pick it when the thing to reach is a service in Kubernetes and you would rather declare that in your cluster, next to the service, than maintain a VM. How it is done:-
Install the operator with Helm, from the NetBird project’s own registry:
-
Store the credential Galtea issues you for the management API. The operator reads a token
from a Kubernetes secret named
netbird-mgmt-api-key, and its pod does not start without it. The token is scoped to your deployment and Galtea revokes and reissues it on request. -
Declare what to expose, in your own cluster. The operator adds custom resources; a
NetworkRoutermakes selectedClusterIPservices reachable from the mesh, namedservice.namespace.<zone>in a DNS zone the operator manages. Nothing else in the cluster becomes reachable. This is the one mode where you declare what is exposed rather than asking Galtea, which is the reason to pick it. - Resolve that name from a connected peer to confirm it, not just the operator’s own logs.
Authentication and enrolment
Two ways a peer joins, for two different situations:
The interactive login uses the OAuth Authorization Code flow with PKCE, the standard browser
flow, so no long-lived credential is stored on the machine. If your organization uses its own
identity provider, it can be federated into the Galtea one over SAML or OpenID Connect, which
means your directory stays the source of truth: removing a person there removes their access to
the mesh, with no separate offboarding step.
Setup keys are for machines rather than people, and Galtea issues them, one per purpose. A
peer enrols with one command, with no browser and no person:
What is reachable, and what is not
Only the routes a peer advertises, and only for the peers your policy allows.- The dashboard and the API, yes, when that is what you asked for.
- Databases, internal services and everything else in the same network, no, even for a connected peer, unless a route for them was advertised deliberately.
Where to read more
Two things to keep in mind while reading them. Point the client at your own management address
rather than the hosted service, and treat the pages about routes, groups and access rules as
background: they describe the control plane, which Galtea operates for you, so the steps there are
what Galtea does rather than what you do.