Skip to content

Inlets documentation

Inlets reinvents the concept of a tunnel for a Cloud Native world.

Inlets logo

You can visit the inlets homepage at https://inlets.dev/

Note

Welcome to the new inlets documentation site launched Nov 2021. This rewrite aims to be less verbose, to connect you with practical task-driven examples and to make it easier to find what you need. If you have comments, questions or suggestions, please let us know on GitHub.

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.

Access a local service remotely

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.

Getting started

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

Downloading inlets

inlets is available for Windows, MacOS (including M1) and Linux (including ARM):

You can also use the container image from ghcr.io: ghcr.io/inlets/inlets-pro:latest

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.

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.

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.

Reference documentation

inletsctl

Learn how to use inletsctl to provision tunnel servers on various public clouds.

inlets-operator

Learn how to set up the inlets-operator for Kubernetes, which provisions public cloud VMs and gives IP addresses to your public LoadBalancers.

Other resources

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:

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.

CNCF Landscape