Files
omnex/deploy/daemonset-beszel.yml
T
Xor290 f407bc3dd0
ci-api / test (push) Successful in 25m0s
ci-web / test (push) Successful in 15m18s
chore: build
2026-08-19 15:05:08 +02:00

90 lines
2.8 KiB
YAML

# Applique aussi beszel-namespace.yml et beszel-agent-secret.yml (avant celui-ci).
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: beszel-agent
namespace: monitoring
labels:
app: beszel-agent
spec:
selector:
matchLabels:
app: beszel-agent
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
template:
metadata:
labels:
app: beszel-agent
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
# Niveau pod : s'applique à tous les containers (ici un seul).
securityContext:
runAsNonRoot: true
runAsUser: 101
runAsGroup: 101
fsGroup: 101
seccompProfile:
type: RuntimeDefault
containers:
- name: beszel-agent
image: henrygd/beszel-agent:latest
imagePullPolicy: Always
envFrom:
- secretRef:
name: beszel-agent-hub
env:
- name: LISTEN
value: "10002"
- name: SYSTEM_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
volumeMounts:
- name: data
mountPath: /var/lib/beszel-agent
# Filet de sécurité pour readOnlyRootFilesystem : couvre d'éventuelles
# écritures temporaires (non documentées) sans réouvrir tout le rootfs.
- name: tmp
mountPath: /tmp
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
cpu: 50m
memory: 32Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: [ALL]
# Inféré (pas de doc officielle confirmant l'absence d'écriture
# ailleurs) : le seul chemin persistant documenté par le projet
# est /var/lib/beszel-agent (déjà monté ci-dessous), ce qui
# suggère que c'est le seul état écrit sur disque (ex. clé hôte
# SSH). À VÉRIFIER après rollout (kubectl logs -n monitoring
# -l app=beszel-agent) — si le pod crash-loop ou que le Hub ne
# voit plus l'agent, repasser cette valeur à false.
readOnlyRootFilesystem: true
volumes:
- name: data
hostPath:
path: /var/lib/beszel-agent
type: DirectoryOrCreate
- name: tmp
emptyDir: {}
# - name: docker-sock
# hostPath:
# path: /var/run/docker.sock
# type: Socket