---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: ingress-nginx
spec:
interval: 30m
chart:
chart: ingress-nginx
version: 4.7.2
sourceRef:
kind: HelmRepository
namespace: flux-system
values:
controller:
replicaCount: 3
hostPort:
enabled: true
ports:
http: 81
https: 444
updateStrategy:
type: Recreate
service:
type: LoadBalancer
annotations:
external-dns.alpha.kubernetes.io/hostname: "ingress.valinor.social"
io.cilium/lb-ipam-ips: "10.2.42.1"
externalTrafficPolicy: Local
publishService:
metrics:
serviceMonitor:
namespace: network
namespaceSelector:
any: true
ingressClassResource:
default: true
config:
client-header-timeout: 120
client-body-buffer-size: "100M"
client-body-timeout: 120
enable-brotli: "true"
enable-real-ip: "true"
use-proxy-protocol: "true"
hsts-max-age: "31449600"
keep-alive: 120
keep-alive-requests: 10000
proxy-body-size: 0
proxy-buffer-size: "16k"
ssl-protocols: "TLSv1.3 TLSv1.2"
use-forwarded-headers: "true"
# plugins: "crowdsec"
# lua-shared-dicts: "crowdsec_cache: 50m"
extraArgs:
default-ssl-certificate: "network/valinor-social-tls"
topologySpreadConstraints:
- maxSkew: 2
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/component: controller
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/component
operator: In
- controller
- key: app.kubernetes.io/instance
- ingress-nginx
resources:
requests:
cpu: 23m
memory: 381M
defaultBackend:
enabled: false