infra/k8s/system/blocked-user-agents.yaml

51 lines
1.1 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: blocked-user-agents
namespace: kube-system
spec:
selector:
matchLabels:
app: blocked-user-agents
template:
metadata:
labels:
app: blocked-user-agents
spec:
containers:
- name: nginx
image: library/nginx:latest
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: blocked-user-agents
namespace: kube-system
spec:
selector:
app: blocked-user-agents
ports:
- port: 80
targetPort: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: blocked-user-agents
namespace: kube-system
spec:
entryPoints:
- websecure
routes:
- match: HeadersRegexp(`User-Agent`, `.*(meta-externalagent|ClaudeBot|Amazonbot|SemrushBot|Googlebot|YandexBot|Bytespider|GPTBot|Chrome/114.0.0.0|Chrome/56.0.8415.1887|Android 5.0|Android 6.0|Android 7.0|Android 8.0).*`)
kind: Rule
priority: 1000
services:
- name: blocked-user-agents
port: 80