stack.basicstack.de/infrastructure/networking/reloader.yaml

123 lines
2.5 KiB
YAML
Raw Permalink Normal View History

---
# Stakater Reloader - Automatically restarts pods when their ConfigMaps or Secrets change
# This is essential for certificate renewal, as it ensures pods reload updated TLS certificates
# without manual intervention.
#
# Docs: https://github.com/stakater/Reloader
apiVersion: v1
kind: Namespace
metadata:
name: reloader
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: reloader
namespace: reloader
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: reloader
rules:
- apiGroups:
- ""
resources:
- secrets
- configmaps
verbs:
- list
- get
- watch
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- statefulsets
verbs:
- list
- get
- update
- patch
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: reloader
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: reloader
subjects:
- kind: ServiceAccount
name: reloader
namespace: reloader
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: reloader
namespace: reloader
labels:
app: reloader
spec:
replicas: 1
selector:
matchLabels:
app: reloader
template:
metadata:
labels:
app: reloader
spec:
serviceAccountName: reloader
containers:
- name: reloader
image: stakater/reloader:v1.0.79
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 9090
livenessProbe:
httpGet:
path: /live
port: http
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
readinessProbe:
httpGet:
path: /metrics
port: http
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 10m
memory: 32Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 65534
securityContext:
fsGroup: 65534