78 lines
1.5 KiB
YAML
78 lines
1.5 KiB
YAML
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: ClusterIssuer
|
|
metadata:
|
|
name: selfsigned
|
|
spec:
|
|
selfSigned: {}
|
|
|
|
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
name: coder.taefik.local
|
|
namespace: code-server
|
|
spec:
|
|
dnsNames:
|
|
- coder.taefik.local
|
|
secretName: coder.taefik.local
|
|
issuerRef:
|
|
name: selfsigned
|
|
kind: ClusterIssuer
|
|
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: ServersTransport
|
|
metadata:
|
|
name: insecure-transport
|
|
namespace: code-server
|
|
spec:
|
|
insecureSkipVerify: true
|
|
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: strip-coder
|
|
namespace: code-server
|
|
spec:
|
|
stripPrefix:
|
|
prefixes:
|
|
- "/coder"
|
|
forceSlash: true
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: upgrade
|
|
namespace: code-server
|
|
# --- snip --
|
|
spec:
|
|
headers:
|
|
customRequestHeaders:
|
|
Connection: Upgrade
|
|
Upgrade: websocket
|
|
---
|
|
# Host(`coder.traefik.local`) && PathPrefix(`/coder`) PathPrefix(`/coder`)
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: coder-ingress
|
|
namespace: code-server
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`coder.traefik.local`)
|
|
kind: Rule
|
|
middlewares:
|
|
- name: upgrade
|
|
namespace: code-server
|
|
# - name: strip-coder
|
|
services:
|
|
- name: code-server
|
|
port: 8080
|
|
namespace: code-server
|
|
serversTransport: insecure-transport
|
|
tls:
|
|
secretName: coder.taefik.local |