- Notifications
You must be signed in to change notification settings - Fork61
Create inlets servers on the top cloud platforms
License
inlets/inletsctl
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
inletsctl automates the task of creating an exit-server (tunnel server) on public cloud infrastructure.Thecreate command provisions a cheap cloud VM with a public IP and pre-installs inlets for you. You'll then get a connection string that you can use with the inlets client.
Conceptual diagram
Case-study with receiving webhooks fromhttps://blog.alexellis.io/webhooks-are-great-when-you-can-get-them/
Use-cases:
- Setup L4 TCP and HTTPS tunnels for your local services usinginlets-pro with
inletsctl create - Create tunnels for use with Kubernetes clusters, create the tunnel and use it whenever you need it
- Port-forward services your local Kubernetes cluster using
inletsctl kfwd
In the demo we:
- Create a cloud host on DigitalOcean with a single command
- Run a local Python HTTP server
- Connect our
inlets-pro client - Access the Python HTTP server via the DigitalOcean Public IP
- Use the CLI to delete the host
inletsctl is the quickest and easiest way to automate tunnels, whilst retaining complete control of your tunnel and data.
- Provision hosts quickly using cloud-init with inlets pre-installed -
inletsctl create - Delete hosts by ID or IP address -
inletsctl delete - Automate port-forwarding from Kubernetes clusters with
inletsctl kfwd
Theinletsctl create command will provision a cloud host with the provider and region of your choice and then start runninginlets server. The host is configured with the standard VM image for Ubuntu or Debian Linux and inlets is installed via userdata/cloud-init.
Theprovision package contains defaults for OS images to use and for cloud host plans and sizing. You'll find all available options oninletsctl create --help
The cost for cloud hosts varies depending on a number of factors such as the region, bandwidth used, and so forth. A rough estimation is that it could cost around 5 USD / month to host a VM on for DigitalOcean, or Scaleway. The VM is required to provide your public IP. Some hosting providers supply credits and a free-tier such as GCE and AWS.
See the pricing grid on theinlets-operator for a detailed breakdown.
inletsctl does not automatically delete your exit nodes (read cloud hosts), so you'll need to do that in your dashboard or viainletsctl delete when you are done.
You can download the latest release from thereleases page or usearkade:
# Install directly to /usr/local/bin/curl -sLSf https://get.arkade.dev| sudo sh# Install to local directory (for Windows users)curl -sLSf https://get.arkade.dev| sh
The command can install inletsctl initially, and also update it later on:
arkade get inletsctl
Windows users are encouraged to usegit bash to install the inletsctl binary.
To learn about the various features of inletsctl and how to configure each cloud provisioner, head over to the docs:
Before seeking support, make sure you have read the instructions correctly, and try to run through them a second or third time to see if you have missed anything.
Then, try the troubleshooting guide in the official docs (link above).
Why is inletsctl a separate binary? This tool is shipped separately, so that the core tunnel binary does not become bloated. The EC2 and AWS SDKs for Golang are very heavy-weight and result in a binary of over 30MB vs the small and nimble inlets-pro binaries.
inletsctl can provision exit-servers to the following providers: DigitalOcean, Scaleway, Google Cloud, AWS EC2, Azure, Linode, Hetzner, and Vultr.
An open-source Go package namedprovision can be extended for each new provider. This code can be used outside of inletsctl by other projects wishing to create hosts and to run some scripts upon start-up via userdata.
typeProvisionerinterface {Provision(BasicHost) (*ProvisionedHost,error)Status(idstring) (*ProvisionedHost,error)Delete(HostDeleteRequest)error}
inletsctl is distributed under the MIT license. inlets-pro, which inletsctl uses is licensed under theinlets-pro End User License Agreement (EULA) and requiresa personal or business subscription.
About
Create inlets servers on the top cloud platforms
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.

