diff --git a/applications/pelican/pelican-wings-ark-httproute.yaml b/applications/pelican/pelican-wings-ark-httproute.yaml index b08c0e9..fc220dc 100644 --- a/applications/pelican/pelican-wings-ark-httproute.yaml +++ b/applications/pelican/pelican-wings-ark-httproute.yaml @@ -10,6 +10,11 @@ spec: name: gateway-internal namespace: envoy-gateway sectionName: wings-ark + - group: gateway.networking.k8s.io + kind: Gateway + name: gateway-public + namespace: envoy-gateway + sectionName: wings-ark hostnames: - "wings-ark.jsme.be" rules: diff --git a/applications/pelican/pelican-wings-mc-httproute.yaml b/applications/pelican/pelican-wings-mc-httproute.yaml index ac3434b..5707972 100644 --- a/applications/pelican/pelican-wings-mc-httproute.yaml +++ b/applications/pelican/pelican-wings-mc-httproute.yaml @@ -10,6 +10,11 @@ spec: name: gateway-internal namespace: envoy-gateway sectionName: wings-mc + - group: gateway.networking.k8s.io + kind: Gateway + name: gateway-public + namespace: envoy-gateway + sectionName: wings-mc hostnames: - "wings-mc.jsme.be" rules: diff --git a/infra/envoy-gateway/kustomization.yaml b/infra/envoy-gateway/kustomization.yaml index ecb5e98..f26816c 100644 --- a/infra/envoy-gateway/kustomization.yaml +++ b/infra/envoy-gateway/kustomization.yaml @@ -385,6 +385,20 @@ patches: kind: Gateway name: gateway-public path: pelican/pelican-gateway-public-patch.yaml + # wings must be public for the console websocket and file transfers: the + # browser talks to the node directly, never through the panel. + - target: + group: gateway.networking.k8s.io + version: v1 + kind: Gateway + name: gateway-public + path: pelican/pelican-wings-mc-gateway-public-patch.yaml + - target: + group: gateway.networking.k8s.io + version: v1 + kind: Gateway + name: gateway-public + path: pelican/pelican-wings-ark-gateway-public-patch.yaml # Uncomment to expose Grafana publicly — ensure Grafana auth is properly configured first # - target: # group: gateway.networking.k8s.io diff --git a/infra/envoy-gateway/pelican/pelican-wings-ark-gateway-public-patch.yaml b/infra/envoy-gateway/pelican/pelican-wings-ark-gateway-public-patch.yaml new file mode 100644 index 0000000..928d483 --- /dev/null +++ b/infra/envoy-gateway/pelican/pelican-wings-ark-gateway-public-patch.yaml @@ -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 diff --git a/infra/envoy-gateway/pelican/pelican-wings-clienttrafficpolicy.yaml b/infra/envoy-gateway/pelican/pelican-wings-clienttrafficpolicy.yaml index 14f1c07..267a50d 100644 --- a/infra/envoy-gateway/pelican/pelican-wings-clienttrafficpolicy.yaml +++ b/infra/envoy-gateway/pelican/pelican-wings-clienttrafficpolicy.yaml @@ -13,6 +13,14 @@ spec: kind: Gateway name: gateway-internal sectionName: wings-ark + - group: gateway.networking.k8s.io + kind: Gateway + name: gateway-public + sectionName: wings-mc + - group: gateway.networking.k8s.io + kind: Gateway + name: gateway-public + sectionName: wings-ark tls: # Wings only speaks HTTP/1.1; disabling h2 ALPN prevents Guzzle connection-reuse broken pipe alpnProtocols: diff --git a/infra/envoy-gateway/pelican/pelican-wings-mc-gateway-public-patch.yaml b/infra/envoy-gateway/pelican/pelican-wings-mc-gateway-public-patch.yaml new file mode 100644 index 0000000..c6de90b --- /dev/null +++ b/infra/envoy-gateway/pelican/pelican-wings-mc-gateway-public-patch.yaml @@ -0,0 +1,19 @@ +- op: add + path: /spec/listeners/- + value: + name: wings-mc + protocol: HTTPS + port: 443 + hostname: "wings-mc.jsme.be" + allowedRoutes: + namespaces: + from: Selector + selector: + matchLabels: + kubernetes.io/metadata.name: pelican + tls: + mode: Terminate + certificateRefs: + - kind: Secret + name: wings-mc-tls + namespace: envoy-gateway