Add Pelican panel — EndpointSlice, HTTPRoute, certificate, gateway listener
This commit is contained in:
@@ -41,6 +41,9 @@ resources:
|
|||||||
- ollama/certificate.yaml
|
- ollama/certificate.yaml
|
||||||
- openwebui/certificate.yaml
|
- openwebui/certificate.yaml
|
||||||
- searxng/certificate.yaml
|
- searxng/certificate.yaml
|
||||||
|
- docuseal/certificate.yaml
|
||||||
|
- affine/certificate.yaml
|
||||||
|
- pelican/certificate.yaml
|
||||||
|
|
||||||
patches:
|
patches:
|
||||||
# Internal gateway patches
|
# Internal gateway patches
|
||||||
@@ -254,6 +257,24 @@ patches:
|
|||||||
kind: Gateway
|
kind: Gateway
|
||||||
name: gateway-internal
|
name: gateway-internal
|
||||||
path: searxng/gateway-patch.yaml
|
path: searxng/gateway-patch.yaml
|
||||||
|
- target:
|
||||||
|
group: gateway.networking.k8s.io
|
||||||
|
version: v1
|
||||||
|
kind: Gateway
|
||||||
|
name: gateway-internal
|
||||||
|
path: docuseal/gateway-patch.yaml
|
||||||
|
- target:
|
||||||
|
group: gateway.networking.k8s.io
|
||||||
|
version: v1
|
||||||
|
kind: Gateway
|
||||||
|
name: gateway-internal
|
||||||
|
path: affine/gateway-patch.yaml
|
||||||
|
- target:
|
||||||
|
group: gateway.networking.k8s.io
|
||||||
|
version: v1
|
||||||
|
kind: Gateway
|
||||||
|
name: gateway-internal
|
||||||
|
path: pelican/gateway-patch.yaml
|
||||||
|
|
||||||
# Public gateway patches
|
# Public gateway patches
|
||||||
- target:
|
- target:
|
||||||
|
|||||||
14
envoy-gateway/pelican/certificate.yaml
Normal file
14
envoy-gateway/pelican/certificate.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: pelican-tls
|
||||||
|
namespace: envoy-gateway
|
||||||
|
spec:
|
||||||
|
secretName: pelican-tls
|
||||||
|
privateKey:
|
||||||
|
rotationPolicy: Always
|
||||||
|
issuerRef:
|
||||||
|
name: azure-dns
|
||||||
|
kind: ClusterIssuer
|
||||||
|
dnsNames:
|
||||||
|
- pelican.jsme.be
|
||||||
19
envoy-gateway/pelican/gateway-patch.yaml
Normal file
19
envoy-gateway/pelican/gateway-patch.yaml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
- op: add
|
||||||
|
path: /spec/listeners/-
|
||||||
|
value:
|
||||||
|
name: pelican
|
||||||
|
protocol: HTTPS
|
||||||
|
port: 443
|
||||||
|
hostname: "pelican.jsme.be"
|
||||||
|
allowedRoutes:
|
||||||
|
namespaces:
|
||||||
|
from: Selector
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
kubernetes.io/metadata.name: pelican
|
||||||
|
tls:
|
||||||
|
mode: Terminate
|
||||||
|
certificateRefs:
|
||||||
|
- kind: Secret
|
||||||
|
name: pelican-tls
|
||||||
|
namespace: envoy-gateway
|
||||||
46
pelican/httproute.yaml
Normal file
46
pelican/httproute.yaml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: pelican-route
|
||||||
|
namespace: pelican
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: gateway-internal
|
||||||
|
namespace: envoy-gateway
|
||||||
|
sectionName: pelican
|
||||||
|
hostnames:
|
||||||
|
- "pelican.jsme.be"
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
|
filters:
|
||||||
|
- type: RequestHeaderModifier
|
||||||
|
requestHeaderModifier:
|
||||||
|
set:
|
||||||
|
- name: X-Forwarded-Host
|
||||||
|
value: "pelican.jsme.be"
|
||||||
|
- name: X-Forwarded-Proto
|
||||||
|
value: https
|
||||||
|
- type: ResponseHeaderModifier
|
||||||
|
responseHeaderModifier:
|
||||||
|
set:
|
||||||
|
- name: Strict-Transport-Security
|
||||||
|
value: "max-age=31536000; includeSubDomains"
|
||||||
|
- name: X-Content-Type-Options
|
||||||
|
value: nosniff
|
||||||
|
- name: X-Frame-Options
|
||||||
|
value: SAMEORIGIN
|
||||||
|
- name: Referrer-Policy
|
||||||
|
value: strict-origin-when-cross-origin
|
||||||
|
- name: Permissions-Policy
|
||||||
|
value: "camera=(), microphone=(), geolocation=(), payment=()"
|
||||||
|
backendRefs:
|
||||||
|
- name: pelican
|
||||||
|
port: 80
|
||||||
|
kind: Service
|
||||||
|
group: ""
|
||||||
|
weight: 1
|
||||||
18
pelican/pelican-endpointslice.yaml
Normal file
18
pelican/pelican-endpointslice.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: discovery.k8s.io/v1
|
||||||
|
kind: EndpointSlice
|
||||||
|
metadata:
|
||||||
|
name: pelican
|
||||||
|
namespace: pelican
|
||||||
|
labels:
|
||||||
|
kubernetes.io/service-name: pelican
|
||||||
|
addressType: IPv4
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
protocol: TCP
|
||||||
|
endpoints:
|
||||||
|
- addresses:
|
||||||
|
- "10.8.11.50"
|
||||||
|
conditions:
|
||||||
|
ready: true
|
||||||
|
serving: true
|
||||||
|
terminating: false
|
||||||
11
pelican/pelican-svc.yaml
Normal file
11
pelican/pelican-svc.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: pelican
|
||||||
|
namespace: pelican
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
type: ClusterIP
|
||||||
Reference in New Issue
Block a user