-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathnginx-tailscale.yaml
118 lines (107 loc) · 3.3 KB
/
nginx-tailscale.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: ingress-nginx-tailscale
namespace: kube-system
spec:
interval: 5m
chart:
spec:
chart: ingress-nginx
version: 4.12.0
sourceRef:
kind: HelmRepository
name: ingress-nginx-charts
namespace: flux-system
interval: 5m
values:
controller:
replicaCount: 2
allowSnippetAnnotations: true
enableAnnotationValidations: true
updateStrategy:
type: RollingUpdate
service:
enabled: true
annotations:
tailscale.com/hostname: "nginx-tailscale"
type: LoadBalancer
loadBalancerClass: tailscale
externalTrafficPolicy: Local
publishService:
enabled: true
ingressClassResource:
name: nginx-tailscale
default: false
controllerValue: k8s.io/ingress-nginx-tailscale
admissionWebhooks:
objectSelector:
matchExpressions:
- key: ingress-class
operator: In
values:
- nginx-tailscale
config:
client-header-timeout: 120
client-body-buffer-size: 100M
client-body-timeout: 120
custom-http-errors: 400,401,403,404,500,502,503,504
enable-brotli: "true"
enable-ocsp: "true"
enable-real-ip: "true"
force-ssl-redirect: "true"
hide-headers: Server,X-Powered-By
hsts-max-age: 31449600
keep-alive: 120
keep-alive-requests: 10000
log-format-escape-json: "true"
log-format-upstream: >
{"time": "$time_iso8601", "remote_addr": "$proxy_protocol_addr",
"x_forwarded_for": "$proxy_add_x_forwarded_for", "request_id": "$req_id",
"remote_user": "$remote_user", "bytes_sent": $bytes_sent, "request_time": $request_time,
"status": $status, "vhost": "$host", "request_proto": "$server_protocol",
"path": "$uri", "request_query": "$args", "request_length": $request_length,
"duration": $request_time,"method": "$request_method", "http_referrer": "$http_referer",
"http_user_agent": "$http_user_agent"}
proxy-body-size: 0
proxy-buffer-size: "16k"
ssl-protocols: "TLSv1.3 TLSv1.2"
use-forwarded-headers: "true"
metrics:
enabled: true
serviceMonitor:
enabled: true
namespace: kube-system
namespaceSelector:
any: true
extraArgs:
default-ssl-certificate: "cert-manager/acme-crt-secret"
topologySpreadConstraints:
- maxSkew: 2
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/instance: ingress-nginx-tailscale
app.kubernetes.io/component: controller
resources:
requests:
cpu: 25m
memory: 500Mi
limits:
memory: 600Mi
defaultBackend:
enabled: true
image:
repository: ghcr.io/tarampampam/error-pages
tag: 3.3.1
extraEnvs:
- { name: TEMPLATE_NAME, value: orient }
- { name: SHOW_DETAILS, value: "false" }
resources:
requests:
memory: 250Mi
cpu: 25m
limits:
memory: 350Mi