Skip to content

Commit

Permalink
Rename inlets helm charts for consistency
Browse files Browse the repository at this point in the history
cc @welteki @jsiebens

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
  • Loading branch information
alexellis committed Oct 3, 2022
1 parent c5de47b commit 8d23cc1
Show file tree
Hide file tree
Showing 36 changed files with 101 additions and 70 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ all: charts
charts:
cd chart && \
helm package inlets-http-server/ && \
helm package inlets-pro/ && \
helm package inlets-pro-client/
helm package inlets-tcp-server/ && \
helm package inlets-tcp-client/
mv chart/*.tgz docs/charts
helm repo index docs/charts --url https://inlets.github.io/inlets-pro/charts --merge ./docs/charts/index.yaml
2 changes: 1 addition & 1 deletion artifacts/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Artifacts for inlets PRO
# Artifacts for inlets Pro

See also: [Options for Kubernetes integration and deployment](chart/)
2 changes: 1 addition & 1 deletion artifacts/inlets-pro.service
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[Unit]
Description=inlets PRO TCP server
Description=inlets Pro TCP server
After=network.target

[Service]
Expand Down
25 changes: 12 additions & 13 deletions chart/README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,36 @@
## Helm charts for inlets Pro
## Helm charts for inlets

[inlets](https://inlets.dev/) consists of a client and a server portion.
[inlets](https://inlets.dev) has both a client and a server, which connect to each other to build a tunnel.

When a client wants to expose a service publicly, or privately within a remote network, it connects to a server using its control-plane (a HTTPS websocket).

There is no need for your data plane to be exposed on the Internet, you can bind to a local LAN adapter, or a private ClusterIP. If you do want to expose your tunnelled services to the Internet, you can do with a NodePort, LoadBalancer or through Ingress.

Kubernetes v1.19+ is required for the helm charts provided in this repository, due to the various versions of the Ingress API, the minimum supported version will be `networking.k8s.io/v1`.

### Deploy an inlets Pro TCP server
### Deploy the inlets tunnel client or server as a Kubernetes Deployment

* [Use your Kubernetes cluster for exit-servers](https://github.com/inlets/inlets-pro/tree/master/chart/inlets-pro)
* [Deploy an inlets HTTP server](https://github.com/inlets/inlets-pro/tree/master/chart/inlets-http-server)

### Deploy an inlets Pro TCP client
* [Deploy an inlets TCP client](https://github.com/inlets/inlets-pro/tree/master/chart/inlets-pro-client)

* [Run an inlets PRO client in your Kubernetes cluster](https://github.com/inlets/inlets-pro/tree/master/chart/inlets-pro-client)
* [Deploy an inlets TCP server](https://github.com/inlets/inlets-pro/tree/master/chart/inlets-tcp-server)

### Deploy an inlets Pro HTTP client or server
## Other Kubernetes use-cases

To deploy a client or server, request access to the helm chart after your purchase.
### Get Public L4 Load Balancers for your cluster

See also: [inlets-operator](https://github.com/inlets/inlets-operator) which automates both parts of the above for a set number of supported clouds, and integrates through Kubernetes services of type LoadBalancer.

### Setup your preferred IngressController with TLS certs from Let's Encrypt

* [Quick-start: Expose Your IngressController and get TLS from LetsEncrypt and cert-manager](https://docs.inlets.dev/#/get-started/quickstart-ingresscontroller-cert-manager?id=quick-start-expose-your-ingresscontroller-and-get-tls-from-letsencrypt-and-cert-manager)

### Get kubectl access to your private cluster from anywhere

* [Get kubectl access to your private cluster from anywhere](https://blog.alexellis.io/get-private-kubectl-access-anywhere/)
* [Tutorial: Expose a local Kubernetes API Server](https://docs.inlets.dev/tutorial/kubernetes-api-server/)

### Continous Deployment and fleet management with ArgoCD

* [How To Manage Inlets Tunnels Servers With Argo CD and GitOps](https://inlets.dev/blog/2022/08/10/managing-tunnel-servers-with-argocd.html)
* [Argo CD for your private Raspberry Pi k3s cluster](https://johansiebens.dev/posts/2020/08/argo-cd-for-your-private-raspberry-pi-k3s-cluster/)

### Get Public L4 LoadBalancers for your cluster

See also: [inlets-operator](https://github.com/inlets/inlets-operator) which automates both parts of the above for a set number of supported clouds, and integrates through Kubernetes services of type LoadBalancer.
4 changes: 2 additions & 2 deletions chart/inlets-http-server/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: inlets-http-server
description: Helm chart for an inlets HTTP server
description: Deploy an inlets HTTP tunnel server to a cluster
type: application
version: 0.4.3
version: 0.5.0
appVersion: 1.16.0
6 changes: 3 additions & 3 deletions chart/inlets-http-server/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# inlets-http-server

This is the helm chart for an inlets PRO HTTP server
This is the helm chart for an inlets Pro HTTP server

Use it to deploy one or more inlets PRO HTTP tunnel servers to your Kubernetes cluster using a wildcard domain.
Use it to deploy one or more inlets Pro HTTP tunnel servers to your Kubernetes cluster using a wildcard domain.

# Use your Kubernetes cluster for inlets-pro HTTP exit-servers

Expand Down Expand Up @@ -101,7 +101,7 @@ kubectl create secret generic -n inlets inlets-$NAME-token \
--from-literal token=$TOKEN
```

Create a `values.yaml` and customise the `controlPlaneIngress` with the domain you want the inlets PRO client to connect to.
Create a `values.yaml` and customise the `controlPlaneIngress` with the domain you want the inlets Pro client to connect to.

Then update `dataPlaneIngresses` with any services that you want to expose to the Internet from the tunnel. If you don't want to expose anything then change it to: `dataPlaneIngresses: {}`.

Expand Down
6 changes: 0 additions & 6 deletions chart/inlets-pro-client/Chart.yaml

This file was deleted.

6 changes: 0 additions & 6 deletions chart/inlets-pro/Chart.yaml

This file was deleted.

File renamed without changes.
File renamed without changes.
6 changes: 6 additions & 0 deletions chart/inlets-tcp-client/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v2
name: inlets-tcp-client
description: Deploy an inlets TCP tunnel client to a cluster
type: application
version: 0.5.0
appVersion: 1.0.0
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
## Run an inlets PRO client in your Kubernetes cluster
## Run an inlets Pro client in your Kubernetes cluster

An inlets PRO client can be used to tunnel a service from a local cluster to a remote network or remote Kubernetes cluster.
An inlets Pro client can be used to tunnel a service from a local cluster to a remote network or remote Kubernetes cluster.

You should decide whether you want to expose the remote service to the world, or to just the local area network of the exit-server.

### Prerequisites

You will need to set up an inlets PRO TCP server so that the client has an endpoint to connect to. Create a server manually and then configure inlets-pro, or use [inletsctl](https://github.com/inlets/inletsctl) to create a preconfigured cloud VM, or use the helm chart for the inlets-pro server to install the server into a Pod.
You will need to set up an inlets Pro TCP server so that the client has an endpoint to connect to. Create a server manually and then configure inlets-pro, or use [inletsctl](https://github.com/inlets/inletsctl) to create a pre-configured cloud VM, or use the helm chart for the inlets-pro server to install the server into a Pod.

Install [arkade](https://arkade.dev/), which is used in the tutorial to install Kubernetes software.

Expand Down Expand Up @@ -58,7 +58,7 @@ kubectl create secret generic -n $NS \
$TOKEN_NAME --from-literal token=$SERVER_TOKEN


helm upgrade --install grafana-tunnel inlets-pro/inlets-pro-client \
helm upgrade --install grafana-tunnel inlets-pro/inlets-tcp-client \
--namespace $NS \
--set tokenSecretName=$TOKEN_NAME \
--set url=$URL \
Expand All @@ -71,11 +71,11 @@ echo Access Grafana via http://$IP:3000
kubectl logs deploy/grafana-tunnel
```

If you wish to disable public access to the forwarded ports, look at the reference documentation for inlets PRO for how to bind the data-plane to a local LAN or loopback adapter.
If you wish to disable public access to the forwarded ports, look at the reference documentation for inlets Pro for how to bind the data-plane to a local LAN or loopback adapter.

### Install a client for a server using an IngressController for TLS termination

If you are using an IngressController for TLS termination, then you need to disable the Auto TLS feature of inlets PRO (`--set autoTLS=false`).
If you are using an IngressController for TLS termination, then you need to disable the Auto TLS feature of inlets Pro (`--set autoTLS=false`).

Install OpenFaaS which bundles Prometheus:

Expand All @@ -96,7 +96,7 @@ kubectl create secret generic -n default \
kubectl create secret generic -n default \
$TOKEN_NAME --from-literal token=$SERVER_TOKEN

helm upgrade --install prometheus-tunnel inlets-pro/inlets-pro-client \
helm upgrade --install prometheus-tunnel inlets-pro/inlets-tcp-client \
--namespace openfaas \
--set tokenSecretName=$TOKEN_NAME \
--set url=$URL \
Expand Down Expand Up @@ -138,7 +138,7 @@ kubectl create secret generic -n default \
$TOKEN_NAME --from-literal token=$SERVER_TOKEN

helm upgrade --install nginx-tunnel \
inlets-pro/inlets-pro-client \
inlets-pro/inlets-tcp-client \
--namespace default \
--set tokenSecretName=$TOKEN_NAME \
--set url=$URL \
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 6 additions & 0 deletions chart/inlets-tcp-server/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v2
name: inlets-tcp-server
description: Deploy an inlets TCP tunnel server to a cluster
type: application
version: 0.5.0
appVersion: 1.16.0
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Use your Kubernetes cluster for exit-servers

This chart installs the inlets PRO server in TCP mode. It runs the inlets server process as a Pod within your Kubernetes cluster.
This chart installs the inlets Pro server in TCP mode. It runs the inlets server process as a Pod within your Kubernetes cluster.

You can use this to avoid creating individual exit-server VMs, or to connect a number of services into to a public Kubernetes cluster. It's up to you to decide whether you want to access any tunneled services from the Internet, or from within the cluster.

Expand Down Expand Up @@ -90,7 +90,7 @@ kubectl create secret generic inlets-pro-secret \

The chart will deploy two Kubernetes services, an Ingress record and a Deployment to run the inlets-pro server process.

* `prometheus-tunnel-control-plane` - a service exposed by Ingress, for the websocket of inlets PRO (usually port 8123)
* `prometheus-tunnel-control-plane` - a service exposed by Ingress, for the websocket of inlets Pro (usually port 8123)
* `prometheus-tunnel-data-plane` - a local service to access Prometheus from within the cluster (usually 9090)

Edit `values.yaml`:
Expand All @@ -100,7 +100,7 @@ Make any changes you need.
```bash
export DOMAIN="prometheus.example.com"

helm upgrade --install prometheus-tunnel inlets-pro/inlets-pro \
helm upgrade --install prometheus-tunnel inlets-pro/inlets-tcp-server \
--set ingress.domain=$DOMAIN
```

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ $ helm repo update

$ helm search repo inlets-pro
NAME CHART VERSION APP VERSION DESCRIPTION
inlets-pro/inlets-pro 0.2.1 1.16.0 Helm chart for an inlets-pro TCP server
inlets-pro/inlets-pro-client 0.2.1 1.0.0 Helm chart for an inlets-pro TCP client
inlets-pro/inlets-tcp-server 0.2.1 1.16.0 Helm chart for an inlets-pro TCP server
inlets-pro/inlets-tcp-client 0.2.1 1.0.0 Helm chart for an inlets-pro TCP client
inlets-pro/inlets-http-server 0.2.1 1.16.0 Helm chart for an inlets HTTP server
```

Expand Down
Loading

0 comments on commit 8d23cc1

Please sign in to comment.