Inlets brings secure tunnels to Cloud Native workloads.
You can visit the inlets homepage at https://inlets.dev/
With inlets you are in control of your data, unlike with a SaaS tunnel where shared servers mean your data may be at risk. You can use inlets for local development and in your production environment. It works just as well on bare-metal as in VMs, containers and Kubernetes clusters.
inlets is not just compatible with tricky networks and Cloud Native architecture, it was purpose-built for them.
Common use-cases include:
- Exposing local endpoints on the Internet
- Self-hosting from a homelab or on-premises datacenter
- Deploying and monitoring apps across multiple locations
- Remote customer support
What is your strategy for connecting existing applications to the public cloud? Read: The Simple Way To Connect Existing Apps to Public Cloud.
How does it work?¶
Inlets tunnels connect to each other over a secure websocket with TLS encryption. Over that private connection, you can then tunnel HTTPS or TCP traffic to computers in another network or to the Internet.
One of the most common use-cases is to expose a local HTTP endpoint on the Internet via a HTTPS tunnel. You may be working with webhooks, integrating with OAuth, sharing a draft of a blog post or integrating with a partner's API.
After deploying an inlets HTTPS server on a public cloud VM, you can then connect the client and access it.
There is more that inlets can do for you than exposing local endpoints. inlets also supports local forwarding and can be used to replace more cumbersome services like SSH, complex VPNs or expensive direct connect uplinks.
Read more in the: the inlets FAQ.
These guides walk you through a specific use-case with inlets. If you have questions or cannot find what you need, there are options for connecting with the community at the end of this page.
Inlets can tunnel either HTTP or TCP traffic:
- HTTP (L7) tunnels can be used to connect one or more HTTP endpoints from one network to another. A single tunnel can expose multiple websites or hosts, including LoadBalancing and multiple clients to one server.
- TCP (L4) tunnels can be used to connect TCP services such as a database, a reverse proxy, RDP, Kubernetes or SSH to the Internet. A single tunnel can expose multiple ports on an exit-server and load balance between clients
inlets is available for Windows, MacOS (including M1) and Linux (including ARM):
You can also use the container image from ghcr.io:
Your first HTTPS tunnel with an automated tunnel server (Intermediate)¶
Running a HTTP tunnel server manually (Advanced)¶
Running multiple tunnel servers on the same host (Advanced)¶
The easiest way to scale out inlets tunnels is through the Kubernetes helm chart (see below), however you can manually set up a TCP and HTTPS tunnel on the same machine.
Local port forwarding (Intermediate)¶
Connecting with Kubernetes¶
You may have an on-premises Kubernetes cluster that needs ingress. Perhaps you have a homelab, or Raspberry Pi cluster, that you want to self host services on.
- Tutorial: Expose a local IngressController with the inlets-operator
- Tutorial: Expose Kubernetes services in short-lived clusters with helm
Some teams want to have dev work like production, with tools Istio working locally just like in the cloud.
See also: helm charts
Tunnelling TCP services¶
inlets is not limited to HTTP connections, you can also tunnel TCP protocols like RDP, VNC, SSH, TLS and databases.
- Tutorial: Expose a private SSH server over a TCP tunnel
- Tutorial: Tunnel a private Postgresql database
Monitoring and metrics¶
Inlets offers you multiple options to monitor your tunnels and get insight in their performance. Find out tunnel statistics, uptime and connected clients with the
inlets-pro status command or collect the Prometheus metrics from the monitoring endpoint.
Learn how to use inletsctl to provision tunnel servers on various public clouds.
Learn how to set up the inlets-operator for Kubernetes, which provisions public cloud VMs and gives IP addresses to your public LoadBalancers.
For news, use-cases and guides check out the blog:
Watch a video, or read a blog post from the community:
Open Source tools for managing inlets tunnels:
- Inlets Operator for Kubernetes LoadBalancers
- inletsctl to provision tunnel servers
- inlets helm charts for clients and servers
Connecting with the inlets community¶
Who built inlets? Inlets ® is a commercial solution developed and supported by OpenFaaS Ltd.
You can also contact the team via the contact page.
The code for this website is open source and available on GitHub
inlets is proud to be featured on the Cloud Native Landscape in the Service Proxy category.