Label Sync / Label Sync (push) Failing after 1m7s
E2E / reject-invalid (bad-bgp-asn) (push) Skipped
E2E / reject-invalid (bad-mac-address) (push) Skipped
E2E / reject-invalid (bad-repo-url) (push) Skipped
E2E / reject-invalid (bad-vlan-tag) (push) Skipped
E2E / reject-invalid (duplicate-gateway-addrs) (push) Skipped
E2E / reject-invalid (duplicate-node-names) (push) Skipped
E2E / reject-invalid (gateway-node-collision) (push) Skipped
E2E / reject-invalid (missing-dns-token) (push) Skipped
E2E / reject-invalid (nested-cidr-overlap) (push) Skipped
E2E / reject-invalid (node-addr-outside-cidr) (push) Skipped
E2E / reject-invalid (tunnel-without-dns) (push) Skipped
E2E / accept-valid (selfhosted) (push) Skipped
E2E / reject-invalid (missing-known-hosts) (push) Skipped
E2E / reject-invalid (missing-schematic) (push) Skipped
E2E / reject-invalid (partial-bgp) (push) Skipped
E2E / accept-valid (internal) (push) Skipped
E2E / reject-invalid (missing-external-gateway) (push) Skipped
E2E / reject-invalid (node-uses-gateway-addr) (push) Skipped
E2E / reject-invalid (non-canonical-cidr) (push) Skipped
E2E / accept-valid (private) (push) Skipped
E2E / accept-valid (single-node) (push) Skipped
E2E / reject-invalid (overlapping-cidrs) (push) Skipped
E2E / reject-invalid (reserved-node-name) (push) Skipped
E2E / reject-invalid (tiny-svc-cidr) (push) Skipped
E2E / validator-tests (push) Skipped
E2E / accept-valid (direct) (push) Skipped
E2E / accept-valid (multi-controller) (push) Skipped
E2E / accept-valid (no-webhook) (push) Skipped
E2E / accept-valid (public) (push) Skipped
175 lines
3.7 KiB
YAML
175 lines
3.7 KiB
YAML
---
|
|
apiVersion: gateway.envoyproxy.io/v1alpha1
|
|
kind: EnvoyProxy
|
|
metadata:
|
|
name: envoy
|
|
spec:
|
|
logging:
|
|
level:
|
|
default: info
|
|
provider:
|
|
type: Kubernetes
|
|
kubernetes:
|
|
envoyDeployment:
|
|
replicas: #{ 2 if nodes | length > 1 else 1 }#
|
|
container:
|
|
imageRepository: mirror.gcr.io/envoyproxy/envoy
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
limits:
|
|
memory: 1Gi
|
|
envoyService:
|
|
externalTrafficPolicy: Cluster
|
|
shutdown:
|
|
drainTimeout: 180s
|
|
telemetry:
|
|
metrics:
|
|
prometheus:
|
|
compression:
|
|
type: Zstd
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: GatewayClass
|
|
metadata:
|
|
name: envoy
|
|
spec:
|
|
controllerName: gateway.envoyproxy.io/gatewayclass-controller
|
|
parametersRef:
|
|
group: gateway.envoyproxy.io
|
|
kind: EnvoyProxy
|
|
name: envoy
|
|
namespace: network
|
|
#% if ingress.mode != 'none' %#
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: Gateway
|
|
metadata:
|
|
name: envoy-external
|
|
annotations:
|
|
external-dns.kubernetes.io/target: external.${SECRET_DOMAIN}
|
|
spec:
|
|
gatewayClassName: envoy
|
|
infrastructure:
|
|
annotations:
|
|
external-dns.kubernetes.io/hostname: external.${SECRET_DOMAIN}
|
|
lbipam.cilium.io/ips: "#{ gateways.external }#"
|
|
listeners:
|
|
- name: http
|
|
protocol: HTTP
|
|
port: 80
|
|
allowedRoutes:
|
|
namespaces:
|
|
from: Same
|
|
- name: https
|
|
protocol: HTTPS
|
|
port: 443
|
|
allowedRoutes:
|
|
namespaces:
|
|
from: All
|
|
tls:
|
|
certificateRefs:
|
|
- kind: Secret
|
|
name: ${SECRET_DOMAIN/./-}-production-tls
|
|
#% endif %#
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: Gateway
|
|
metadata:
|
|
name: envoy-internal
|
|
annotations:
|
|
external-dns.kubernetes.io/target: internal.${SECRET_DOMAIN}
|
|
spec:
|
|
gatewayClassName: envoy
|
|
infrastructure:
|
|
annotations:
|
|
external-dns.kubernetes.io/hostname: internal.${SECRET_DOMAIN}
|
|
lbipam.cilium.io/ips: "#{ gateways.internal }#"
|
|
listeners:
|
|
- name: http
|
|
protocol: HTTP
|
|
port: 80
|
|
allowedRoutes:
|
|
namespaces:
|
|
from: Same
|
|
- name: https
|
|
protocol: HTTPS
|
|
port: 443
|
|
allowedRoutes:
|
|
namespaces:
|
|
from: All
|
|
tls:
|
|
certificateRefs:
|
|
- kind: Secret
|
|
name: ${SECRET_DOMAIN/./-}-production-tls
|
|
---
|
|
apiVersion: gateway.envoyproxy.io/v1alpha1
|
|
kind: BackendTrafficPolicy
|
|
metadata:
|
|
name: envoy
|
|
spec:
|
|
compressor:
|
|
- type: Zstd
|
|
zstd: {}
|
|
- type: Brotli
|
|
brotli: {}
|
|
- type: Gzip
|
|
gzip: {}
|
|
retry:
|
|
numRetries: 2
|
|
retryOn:
|
|
triggers:
|
|
- reset
|
|
targetSelectors:
|
|
- group: gateway.networking.k8s.io
|
|
kind: Gateway
|
|
tcpKeepalive: {}
|
|
timeout:
|
|
http:
|
|
requestTimeout: 0s
|
|
---
|
|
apiVersion: gateway.envoyproxy.io/v1alpha1
|
|
kind: ClientTrafficPolicy
|
|
metadata:
|
|
name: envoy
|
|
spec:
|
|
clientIPDetection:
|
|
xForwardedFor:
|
|
trustedCIDRs:
|
|
- "#{ kubernetes.pod_cidr }#"
|
|
http2:
|
|
onInvalidMessage: TerminateStream
|
|
http3: {}
|
|
targetSelectors:
|
|
- group: gateway.networking.k8s.io
|
|
kind: Gateway
|
|
tcpKeepalive: {}
|
|
tls:
|
|
minVersion: "1.2"
|
|
alpnProtocols:
|
|
- h2
|
|
- http/1.1
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: HTTPRoute
|
|
metadata:
|
|
name: https-redirect
|
|
annotations:
|
|
external-dns.kubernetes.io/controller: none
|
|
spec:
|
|
parentRefs:
|
|
#% if ingress.mode != 'none' %#
|
|
- name: envoy-external
|
|
namespace: network
|
|
sectionName: http
|
|
#% endif %#
|
|
- name: envoy-internal
|
|
namespace: network
|
|
sectionName: http
|
|
rules:
|
|
- filters:
|
|
- type: RequestRedirect
|
|
requestRedirect:
|
|
scheme: https
|
|
statusCode: 301
|