Webhook Relay
PricingLogin
  • Introduction
  • Quick Start - Forwarding
  • Quick Start - Tunnels
  • 🛠️Installation
    • Relay CLI
      • Install
      • Auto-start
      • Run config.yaml reference
    • Containerized
      • Kubernetes Installation
      • Podman
      • Docker
      • Docker Compose
  • Products
    • 🛰️Webhook Forwarding
      • Glossary
      • WebSocket Server
      • Authentication
      • Custom Domains
    • ⚡Functions
      • Managing functions
      • Edit request/response
      • Working with JSON
      • 🦾Advanced
        • Working with time
        • Testing functions in CLI
        • Making HTTP Requests
        • Multipart Form Data
        • URLEncoded Form Data
        • GCP BigQuery
        • Sending Emails
        • JWT authentication
        • Base64, Hashes, Encryption
      • 🤖Integrating into CI/CD
    • 🔃Tunnels
      • Using tunnels
      • Custom Domains
      • Encryption (HTTPS)
      • Regions
  • 📝Examples
    • Intro to examples
    • Webhooks
      • Receiving webhooks on localhost
      • Receive webhooks inside your JavaScript app
      • Execute shell scripts on remote machines
    • Functions
      • Enrich webhooks from 3rd party APIs
      • Convert DockerHub webhook to Slack notification
      • Allowing only POST requests through
      • Manipulate webhook request body
    • Tunnels
      • Ingress for any Kubernetes environment
      • Demoing your website
    • 🏠Home Automation
      • Home Assistant
      • Node-RED
      • Raspberry Pi
  • Platform
    • CLI Basics
    • Using CLI Behind Proxy
    • Self-hosting Server
      • Server deployment
      • Client configuration
    • Security & Tech
Powered by GitBook
On this page

Was this helpful?

  1. Examples
  2. Tunnels

Ingress for any Kubernetes environment

PreviousTunnelsNextDemoing your website

Last updated 2 years ago

Was this helpful?

While developing, testing and running workloads it’s always important to have an easy way to access those applications. Every cloud load balancer slightly differs in configuration, pricing and ease of use.

With Web Relay ingress controller it doesn’t matter if your application runs on , GKE, AWS or Azure; all applications get same endpoints with exactly the same ingress configuration.

Relay Ingress with Kuard

Here, we add ingress controller from a and provide credentials via relay ingress init command. Webhook Relay ingress controller can be found in webrelay-ingress namespace.

To do it on your own, you will need:

  • Kubernetes environment (in the example above we use Minikube)

  • Configured kubectl

Run:

relay ingress init

This command:

  • Creates webrelay-ingress namespace

  • Creates webrelay service account

  • Creates deployment with the controller

  • Creates cluster role and binding

  • Generates access key and secret for the Web Relay server and supplies them as a Kubernetes secret

$ relay tunnel create --group webrelay-ingress hello-ingress
2p4ptkh9vutgm8tqavigja.webrelay.io<---->http://127.0.0.1
git clone https://github.com/webrelay/ingress
cd ingress/examples

Now, edit ingress.yaml with your Host.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: webrelay    
  name: relay-ingress
  namespace: default
spec:
  rules:
    - host: 2p4ptkh9vutgm8tqavigmp.webrelay.io # <- set your tunnel host here
      http:
        paths:
        - path: /
          backend:
            serviceName: kuard
            servicePort: 8080

Then create Kuard and ingress resource:

kubectl create -f kuard.yaml -f ingress.yaml

See whether ingress is ready

relay ingress ls

Add ingress controller to your environment. Learn more .

Here, 2p4ptkh9vutgm8tqavigja.webrelay.io is your tunnel endpoint, set it in ingress.yaml file.

In this example we are using Kuard workload. Deployment file and ingress configuration is available in repository under examples directory. Clone it:

Deployment files for ingress controller and example workload can be found .

📝
Webhook Relay account
here
Get your tunnel domain name
Add Kuard to your cluster
https://github.com/webrelay/ingress
here
Minikube
hosted manifest