@@ -2,16 +2,30 @@ apiVersion: v1
22kind : Namespace
33metadata :
44 name : traefik
5+ labels :
6+ pod-security.kubernetes.io/enforce : restricted
7+ pod-security.kubernetes.io/audit : restricted
8+ pod-security.kubernetes.io/warn : restricted
59---
610apiVersion : v1
711kind : Namespace
812metadata :
913 name : registry
14+ labels :
15+ # hostpath overlays use a root chown initContainer; keep that exception
16+ # visible while enforcing the strongest compatible default.
17+ pod-security.kubernetes.io/enforce : baseline
18+ pod-security.kubernetes.io/audit : restricted
19+ pod-security.kubernetes.io/warn : restricted
1020---
1121apiVersion : v1
1222kind : Namespace
1323metadata :
1424 name : mcp-sentinel
25+ labels :
26+ pod-security.kubernetes.io/enforce : baseline
27+ pod-security.kubernetes.io/audit : restricted
28+ pod-security.kubernetes.io/warn : restricted
1529---
1630apiVersion : v1
1731kind : Namespace
@@ -214,11 +228,11 @@ spec:
214228 ports :
215229 - name : web
216230 port : 80
217- targetPort : 80
231+ targetPort : 8000
218232 protocol : TCP
219233 - name : websecure
220234 port : 443
221- targetPort : 443
235+ targetPort : 8443
222236 protocol : TCP
223237 selector :
224238 app : traefik
@@ -239,34 +253,40 @@ spec:
239253 app : traefik
240254 spec :
241255 serviceAccountName : traefik
256+ securityContext :
257+ seccompProfile :
258+ type : RuntimeDefault
242259 containers :
243260 - name : traefik
244261 image : traefik:v2.10
245262 securityContext :
246263 allowPrivilegeEscalation : false
247- readOnlyRootFilesystem : false
264+ readOnlyRootFilesystem : true
248265 runAsNonRoot : true
249266 runAsUser : 65534
250267 capabilities :
251268 drop :
252269 - ALL
253- add :
254- - NET_BIND_SERVICE
255270 args :
256271 - --providers.kubernetesingress=true
257272 - --providers.kubernetesingress.namespaces=registry,mcp-sentinel,mcp-servers,mcp-servers-org,mcp-servers-public
258- - --entrypoints.web.address=:80
273+ - --entrypoints.web.address=:8000
274+ - --entrypoints.web.forwardedHeaders.insecure=false
259275 - --entrypoints.web.http.redirections.entryPoint.to=websecure
260276 - --entrypoints.web.http.redirections.entryPoint.scheme=https
261- - --entrypoints.websecure.address=:443
277+ - --entrypoints.websecure.address=:8443
278+ - --entrypoints.websecure.forwardedHeaders.insecure=false
262279 - --entrypoints.websecure.http.tls=true
280+ - --entrypoints.traefik.address=:8080
281+ - --ping=true
282+ - --ping.entryPoint=traefik
263283 - --providers.file.filename=/etc/traefik/dynamic/dynamic.yml
264284 - --providers.file.watch=true
265285 ports :
266286 - name : web
267- containerPort : 80
287+ containerPort : 8000
268288 - name : websecure
269- containerPort : 443
289+ containerPort : 8443
270290 - name : admin
271291 containerPort : 8080
272292 volumeMounts :
@@ -280,6 +300,18 @@ spec:
280300 limits :
281301 cpu : 500m
282302 memory : 256Mi
303+ readinessProbe :
304+ httpGet :
305+ path : /ping
306+ port : admin
307+ initialDelaySeconds : 5
308+ periodSeconds : 10
309+ livenessProbe :
310+ httpGet :
311+ path : /ping
312+ port : admin
313+ initialDelaySeconds : 15
314+ periodSeconds : 20
283315 volumes :
284316 - name : traefik-dynamic
285317 configMap :
0 commit comments