74 lines
1.7 KiB
YAML
74 lines
1.7 KiB
YAML
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: user-engine-security
|
|
namespace: user-engine
|
|
spec:
|
|
chain:
|
|
middlewares:
|
|
- name: user-engine-rate-limit
|
|
- name: user-engine-headers
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: user-engine-rate-limit
|
|
namespace: user-engine
|
|
spec:
|
|
rateLimit:
|
|
average: 60
|
|
period: 1m
|
|
burst: 20
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: user-engine-headers
|
|
namespace: user-engine
|
|
spec:
|
|
headers:
|
|
stsSeconds: 31536000
|
|
stsIncludeSubdomains: true
|
|
contentTypeNosniff: true
|
|
frameDeny: true
|
|
referrerPolicy: no-referrer
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: user-engine
|
|
namespace: user-engine
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
traefik.ingress.kubernetes.io/router.middlewares: user-engine-user-engine-security@kubernetescrd
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: users.92-205-62-239.nip.io
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: user-engine
|
|
port: {number: 8080}
|
|
tls:
|
|
- secretName: user-engine-tls
|
|
hosts: [users.92-205-62-239.nip.io]
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: allow-acme-http01
|
|
namespace: user-engine
|
|
spec:
|
|
podSelector:
|
|
matchLabels:
|
|
acme.cert-manager.io/http01-solver: "true"
|
|
policyTypes: [Ingress]
|
|
ingress:
|
|
- from:
|
|
- namespaceSelector:
|
|
matchLabels: {kubernetes.io/metadata.name: kube-system}
|
|
ports: [{protocol: TCP, port: 8089}]
|