pelican: split wings into wings-mc and wings-ark domains
This commit is contained in:
@@ -39,7 +39,7 @@ spec:
|
|||||||
- name: Permissions-Policy
|
- name: Permissions-Policy
|
||||||
value: "camera=(), microphone=(), geolocation=(), payment=()"
|
value: "camera=(), microphone=(), geolocation=(), payment=()"
|
||||||
- name: Content-Security-Policy
|
- name: Content-Security-Policy
|
||||||
value: "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; img-src 'self' data: blob: https://gravatar.com https://www.gravatar.com; font-src 'self' data: https://cdnjs.cloudflare.com; connect-src 'self' https://wings.jsme.be wss://wings.jsme.be ws: wss:; worker-src blob:; frame-ancestors 'self'"
|
value: "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; img-src 'self' data: blob: https://gravatar.com https://www.gravatar.com; font-src 'self' data: https://cdnjs.cloudflare.com; connect-src 'self' https://wings-mc.jsme.be wss://wings-mc.jsme.be https://wings-ark.jsme.be wss://wings-ark.jsme.be ws: wss:; worker-src blob:; frame-ancestors 'self'"
|
||||||
backendRefs:
|
backendRefs:
|
||||||
- name: pelican
|
- name: pelican
|
||||||
port: 80
|
port: 80
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: discovery.k8s.io/v1
|
||||||
|
kind: EndpointSlice
|
||||||
|
metadata:
|
||||||
|
name: wings-ark
|
||||||
|
namespace: pelican
|
||||||
|
labels:
|
||||||
|
kubernetes.io/service-name: wings-ark
|
||||||
|
addressType: IPv4
|
||||||
|
ports:
|
||||||
|
- port: 8080
|
||||||
|
protocol: TCP
|
||||||
|
endpoints:
|
||||||
|
# PLACEHOLDER: replace with the ARK wings VM IP once it exists,
|
||||||
|
# then flip ready/serving to true
|
||||||
|
- addresses:
|
||||||
|
- "10.8.11.51"
|
||||||
|
conditions:
|
||||||
|
ready: false
|
||||||
|
serving: false
|
||||||
|
terminating: false
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: wings-ark-route
|
||||||
|
namespace: pelican
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: gateway-internal
|
||||||
|
namespace: envoy-gateway
|
||||||
|
sectionName: wings-ark
|
||||||
|
hostnames:
|
||||||
|
- "wings-ark.jsme.be"
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
|
backendRefs:
|
||||||
|
- name: wings-ark
|
||||||
|
port: 8080
|
||||||
|
kind: Service
|
||||||
|
group: ""
|
||||||
|
weight: 1
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: wings-ark
|
||||||
|
namespace: pelican
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 8080
|
||||||
|
targetPort: 8080
|
||||||
|
type: ClusterIP
|
||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
apiVersion: discovery.k8s.io/v1
|
apiVersion: discovery.k8s.io/v1
|
||||||
kind: EndpointSlice
|
kind: EndpointSlice
|
||||||
metadata:
|
metadata:
|
||||||
name: wings
|
name: wings-mc
|
||||||
namespace: pelican
|
namespace: pelican
|
||||||
labels:
|
labels:
|
||||||
kubernetes.io/service-name: wings
|
kubernetes.io/service-name: wings-mc
|
||||||
addressType: IPv4
|
addressType: IPv4
|
||||||
ports:
|
ports:
|
||||||
- port: 8080
|
- port: 8080
|
||||||
+4
-4
@@ -1,7 +1,7 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
kind: HTTPRoute
|
kind: HTTPRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: wings-route
|
name: wings-mc-route
|
||||||
namespace: pelican
|
namespace: pelican
|
||||||
spec:
|
spec:
|
||||||
parentRefs:
|
parentRefs:
|
||||||
@@ -9,16 +9,16 @@ spec:
|
|||||||
kind: Gateway
|
kind: Gateway
|
||||||
name: gateway-internal
|
name: gateway-internal
|
||||||
namespace: envoy-gateway
|
namespace: envoy-gateway
|
||||||
sectionName: wings
|
sectionName: wings-mc
|
||||||
hostnames:
|
hostnames:
|
||||||
- "wings.jsme.be"
|
- "wings-mc.jsme.be"
|
||||||
rules:
|
rules:
|
||||||
- matches:
|
- matches:
|
||||||
- path:
|
- path:
|
||||||
type: PathPrefix
|
type: PathPrefix
|
||||||
value: /
|
value: /
|
||||||
backendRefs:
|
backendRefs:
|
||||||
- name: wings
|
- name: wings-mc
|
||||||
port: 8080
|
port: 8080
|
||||||
kind: Service
|
kind: Service
|
||||||
group: ""
|
group: ""
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: wings
|
name: wings-mc
|
||||||
namespace: pelican
|
namespace: pelican
|
||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
@@ -2,9 +2,15 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
- envoy-gateway-namespace.yaml
|
||||||
- gateway.yaml
|
- gateway.yaml
|
||||||
- gateway-public.yaml
|
- gateway-public.yaml
|
||||||
|
|
||||||
|
# CrowdSec (public gateway hardening) — HELD pending enforcement-scope decision
|
||||||
|
# (EG v1.3.2 SecurityPolicy does not support sectionName; see it-tools-securitypolicy.yaml)
|
||||||
|
# - crowdsec/envoyproxy-public.yaml
|
||||||
|
# - crowdsec/it-tools-securitypolicy.yaml
|
||||||
|
|
||||||
# Policies
|
# Policies
|
||||||
- pelican/pelican-wings-clienttrafficpolicy.yaml
|
- pelican/pelican-wings-clienttrafficpolicy.yaml
|
||||||
- minio-aistor/minio-aistor-clienttrafficpolicy.yaml
|
- minio-aistor/minio-aistor-clienttrafficpolicy.yaml
|
||||||
@@ -46,7 +52,8 @@ resources:
|
|||||||
- searxng/searxng-certificate.yaml
|
- searxng/searxng-certificate.yaml
|
||||||
- affine/affine-certificate.yaml
|
- affine/affine-certificate.yaml
|
||||||
- pelican/pelican-certificate.yaml
|
- pelican/pelican-certificate.yaml
|
||||||
- pelican/pelican-wings-certificate.yaml
|
- pelican/pelican-wings-mc-certificate.yaml
|
||||||
|
- pelican/pelican-wings-ark-certificate.yaml
|
||||||
- outline/outline-certificate.yaml
|
- outline/outline-certificate.yaml
|
||||||
|
|
||||||
patches:
|
patches:
|
||||||
@@ -266,7 +273,13 @@ patches:
|
|||||||
version: v1
|
version: v1
|
||||||
kind: Gateway
|
kind: Gateway
|
||||||
name: gateway-internal
|
name: gateway-internal
|
||||||
path: pelican/pelican-wings-gateway-patch.yaml
|
path: pelican/pelican-wings-mc-gateway-patch.yaml
|
||||||
|
- target:
|
||||||
|
group: gateway.networking.k8s.io
|
||||||
|
version: v1
|
||||||
|
kind: Gateway
|
||||||
|
name: gateway-internal
|
||||||
|
path: pelican/pelican-wings-ark-gateway-patch.yaml
|
||||||
- target:
|
- target:
|
||||||
group: gateway.networking.k8s.io
|
group: gateway.networking.k8s.io
|
||||||
version: v1
|
version: v1
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: wings-ark-tls
|
||||||
|
namespace: envoy-gateway
|
||||||
|
spec:
|
||||||
|
secretName: wings-ark-tls
|
||||||
|
privateKey:
|
||||||
|
rotationPolicy: Always
|
||||||
|
issuerRef:
|
||||||
|
name: azure-dns
|
||||||
|
kind: ClusterIssuer
|
||||||
|
dnsNames:
|
||||||
|
- wings-ark.jsme.be
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
- op: add
|
||||||
|
path: /spec/listeners/-
|
||||||
|
value:
|
||||||
|
name: wings-ark
|
||||||
|
protocol: HTTPS
|
||||||
|
port: 443
|
||||||
|
hostname: "wings-ark.jsme.be"
|
||||||
|
allowedRoutes:
|
||||||
|
namespaces:
|
||||||
|
from: Selector
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
kubernetes.io/metadata.name: pelican
|
||||||
|
tls:
|
||||||
|
mode: Terminate
|
||||||
|
certificateRefs:
|
||||||
|
- kind: Secret
|
||||||
|
name: wings-ark-tls
|
||||||
|
namespace: envoy-gateway
|
||||||
@@ -8,7 +8,11 @@ spec:
|
|||||||
- group: gateway.networking.k8s.io
|
- group: gateway.networking.k8s.io
|
||||||
kind: Gateway
|
kind: Gateway
|
||||||
name: gateway-internal
|
name: gateway-internal
|
||||||
sectionName: wings
|
sectionName: wings-mc
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: gateway-internal
|
||||||
|
sectionName: wings-ark
|
||||||
tls:
|
tls:
|
||||||
# Wings only speaks HTTP/1.1; disabling h2 ALPN prevents Guzzle connection-reuse broken pipe
|
# Wings only speaks HTTP/1.1; disabling h2 ALPN prevents Guzzle connection-reuse broken pipe
|
||||||
alpnProtocols:
|
alpnProtocols:
|
||||||
|
|||||||
+3
-3
@@ -1,14 +1,14 @@
|
|||||||
apiVersion: cert-manager.io/v1
|
apiVersion: cert-manager.io/v1
|
||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: wings-tls
|
name: wings-mc-tls
|
||||||
namespace: envoy-gateway
|
namespace: envoy-gateway
|
||||||
spec:
|
spec:
|
||||||
secretName: wings-tls
|
secretName: wings-mc-tls
|
||||||
privateKey:
|
privateKey:
|
||||||
rotationPolicy: Always
|
rotationPolicy: Always
|
||||||
issuerRef:
|
issuerRef:
|
||||||
name: azure-dns
|
name: azure-dns
|
||||||
kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
dnsNames:
|
dnsNames:
|
||||||
- wings.jsme.be
|
- wings-mc.jsme.be
|
||||||
+3
-3
@@ -1,10 +1,10 @@
|
|||||||
- op: add
|
- op: add
|
||||||
path: /spec/listeners/-
|
path: /spec/listeners/-
|
||||||
value:
|
value:
|
||||||
name: wings
|
name: wings-mc
|
||||||
protocol: HTTPS
|
protocol: HTTPS
|
||||||
port: 443
|
port: 443
|
||||||
hostname: "wings.jsme.be"
|
hostname: "wings-mc.jsme.be"
|
||||||
allowedRoutes:
|
allowedRoutes:
|
||||||
namespaces:
|
namespaces:
|
||||||
from: Selector
|
from: Selector
|
||||||
@@ -15,5 +15,5 @@
|
|||||||
mode: Terminate
|
mode: Terminate
|
||||||
certificateRefs:
|
certificateRefs:
|
||||||
- kind: Secret
|
- kind: Secret
|
||||||
name: wings-tls
|
name: wings-mc-tls
|
||||||
namespace: envoy-gateway
|
namespace: envoy-gateway
|
||||||
Reference in New Issue
Block a user