Files
homelab/internalproxy/templates/kasm-ingress.yaml

116 lines
2.7 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: kasm
spec:
ports:
- name: app
port: 443
protocol: TCP
targetPort: 443
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: kasm
subsets:
- addresses:
- ip: 192.168.20.100
ports:
- name: app
port: 443
protocol: TCP
---
#apiVersion: networking.k8s.io/v1
#kind: Ingress
#metadata:
# name: kasm-ingress
# annotations:
# kubernetes.io/ingress.class: traefik
# cert-manager.io/cluster-issuer: letsencrypt-production
# nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
# #nginx.ingress.kubernetes.io/proxy-body-size: 10M
# #nginx.ingress.kubernetes.io/proxy-read-timeout: "1800s"
# #nginx.ingress.kubernetes.io/proxy-send-timeout: "1800s"
# #nginx.ingress.kubernetes.io/proxy_connect_timeout: "1800s"
# nginx.ingress.kubernetes.io/server-snippets: |
# location / {
# # The following configurations must be configured when proxying to Kasm Workspaces
#
# # WebSocket Support
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
#
# # Host and X headers
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
#
# # Connectivity Options
# proxy_http_version 1.1;
# proxy_read_timeout 1800s;
# proxy_send_timeout 1800s;
# proxy_connect_timeout 1800s;
# proxy_buffering off;
#
# # Allow large requests to support file uploads to sessions
# client_max_body_size 10M;
#
# # Proxy to Kasm Workspaces running locally on 8443 using ssl
# proxy_pass https://192.168.20.110:8443 ;
# }
#
#
#spec:
# rules:
# - host: kasm.durp.info
# http:
# paths:
# - path: /
# pathType: Prefix
# backend:
# service:
# name: kasm
# port:
# number: 443
# tls:
# - hosts:
# - kasm.durp.info
# secretName: kasm-tls
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: kasm-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`kasm.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: kasm
port: 443
tls:
secretName: kasm-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: kasm-tls
spec:
secretName: kasm-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "kasm.durp.info"
dnsNames:
- "kasm.durp.info"