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