use gateway instead of ingress

This commit is contained in:
2025-03-02 01:05:44 -06:00
parent 9f4cf29521
commit 0cd7a610f9
3 changed files with 80 additions and 32 deletions

View File

@@ -0,0 +1,24 @@
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: headlamp-gateway
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: headlamp-gateway
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
annotations:
cert-manager.io/cluster-issuer: letsencrypt-issuer
spec:
gatewayClassName: cilium
listeners:
- name: https
protocol: HTTPS
port: 443
hostname: headlamp.alexlebens.net
tls:
certificateRefs:
- kind: Secret
name: headlamp-gateway-cert

View File

@@ -0,0 +1,24 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: https-headlamp-route
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: https-headlamp-route
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
parentRefs:
- name: headlamp-gateway
hostnames:
- headlamp.alexlebens.net
rules:
- matches:
- path:
type: ImplementationSpecific
value: /
backendRefs:
- name: headlamp
port: 80

View File

@@ -1,32 +1,32 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: headlamp-local
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: headlamp-local
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
cert-manager.io/cluster-issuer: letsencrypt-issuer
spec:
ingressClassName: traefik
tls:
- hosts:
- headlamp.alexlebens.net
secretName: headlamp-tls-secret
rules:
- host: headlamp-cl01tl
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: headlamp
port:
number: 80
# apiVersion: networking.k8s.io/v1
# kind: Ingress
# metadata:
# name: headlamp-local
# namespace: {{ .Release.Namespace }}
# labels:
# app.kubernetes.io/name: headlamp-local
# app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: web
# app.kubernetes.io/part-of: {{ .Release.Name }}
# annotations:
# traefik.ingress.kubernetes.io/router.entrypoints: websecure
# traefik.ingress.kubernetes.io/router.tls: "true"
# cert-manager.io/cluster-issuer: letsencrypt-issuer
# spec:
# ingressClassName: traefik
# tls:
# - hosts:
# - headlamp.alexlebens.net
# secretName: headlamp-tls-secret
# rules:
# - host: headlamp-cl01tl
# http:
# paths:
# - path: /
# pathType: ImplementationSpecific
# backend:
# service:
# name: headlamp
# port:
# number: 80